BUG: UListIO: byteSize overflowing on really big faceLists
[OpenFOAM-2.0.x.git] / src / finiteVolume / fields / fvPatchFields / derived / pressureInletUniformVelocity / pressureInletUniformVelocityFvPatchVectorField.H
blob69c1d54c563ea9d84f84aa04489999252810e283
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
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
19     for more details.
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/>.
24 Class
25     Foam::pressureInletUniformVelocityFvPatchVectorField
27 Description
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.
32 SourceFiles
33     pressureInletUniformVelocityFvPatchVectorField.C
35 \*---------------------------------------------------------------------------*/
37 #ifndef pressureInletUniformVelocityFvPatchVectorField_H
38 #define pressureInletUniformVelocityFvPatchVectorField_H
40 #include "pressureInletVelocityFvPatchVectorField.H"
42 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
44 namespace Foam
47 /*---------------------------------------------------------------------------*\
48              Class pressureInletUniformVelocityFvPatch Declaration
49 \*---------------------------------------------------------------------------*/
51 class pressureInletUniformVelocityFvPatchVectorField
53     public pressureInletVelocityFvPatchVectorField
56 public:
58     //- Runtime type information
59     TypeName("pressureInletUniformVelocity");
62     // Constructors
64         //- Construct from patch and internal field
65         pressureInletUniformVelocityFvPatchVectorField
66         (
67             const fvPatch&,
68             const DimensionedField<vector, volMesh>&
69         );
71         //- Construct from patch, internal field and dictionary
72         pressureInletUniformVelocityFvPatchVectorField
73         (
74             const fvPatch&,
75             const DimensionedField<vector, volMesh>&,
76             const dictionary&
77         );
79         //- Construct by mapping given
80         //  pressureInletUniformVelocityFvPatchVectorField onto a new patch
81         pressureInletUniformVelocityFvPatchVectorField
82         (
83             const pressureInletUniformVelocityFvPatchVectorField&,
84             const fvPatch&,
85             const DimensionedField<vector, volMesh>&,
86             const fvPatchFieldMapper&
87         );
89         //- Construct as copy
90         pressureInletUniformVelocityFvPatchVectorField
91         (
92             const pressureInletUniformVelocityFvPatchVectorField&
93         );
95         //- Construct and return a clone
96         virtual tmp<fvPatchVectorField> clone() const
97         {
98             return tmp<fvPatchVectorField>
99             (
100                 new pressureInletUniformVelocityFvPatchVectorField(*this)
101             );
102         }
104         //- Construct as copy setting internal field reference
105         pressureInletUniformVelocityFvPatchVectorField
106         (
107             const pressureInletUniformVelocityFvPatchVectorField&,
108             const DimensionedField<vector, volMesh>&
109         );
111         //- Construct and return a clone setting internal field reference
112         virtual tmp<fvPatchVectorField> clone
113         (
114             const DimensionedField<vector, volMesh>& iF
115         ) const
116         {
117             return tmp<fvPatchVectorField>
118             (
119                 new pressureInletUniformVelocityFvPatchVectorField(*this, iF)
120             );
121         }
124     // Member functions
126         //- Update the coefficients associated with the patch field
127         virtual void updateCoeffs();
130     // Member operators
132         virtual void operator=(const fvPatchField<vector>& pvf);
136 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
138 } // End namespace Foam
140 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
142 #endif
144 // ************************************************************************* //