fixedMeanOutletInletFvPatchField.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) 2018 OpenFOAM Foundation
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::fixedMeanOutletInletFvPatchField
28
29Group
30 grpInletBoundaryConditions
31
32Description
33 This boundary condition extrapolates field to the patch using the near-cell
34 values and adjusts the distribution to match the specified, optionally
35 time-varying, mean value. This extrapolated field is applied as a
36 fixedValue for outflow faces but zeroGradient is applied to inflow faces.
37
38 This boundary condition can be applied to pressure when inletOutlet is
39 applied to the velocity so that a zeroGradient condition is applied to the
40 pressure at inflow faces where the velocity is specified to avoid an
41 unphysical over-specification of the set of boundary conditions.
42
43Usage
44 \table
45 Property | Description | Required | Default value
46 meanValue | mean value Function1 | yes |
47 phi | Flux field name | no | phi
48 \endtable
49
50 Example of the boundary condition specification:
51 \verbatim
52 <patchName>
53 {
54 type fixedMeanOutletInlet;
55 meanValue 1.0;
56 }
57 \endverbatim
58
59See also
60 Foam::fixedMeanFvPatchField
61 Foam::outletInletFvPatchField
62 Foam::Function1Types
63
64SourceFiles
65 fixedMeanOutletInletFvPatchField.C
66
67\*---------------------------------------------------------------------------*/
68
69#ifndef fixedMeanOutletInletFvPatchField_H
70#define fixedMeanOutletInletFvPatchField_H
71
73#include "Function1.H"
74
75// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
76
77namespace Foam
78{
79
80/*---------------------------------------------------------------------------*\
81 Class fixedMeanOutletInletFvPatchField Declaration
82\*---------------------------------------------------------------------------*/
83
84template<class Type>
85class fixedMeanOutletInletFvPatchField
86:
87 public outletInletFvPatchField<Type>
88{
89 // Private data
90
91 //- MeanValue value the field is adjusted to maintain
92 autoPtr<Function1<Type>> meanValue_;
93
94
95public:
96
97 //- Runtime type information
98 TypeName("fixedMeanOutletInlet");
100
101 // Constructors
102
103 //- Construct from patch and internal field
105 (
106 const fvPatch&,
108 );
109
110 //- Construct from patch, internal field and dictionary
113 const fvPatch&,
115 const dictionary&
116 );
117
118 //- Construct by mapping given fixedMeanOutletInletFvPatchField
119 // onto a new patch
121 (
123 const fvPatch&,
125 const fvPatchFieldMapper&
126 );
127
128 //- Construct as copy
130 (
132 );
133
134 //- Construct and return a clone
135 virtual tmp<fvPatchField<Type>> clone() const
136 {
138 (
140 );
141 }
142
143 //- Construct as copy setting internal field reference
145 (
148 );
150 //- Construct and return a clone setting internal field reference
152 (
154 ) const
155 {
157 (
159 );
160 }
161
162
163 // Member functions
164
165 //- Update the coefficients associated with the patch field
166 virtual void updateCoeffs();
167
168 //- Write
169 virtual void write(Ostream&) const;
170};
171
172
173// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
174
175} // End namespace Foam
176
177// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
178
179#ifdef NoRepository
181#endif
182
183// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
184
185#endif
186
187// ************************************************************************* //
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:62
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: autoPtr.H:66
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
This boundary condition extrapolates field to the patch using the near-cell values and adjusts the di...
TypeName("fixedMeanOutletInlet")
Runtime type information.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
virtual tmp< fvPatchField< Type > > clone() const
Construct and return a clone.
virtual tmp< fvPatchField< Type > > clone(const DimensionedField< Type, volMesh > &iF) const
Construct and return a clone setting internal field reference.
A FieldMapper for finite-volume patch fields.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:71
This boundary condition provides a generic inflow condition, with specified outflow for the case of r...
A class for managing temporary objects.
Definition: tmp.H:65
Namespace for OpenFOAM.
runTime write()
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73