Loading...
Searching...
No Matches
pressureInletOutletParSlipVelocityFvPatchVectorField.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::pressureInletOutletParSlipVelocityFvPatchVectorField
28
29Group
30 grpInletBoundaryConditions grpOutletBoundaryConditions
31
32Description
33 This velocity inlet/outlet boundary condition for pressure boundary where
34 the pressure is specified. A zero-gradient is applied for outflow (as
35 defined by the flux); for inflow, the velocity is obtained from the flux
36 with the specified inlet direction.
37
38 A slip condition is applied tangential to the patch.
39
40Usage
41 \table
42 Property | Description | Required | Default value
43 phi | flux field name | no | phi
44 rho | density field name | no | rho
45 \endtable
46
47 Example of the boundary condition specification:
48 \verbatim
49 <patchName>
50 {
51 type pressureInletOutletParSlipVelocity;
52 value uniform 0;
53 }
54 \endverbatim
55
56Note
57 Sign conventions:
58 - positive flux (out of domain): apply zero-gradient condition
59 - negative flux (into of domain): derive from the flux with specified
60 direction
61
62See also
63 Foam::mixedFvPatchVectorField
64 Foam::pressureDirectedInletOutletVelocityFvPatchVectorField
65
66SourceFiles
67 pressureInletOutletParSlipVelocityFvPatchVectorField.C
68
69\*---------------------------------------------------------------------------*/
70
71#ifndef pressureInletOutletParSlipVelocityFvPatchVectorField_H
72#define pressureInletOutletParSlipVelocityFvPatchVectorField_H
73
74#include "fvPatchFields.H"
75#include "mixedFvPatchFields.H"
76
77// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
78
79namespace Foam
80{
81
82/*---------------------------------------------------------------------------*\
83 Class pressureInletOutletParSlipVelocityFvPatchVectorField Declaration
84\*---------------------------------------------------------------------------*/
85
87:
88 public mixedFvPatchVectorField
89{
90 // Private data
91
92 //- Flux field name
93 word phiName_;
94
95 //- Density field name
96 word rhoName_;
97
98
99public:
100
101 //- Runtime type information
102 TypeName("pressureInletOutletParSlipVelocity");
103
104
105 // Constructors
106
107 //- Construct from patch and internal field
109 (
110 const fvPatch&,
112 );
113
114 //- Construct by mapping given
115 // pressureInletOutletParSlipVelocityFvPatchVectorField
116 // onto a new patch
120 const fvPatch&,
122 const fvPatchFieldMapper&
123 );
124
125 //- Construct from patch, internal field and dictionary
127 (
128 const fvPatch&,
130 const dictionary&
131 );
132
133 //- Construct as copy
135 (
137 );
138
139 //- Construct as copy setting internal field reference
141 (
144 );
145
146 //- Return a clone
147 virtual tmp<fvPatchField<vector>> clone() const
148 {
149 return fvPatchField<vector>::Clone(*this);
150 }
151
152 //- Clone with an internal field reference
154 (
156 ) const
157 {
158 return fvPatchField<vector>::Clone(*this, iF);
159 }
160
161
162 // Member Functions
163
164 //- True: this patch field is altered by assignment
165 virtual bool assignable() const { return true; }
166
167
168 // Access
169
170 //- Return the name of rho
171 const word& rhoName() const
172 {
173 return rhoName_;
174 }
175
176 //- Return reference to the name of rho to allow adjustment
177 word& rhoName()
178 {
179 return rhoName_;
180 }
181
182 //- Return the name of phi
183 const word& phiName() const
185 return phiName_;
186 }
187
188 //- Return reference to the name of phi to allow adjustment
189 word& phiName()
190 {
191 return phiName_;
192 }
193
194
195 //- Update the coefficients associated with the patch field
196 virtual void updateCoeffs();
197
198 //- Write
199 virtual void write(Ostream&) const;
200
201
202 // Member operators
203
204 virtual void operator=(const fvPatchField<vector>& pvf);
205};
207
208// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
209
210} // End namespace Foam
211
212// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
213
214#endif
215
216// ************************************************************************* //
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/outlet boundary condition for pressure boundary where the pressure is specified....
TypeName("pressureInletOutletParSlipVelocity")
Runtime type information.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
pressureInletOutletParSlipVelocityFvPatchVectorField(const fvPatch &, const DimensionedField< vector, volMesh > &)
Construct from patch and internal field.
virtual tmp< fvPatchField< vector > > clone(const DimensionedField< vector, volMesh > &iF) const
Clone with an internal field reference.
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.
runTime write()
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition typeInfo.H:68