Loading...
Searching...
No Matches
variableHeightFlowRateInletVelocityFvPatchVectorField.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::variableHeightFlowRateInletVelocityFvPatchVectorField
28
29Group
30 grpInletBoundaryConditions
31
32Description
33 This boundary condition provides a velocity boundary condition for
34 multphase flow based on a user-specified volumetric flow rate.
35
36 The flow rate is made proportional to the phase fraction alpha at each
37 face of the patch and alpha is ensured to be bound between 0 and 1.
38
39Usage
40 \table
41 Property | Description | Required | Default value
42 flowRate | volumetric flow rate [m3/s] | yes |
43 alpha | phase-fraction field | yes |
44 \endtable
45
46 Example of the boundary condition specification:
47 \verbatim
48 <patchName>
49 {
50 type variableHeightFlowRateInletVelocity;
51 flowRate 0.2;
52 alpha alpha.water;
53 value uniform (0 0 0); // placeholder
54 }
55 \endverbatim
56
57 The \c flowRate entry is a \c Function1 of time, see Foam::Function1Types.
58
59Note
60 - the value is positive into the domain
61 - may not work correctly for transonic inlets
62 - strange behaviour with potentialFoam since the momentum equation is
63 not solved
64
65See also
66 Foam::fixedValueFvPatchField
67 Foam::Function1Types
68
69SourceFiles
70 variableHeightFlowRateInletVelocityFvPatchVectorField.C
71
72\*---------------------------------------------------------------------------*/
73
74#ifndef variableHeightFlowRateInletVelocityFvPatchVectorField_H
75#define variableHeightFlowRateInletVelocityFvPatchVectorField_H
76
78#include "Function1.H"
79
80// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
81
82namespace Foam
83{
84/*---------------------------------------------------------------------------*\
85 Class variableHeightFlowRateInletVelocityFvPatchVectorField Declaration
86\*---------------------------------------------------------------------------*/
87
89:
90 public fixedValueFvPatchVectorField
91{
92 // Private data
93
94 //- Inlet integral flow rate
95 autoPtr<Function1<scalar>> flowRate_;
96
97 //- Name of the phase-fraction field
98 word alphaName_;
99
100
101public:
102
103 //- Runtime type information
104 TypeName("variableHeightFlowRateInletVelocity");
105
106
107 // Constructors
108
109 //- Construct from patch and internal field
111 (
112 const fvPatch&,
114 );
115
116 //- Construct from patch, internal field and dictionary
118 (
119 const fvPatch&,
121 const dictionary&
122 );
123
124 //- Construct by mapping given
125 // variableHeightFlowRateInletVelocityFvPatchVectorField
126 // onto a new patch
128 (
130 const fvPatch&,
132 const fvPatchFieldMapper&
133 );
134
135 //- Construct as copy
137 (
139 );
140
141 //- Construct as copy setting internal field reference
143 (
146 );
147
148 //- Return a clone
149 virtual tmp<fvPatchField<vector>> clone() const
150 {
151 return fvPatchField<vector>::Clone(*this);
152 }
153
154 //- Clone with an internal field reference
156 (
158 ) const
159 {
160 return fvPatchField<vector>::Clone(*this, iF);
161 }
162
163
164 // Member functions
165
166 //- Update the coefficients associated with the patch field
167 virtual void updateCoeffs();
168
169 //- Write
170 virtual void write(Ostream&) const;
171};
172
173
174// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
175
176} // End namespace Foam
177
178// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
179
180#endif
181
182// ************************************************************************* //
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
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition autoPtr.H:65
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.
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
A class for managing temporary objects.
Definition tmp.H:75
This boundary condition provides a velocity boundary condition for multphase flow based on a user-spe...
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.
variableHeightFlowRateInletVelocityFvPatchVectorField(const fvPatch &, const DimensionedField< vector, volMesh > &)
Construct from patch and internal field.
TypeName("variableHeightFlowRateInletVelocity")
Runtime type information.
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