Loading...
Searching...
No Matches
swirlInletVelocityFvPatchVectorField.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) 2017 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::swirlInletVelocityFvPatchVectorField
28
29Group
30 grpInletBoundaryConditions
31
32Description
33 This boundary condition describes an inlet vector boundary condition in
34 swirl coordinates given a central axis, central point, axial, radial and
35 tangential velocity profiles.
36
37Usage
38 \table
39 Property | Description | Required | Default value
40 axis | Axis of rotation | yes |
41 origin |Origin of rotation | yes |
42 axialVelocity | Axial velocity profile [m/s] | yes |
43 radialVelocity | Radial velocity profile [m/s] | yes |
44 tangentialVelocity | tangential velocity profile [m/s] | yes |
45 \endtable
46
47 Example of the boundary condition specification:
48 \verbatim
49 <patchName>
50 {
51 type swirlInletVelocity;
52 axis (0 0 1);
53 origin (0 0 0);
54 axialVelocity constant 30;
55 radialVelocity constant 10;
56 tangentialVelocity constant 100;
57 }
58 \endverbatim
59
60Note
61 The \c axialVelocity, \c radialVelocity and \c tangentialVelocity entries
62 are Function1 types, able to describe time varying functions. The example
63 above gives the usage for supplying constant values.
64
65See also
66 Foam::fixedValueFvPatchField
67 Foam::Function1Types
68
69SourceFiles
70 swirlInletVelocityFvPatchVectorField.C
71
72\*---------------------------------------------------------------------------*/
73
74#ifndef swirlInletVelocityFvPatchVectorField_H
75#define swirlInletVelocityFvPatchVectorField_H
76
78#include "Function1.H"
79
80// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
81
82namespace Foam
83{
84/*---------------------------------------------------------------------------*\
85 Class swirlInletVelocityFvPatchVectorField Declaration
86\*---------------------------------------------------------------------------*/
87
89:
90 public fixedValueFvPatchVectorField
91{
92 // Private data
93
94 //- Origin of the rotation
95 const vector origin_;
96
97 //- Axis of the rotation
98 const vector axis_;
99
100 //- Axial velocity
101 autoPtr<Function1<scalar>> axialVelocity_;
102
103 //- Radial velocity
104 autoPtr<Function1<scalar>> radialVelocity_;
105
106 //- Tangential velocity
107 autoPtr<Function1<scalar>> tangentialVelocity_;
108
109
110public:
111
112 //- Runtime type information
113 TypeName("swirlInletVelocity");
114
115
116 // Constructors
117
118 //- Construct from patch and internal field
120 (
121 const fvPatch&,
123 );
124
125 //- Construct from patch, internal field and dictionary
127 (
128 const fvPatch&,
130 const dictionary&
131 );
132
133 //- Construct by mapping given
134 // flowRateInletVelocityFvPatchVectorField
135 // onto a new patch
137 (
139 const fvPatch&,
141 const fvPatchFieldMapper&
142 );
143
144 //- Construct as copy
146 (
148 );
149
150 //- Construct as copy setting internal field reference
152 (
155 );
156
157 //- Return a clone
158 virtual tmp<fvPatchField<vector>> clone() const
159 {
160 return fvPatchField<vector>::Clone(*this);
161 }
162
163 //- Clone with an internal field reference
165 (
167 ) const
168 {
169 return fvPatchField<vector>::Clone(*this, iF);
170 }
171
172
173 // Member functions
174
175 //- Update the coefficients associated with the patch field
176 virtual void updateCoeffs();
177
178 //- Write
179 virtual void write(Ostream&) const;
180};
181
182
183// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
184
185} // End namespace Foam
186
187// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
188
189#endif
190
191// ************************************************************************* //
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
This boundary condition describes an inlet vector boundary condition in swirl coordinates given a cen...
TypeName("swirlInletVelocity")
Runtime type information.
virtual tmp< fvPatchField< vector > > clone() const
Return a clone.
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.
swirlInletVelocityFvPatchVectorField(const fvPatch &, const DimensionedField< vector, volMesh > &)
Construct from patch and internal field.
A class for managing temporary objects.
Definition tmp.H:75
Namespace for OpenFOAM.
Vector< scalar > vector
Definition vector.H:57
runTime write()
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition typeInfo.H:68