movingWallVelocityFvPatchVectorField.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  Copyright (C) 2015-2021 OpenCFD Ltd.
10 -------------------------------------------------------------------------------
11 License
12  This file is part of OpenFOAM.
13 
14  OpenFOAM is free software: you can redistribute it and/or modify it
15  under the terms of the GNU General Public License as published by
16  the Free Software Foundation, either version 3 of the License, or
17  (at your option) any later version.
18 
19  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22  for more details.
23 
24  You should have received a copy of the GNU General Public License
25  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26 
27 Class
28  Foam::movingWallVelocityFvPatchVectorField
29 
30 Group
31  grpWallBoundaryConditions
32 
33 Description
34  This boundary condition provides a velocity condition for cases with
35  moving walls.
36 
37 Usage
38  Example of the boundary condition specification:
39  \verbatim
40  <patchName>
41  {
42  type movingWallVelocity;
43  value uniform (0 0 0); // Initial value
44  }
45  \endverbatim
46 
47 See also
48  Foam::fixedValueFvPatchVectorField
49  Foam::MRFZone
50 
51 SourceFiles
52  movingWallVelocityFvPatchVectorField.C
53 
54 \*---------------------------------------------------------------------------*/
55 
56 #ifndef movingWallVelocityFvPatchVectorField_H
57 #define movingWallVelocityFvPatchVectorField_H
58 
60 
61 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
62 
63 namespace Foam
64 {
65 
66 /*---------------------------------------------------------------------------*\
67  Class movingWallVelocityFvPatchVectorField Declaration
68 \*---------------------------------------------------------------------------*/
69 
71 :
72  public fixedValueFvPatchVectorField
73 {
74 public:
75 
76  //- Runtime type information
77  TypeName("movingWallVelocity");
78 
79 
80  // Constructors
81 
82  //- Construct from patch and internal field
84  (
85  const fvPatch&,
87  );
88 
89  //- Construct from patch, internal field and dictionary
91  (
92  const fvPatch&,
94  const dictionary&
95  );
96 
97  //- Construct by mapping given movingWallVelocityFvPatchVectorField
98  // onto a new patch
100  (
102  const fvPatch&,
104  const fvPatchFieldMapper&
105  );
106 
107  //- Construct as copy
109  (
111  );
112 
113  //- Construct as copy setting internal field reference
115  (
118  );
119 
120  //- Return a clone
121  virtual tmp<fvPatchField<vector>> clone() const
122  {
123  return fvPatchField<vector>::Clone(*this);
124  }
125 
126  //- Clone with an internal field reference
128  (
130  ) const
131  {
132  return fvPatchField<vector>::Clone(*this, iF);
133  }
134 
135 
136  // Member Functions
137 
138  //- Return wall velocity field
139  tmp<vectorField> Uwall() const;
141  //- Update the coefficients associated with the patch field
142  virtual void updateCoeffs();
143 
144  //- Write
145  virtual void write(Ostream&) const;
146 };
147 
148 
149 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
150 
151 } // End namespace Foam
152 
153 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
154 
155 #endif
156 
157 // ************************************************************************* //
This boundary condition provides a velocity condition for cases with moving walls.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
Definition: dictionary.H:129
virtual tmp< fvPatchField< vector > > clone() const
Return a clone.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:70
TypeName("movingWallVelocity")
Runtime type information.
tmp< vectorField > Uwall() const
Return wall velocity field.
static tmp< fvPatchField< Type > > Clone(const DerivedPatchField &pf, Args &&... args)
Clone a patch field, optionally with internal field reference etc.
Definition: fvPatchField.H:597
A FieldMapper for finite-volume patch fields.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
Definition: Ostream.H:56
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
movingWallVelocityFvPatchVectorField(const fvPatch &, const DimensionedField< vector, volMesh > &)
Construct from patch and internal field.
A class for managing temporary objects.
Definition: HashPtrTable.H:50
Namespace for OpenFOAM.