1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
7 -------------------------------------------------------------------------------
9 This file is part of OpenFOAM.
11 OpenFOAM is free software: you can redistribute it and/or modify it
12 under the terms of the GNU General Public License as published by
13 the Free Software Foundation, either version 3 of the License, or
14 (at your option) any later version.
16 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 You should have received a copy of the GNU General Public License
22 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 Foam::pressureNormalInletOutletVelocityFvPatchVectorField
28 Velocity inlet/outlet boundary condition for patches where the pressure is
29 specified. zero-gradient is applied for outflow (as defined by the flux)
30 and for inflow the velocity is obtained from the flux with a direction
31 normal to the patch faces.
34 pressureNormalInletOutletVelocityFvPatchVectorField.C
36 \*---------------------------------------------------------------------------*/
38 #ifndef pressureNormalInletOutletVelocityFvPatchVectorField_H
39 #define pressureNormalInletOutletVelocityFvPatchVectorField_H
41 #include "fvPatchFields.H"
42 #include "mixedFvPatchFields.H"
44 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
49 /*---------------------------------------------------------------------------*\
50 Class pressureNormalInletOutletVelocityFvPatch Declaration
51 \*---------------------------------------------------------------------------*/
53 class pressureNormalInletOutletVelocityFvPatchVectorField
55 public mixedFvPatchVectorField
65 //- Runtime type information
66 TypeName("pressureNormalInletOutletVelocity");
71 //- Construct from patch and internal field
72 pressureNormalInletOutletVelocityFvPatchVectorField
75 const DimensionedField<vector, volMesh>&
78 //- Construct from patch, internal field and dictionary
79 pressureNormalInletOutletVelocityFvPatchVectorField
82 const DimensionedField<vector, volMesh>&,
86 //- Construct by mapping given
87 // pressureNormalInletOutletVelocityFvPatchVectorField
89 pressureNormalInletOutletVelocityFvPatchVectorField
91 const pressureNormalInletOutletVelocityFvPatchVectorField&,
93 const DimensionedField<vector, volMesh>&,
94 const fvPatchFieldMapper&
98 pressureNormalInletOutletVelocityFvPatchVectorField
100 const pressureNormalInletOutletVelocityFvPatchVectorField&
103 //- Construct and return a clone
104 virtual tmp<fvPatchVectorField> clone() const
106 return tmp<fvPatchVectorField>
108 new pressureNormalInletOutletVelocityFvPatchVectorField
115 //- Construct as copy setting internal field reference
116 pressureNormalInletOutletVelocityFvPatchVectorField
118 const pressureNormalInletOutletVelocityFvPatchVectorField&,
119 const DimensionedField<vector, volMesh>&
122 //- Construct and return a clone setting internal field reference
123 virtual tmp<fvPatchVectorField> clone
125 const DimensionedField<vector, volMesh>& iF
128 return tmp<fvPatchVectorField>
130 new pressureNormalInletOutletVelocityFvPatchVectorField
143 //- Return the name of rho
144 const word& rhoName() const
149 //- Return reference to the name of rho to allow adjustment
155 //- Return the name of phi
156 const word& phiName() const
162 //- Return reference to the name of phi to allow adjustment
169 //- Update the coefficients associated with the patch field
170 virtual void updateCoeffs();
173 virtual void write(Ostream&) const;
178 virtual void operator=(const fvPatchField<vector>& pvf);
182 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
184 } // End namespace Foam
186 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
190 // ************************************************************************* //