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::pressureInletUniformVelocityFvPatchVectorField
28 Velocity inlet boundary condition for patches where the pressure is
29 specified. The uniform inflow velocity is obtained by averaging the flux
30 over the patch and apply it in the direction normal to the patch faces.
33 pressureInletUniformVelocityFvPatchVectorField.C
35 \*---------------------------------------------------------------------------*/
37 #ifndef pressureInletUniformVelocityFvPatchVectorField_H
38 #define pressureInletUniformVelocityFvPatchVectorField_H
40 #include "pressureInletVelocityFvPatchVectorField.H"
42 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
47 /*---------------------------------------------------------------------------*\
48 Class pressureInletUniformVelocityFvPatch Declaration
49 \*---------------------------------------------------------------------------*/
51 class pressureInletUniformVelocityFvPatchVectorField
53 public pressureInletVelocityFvPatchVectorField
58 //- Runtime type information
59 TypeName("pressureInletUniformVelocity");
64 //- Construct from patch and internal field
65 pressureInletUniformVelocityFvPatchVectorField
68 const DimensionedField<vector, volMesh>&
71 //- Construct from patch, internal field and dictionary
72 pressureInletUniformVelocityFvPatchVectorField
75 const DimensionedField<vector, volMesh>&,
79 //- Construct by mapping given
80 // pressureInletUniformVelocityFvPatchVectorField onto a new patch
81 pressureInletUniformVelocityFvPatchVectorField
83 const pressureInletUniformVelocityFvPatchVectorField&,
85 const DimensionedField<vector, volMesh>&,
86 const fvPatchFieldMapper&
90 pressureInletUniformVelocityFvPatchVectorField
92 const pressureInletUniformVelocityFvPatchVectorField&
95 //- Construct and return a clone
96 virtual tmp<fvPatchVectorField> clone() const
98 return tmp<fvPatchVectorField>
100 new pressureInletUniformVelocityFvPatchVectorField(*this)
104 //- Construct as copy setting internal field reference
105 pressureInletUniformVelocityFvPatchVectorField
107 const pressureInletUniformVelocityFvPatchVectorField&,
108 const DimensionedField<vector, volMesh>&
111 //- Construct and return a clone setting internal field reference
112 virtual tmp<fvPatchVectorField> clone
114 const DimensionedField<vector, volMesh>& iF
117 return tmp<fvPatchVectorField>
119 new pressureInletUniformVelocityFvPatchVectorField(*this, iF)
126 //- Update the coefficients associated with the patch field
127 virtual void updateCoeffs();
132 virtual void operator=(const fvPatchField<vector>& pvf);
136 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
138 } // End namespace Foam
140 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
144 // ************************************************************************* //