Loading...
Searching...
No Matches
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>
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");
99
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 as copy setting internal field reference
136 (
139 );
140
141 //- Return a clone
142 virtual tmp<fvPatchField<Type>> clone() const
143 {
144 return fvPatchField<Type>::Clone(*this);
145 }
146
147 //- Clone with an internal field reference
149 (
151 ) const
152 {
153 return fvPatchField<Type>::Clone(*this, iF);
154 }
155
156
157 // Member functions
158
159 //- Update the coefficients associated with the patch field
160 virtual void updateCoeffs();
161
162 //- Write
163 virtual void write(Ostream&) const;
164};
165
166
167// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
168
169} // End namespace Foam
170
171// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
172
173#ifdef NoRepository
175#endif
176
177// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
178
179#endif
180
181// ************************************************************************* //
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
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition autoPtr.H:65
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition dictionary.H:133
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.
fixedMeanOutletInletFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
virtual tmp< fvPatchField< Type > > clone() const
Return a clone.
virtual tmp< fvPatchField< Type > > clone(const DimensionedField< Type, volMesh > &iF) const
Clone with an internal field reference.
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 generic inflow condition, with specified outflow for the case of r...
outletInletFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
A class for managing temporary objects.
Definition tmp.H:75
Namespace for OpenFOAM.
runTime write()
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition typeInfo.H:68