movingMappedWallVelocityFvPatchVectorField.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2011-2023 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
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.
15 
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.
20 
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/>.
23 
24 Class
25  Foam::movingMappedWallVelocityFvPatchVectorField
26 
27 Description
28  This boundary condition provides a no-slip velocity condition for mapped
29  walls. The wall velocity is taken to be the mesh velocity of the
30  neighbouring region.
31 
32  This will typically be used in CHT simulations in order to apply the
33  mesh motion of a solid region to the boundary of the adjacent fluid
34  region.
35 
36 Usage
37  Example of the boundary condition specification:
38  \verbatim
39  <patchName>
40  {
41  type movingMappedWallVelocity;
42  value uniform (0 0 0); // Initial value
43  }
44  \endverbatim
45 
46 See also
47  Foam::fixedValueFvPatchVectorField
48 
49 SourceFiles
50  movingMappedWallVelocityFvPatchVectorField.C
51 
52 \*---------------------------------------------------------------------------*/
53 
54 #ifndef movingMappedWallVelocityFvPatchVectorField_H
55 #define movingMappedWallVelocityFvPatchVectorField_H
56 
58 
59 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
60 
61 namespace Foam
62 {
63 
64 /*---------------------------------------------------------------------------*\
65  Class movingMappedWallVelocityFvPatchVectorField Declaration
66 \*---------------------------------------------------------------------------*/
67 
69 :
70  public fixedValueFvPatchVectorField
71 {
72 
73 public:
74 
75  //- Runtime type information
76  TypeName("movingMappedWallVelocity");
77 
78 
79  // Constructors
80 
81  //- Construct from patch, internal field and dictionary
83  (
84  const fvPatch&,
86  const dictionary&
87  );
88 
89  //- Construct by mapping given
90  // movingMappedWallVelocityFvPatchVectorField onto a new patch
92  (
94  const fvPatch&,
96  const fieldMapper&
97  );
98 
99  //- Disallow copy without setting internal field reference
101  (
103  ) = delete;
104 
105  //- Copy constructor setting internal field reference
107  (
110  );
111 
112  //- Construct and return a clone setting internal field reference
114  (
116  ) const
117  {
119  (
121  );
122  }
123 
124 
125  // Member Functions
126 
127  // Mapping functions
128 
129  //- Map the given fvPatchField onto this fvPatchField
130  virtual void map(const fvPatchVectorField&, const fieldMapper&);
131 
132 
133  // Evaluation functions
134 
135  //- Update the coefficients associated with the patch field
136  virtual void updateCoeffs();
137 
138 
139  //- Write
140  virtual void write(Ostream&) const;
141 };
142 
143 
144 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
145 
146 } // End namespace Foam
147 
148 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
149 
150 #endif
151 
152 // ************************************************************************* //
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:57
A list of keyword definitions, which are a keyword followed by any number of values (e....
Definition: dictionary.H:162
Abstract base class for field mapping.
Definition: fieldMapper.H:48
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
Definition: fvPatchField.H:88
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:64
This boundary condition provides a no-slip velocity condition for mapped walls. The wall velocity is ...
virtual tmp< fvPatchVectorField > clone(const DimensionedField< vector, volMesh > &iF) const
Construct and return a clone setting internal field reference.
TypeName("movingMappedWallVelocity")
Runtime type information.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
movingMappedWallVelocityFvPatchVectorField(const fvPatch &, const DimensionedField< vector, volMesh > &, const dictionary &)
Construct from patch, internal field and dictionary.
virtual void map(const fvPatchVectorField &, const fieldMapper &)
Map the given fvPatchField onto this fvPatchField.
A class for managing temporary objects.
Definition: tmp.H:55
Namespace for OpenFOAM.