Loading...
Searching...
No Matches
exprMixedFvPatchField.H
Go to the documentation of this file.
1/*---------------------------------------------------------------------------*\
2 ========= |
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4 \\ / O peration |
5 \\ / A nd | www.openfoam.com
6 \\/ M anipulation |
7-------------------------------------------------------------------------------
8 Copyright (C) 2019-2021 OpenCFD Ltd.
9-------------------------------------------------------------------------------
10License
11 This file is part of OpenFOAM.
12
13 OpenFOAM is free software: you can redistribute it and/or modify it
14 under the terms of the GNU General Public License as published by
15 the Free Software Foundation, either version 3 of the License, or
16 (at your option) any later version.
17
18 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 for more details.
22
23 You should have received a copy of the GNU General Public License
24 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25
26Class
27 Foam::exprMixedFvPatchField
28
29Description
30 A mixed boundary condition with expressions.
31
32Usage
33 \table
34 Property | Description | Required | Default
35 valueExpr | expression for uniformValue | partly | 0
36 gradientExpr | expression for uniformGradient | partly | 0
37 fractionExpr | expression for valueFraction | partly | depends
38 value | initial field value | optional |
39 \endtable
40
41Note
42 The \c value entry (optional) is used for the initial values.
43 Otherwise uses some heuristics of other entries
44 (not properly documented now since this boundary condition is deprecated).
45
46 This boundary condition is deprecated in favour of
47 Foam::uniformMixedFvPatchField,
48 Foam::uniformFixedValueFvPatchField,
49 Foam::uniformFixedGradientFvPatchField
50 with expression entries.
51
52SourceFiles
53 exprMixedFvPatchField.C
54
55\*---------------------------------------------------------------------------*/
56
57#ifndef FoamDeprecated_exprMixedFvPatchField_H
58#define FoamDeprecated_exprMixedFvPatchField_H
59
60#include "mixedFvPatchField.H"
61#include "patchExprFieldBase.H"
62#include "patchExprDriver.H"
63
64// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
65
66namespace Foam
67{
68
69/*---------------------------------------------------------------------------*\
70 Class exprMixedFvPatchField Declaration
71\*---------------------------------------------------------------------------*/
72
73template<class Type>
75:
76 public mixedFvPatchField<Type>,
78{
79 //- The parent boundary condition type
80 typedef mixedFvPatchField<Type> parent_bctype;
81
82
83protected:
84
85 // Protected Data
86
87 //- Dictionary contents for the boundary condition
89
90 //- The expression driver
91 expressions::patchExpr::parseDriver driver_;
92
93
94 // Protected Member Functions
95
96 //- Set debug ON if "debug" is enabled
97 void setDebug();
98
99
100public:
101
102 //- Runtime type information
103 TypeName("exprMixed");
104
105
106 // Constructors
107
108 //- Construct from patch and internal field
110 (
111 const fvPatch& p,
113 );
114
115 //- Construct from patch, internal field and dictionary
118 const fvPatch&,
120 const dictionary& dict
121 );
122
123 //- Construct by mapping onto a new patch
125 (
127 const fvPatch&,
129 const fvPatchFieldMapper&
130 );
131
132 //- Construct as copy
134 (
136 );
137
138 //- Construct as copy setting internal field reference
140 (
143 );
144
145 //- Return a clone
146 virtual tmp<fvPatchField<Type>> clone() const
147 {
148 return fvPatchField<Type>::Clone(*this);
149 }
150
151 //- Clone with an internal field reference
153 (
155 ) const
156 {
157 return fvPatchField<Type>::Clone(*this, iF);
158 }
159
160
161 // Member Functions
162
163 //- Update the coefficients associated with the patch field
164 virtual void updateCoeffs();
165
166 //- Write
167 virtual void write(Ostream& os) const;
168};
169
170// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
171
172} // End namespace Foam
173
174// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
175
176#ifdef NoRepository
177 #include "exprMixedFvPatchField.C"
178#endif
179
180// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
181
182#endif
183
184// ************************************************************************* //
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition Ostream.H:59
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition dictionary.H:133
A mixed boundary condition with expressions.
TypeName("exprMixed")
Runtime type information.
dictionary dict_
Dictionary contents for the boundary condition.
expressions::patchExpr::parseDriver driver_
The expression driver.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
void setDebug()
Set debug ON if "debug" is enabled.
virtual tmp< fvPatchField< Type > > clone() const
Return a clone.
exprMixedFvPatchField(const fvPatch &p, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
virtual tmp< fvPatchField< Type > > clone(const DimensionedField< Type, volMesh > &iF) const
Clone with an internal field reference.
Base class for managing patches with expressions. The expected input supports value,...
A FieldMapper for finite-volume patch fields.
static tmp< fvPatchField< Type > > Clone(const DerivedPatchField &pf, Args &&... args)
Clone a patch field, optionally with internal field reference etc.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition fvPatch.H:71
This boundary condition provides a base class for 'mixed' type boundary conditions,...
mixedFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
A class for managing temporary objects.
Definition tmp.H:75
volScalarField & p
OBJstream os(runTime.globalPath()/outputName)
Namespace for OpenFOAM.
runTime write()
dictionary dict
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition typeInfo.H:68