Loading...
Searching...
No Matches
pressureDirectedInletVelocityFvPatchVectorField.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) 2011-2016 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::pressureDirectedInletVelocityFvPatchVectorField
28
29Group
30 grpInletBoundaryConditions
31
32Description
33 This velocity inlet boundary condition is applied to patches where the
34 pressure is specified. The inflow velocity is obtained from the flux with
35 the specified inlet direction" direction.
36
37Usage
38 \table
39 Property | Description | Required | Default value
40 phi | flux field name | no | phi
41 rho | density field name | no | rho
42 inletDirection | inlet direction per patch face | yes |
43 \endtable
44
45 Example of the boundary condition specification:
46 \verbatim
47 <patchName>
48 {
49 type pressureDirectedInletVelocity;
50 phi phi;
51 rho rho;
52 inletDirection uniform (1 0 0);
53 value uniform 0;
54 }
55 \endverbatim
56
57Note
58 If reverse flow is possible or expected use the
59 pressureDirectedInletOutletVelocityFvPatchVectorField condition instead.
60
61
62See also
63 Foam::fixedValueFvPatchField
64 Foam::pressureDirectedInletOutletVelocityFvPatchVectorField
65
66SourceFiles
67 pressureDirectedInletVelocityFvPatchVectorField.C
68
69\*---------------------------------------------------------------------------*/
70
71#ifndef pressureDirectedInletVelocityFvPatchVectorField_H
72#define pressureDirectedInletVelocityFvPatchVectorField_H
73
74#include "fvPatchFields.H"
76
77// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
78
79namespace Foam
80{
81
82/*---------------------------------------------------------------------------*\
83 Class pressureDirectedInletVelocityFvPatchVectorField Declaration
84\*---------------------------------------------------------------------------*/
85
87:
88 public fixedValueFvPatchVectorField
89{
90 // Private data
91
92 //- Flux field name
93 word phiName_;
94
95 //- Density field name
96 word rhoName_;
97
98 //- Inlet direction
99 vectorField inletDir_;
100
102public:
103
104 //- Runtime type information
105 TypeName("pressureDirectedInletVelocity");
106
107
108 // Constructors
109
110 //- Construct from patch and internal field
112 (
113 const fvPatch&,
115 );
116
117 //- Construct from patch, internal field and dictionary
119 (
120 const fvPatch&,
122 const dictionary&
123 );
124
125 //- Construct by mapping given
126 // pressureDirectedInletVelocityFvPatchVectorField
127 // onto a new patch
129 (
131 const fvPatch&,
133 const fvPatchFieldMapper&
134 );
135
136 //- Construct as copy
138 (
140 );
141
142 //- Construct as copy setting internal field reference
144 (
147 );
148
149 //- Return a clone
150 virtual tmp<fvPatchField<vector>> clone() const
151 {
152 return fvPatchField<vector>::Clone(*this);
153 }
154
155 //- Clone with an internal field reference
157 (
159 ) const
160 {
161 return fvPatchField<vector>::Clone(*this, iF);
162 }
163
164
165 // Member Functions
166
167 //- True: this patch field is altered by assignment
168 virtual bool assignable() const { return true; }
169
170
171 // Access
172
173 //- Return the name of rho
174 const word& rhoName() const
175 {
176 return rhoName_;
177 }
178
179 //- Return reference to the name of rho to allow adjustment
180 word& rhoName()
181 {
182 return rhoName_;
183 }
184
185 //- Return the name of phi
186 const word& phiName() const
187 {
188 return phiName_;
189 }
190
191 //- Return reference to the name of phi to allow adjustment
192 word& phiName()
193 {
194 return phiName_;
195 }
196
197
198 // Mapping functions
199
200 //- Map (and resize as needed) from self given a mapping object
201 virtual void autoMap
202 (
203 const fvPatchFieldMapper&
204 );
205
206 //- Reverse map the given fvPatchField onto this fvPatchField
207 virtual void rmap
209 const fvPatchVectorField&,
210 const labelList&
211 );
212
213
214 //- Update the coefficients associated with the patch field
215 virtual void updateCoeffs();
217 //- Write
218 virtual void write(Ostream&) const;
219
220
221 // Member operators
222
223 virtual void operator=(const fvPatchField<vector>& pvf);
225
226
227// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
228
229} // End namespace Foam
230
231// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
233#endif
234
235// ************************************************************************* //
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 FieldMapper for finite-volume patch fields.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
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 velocity inlet boundary condition is applied to patches where the pressure is specified....
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
word & phiName()
Return reference to the name of phi to allow adjustment.
TypeName("pressureDirectedInletVelocity")
Runtime type information.
virtual void rmap(const fvPatchVectorField &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
word & rhoName()
Return reference to the name of rho to allow adjustment.
virtual tmp< fvPatchField< vector > > clone() const
Return a clone.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
virtual tmp< fvPatchField< vector > > clone(const DimensionedField< vector, volMesh > &iF) const
Clone with an internal field reference.
pressureDirectedInletVelocityFvPatchVectorField(const fvPatch &, const DimensionedField< vector, volMesh > &)
Construct from patch and internal field.
virtual bool assignable() const
True: this patch field is altered by assignment.
A class for managing temporary objects.
Definition tmp.H:75
A class for handling words, derived from Foam::string.
Definition word.H:66
Namespace for OpenFOAM.
List< label > labelList
A List of labels.
Definition List.H:62
Field< vector > vectorField
Specialisation of Field<T> for vector.
fvPatchField< vector > fvPatchVectorField
runTime write()
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition typeInfo.H:68