fixedJumpFvPatchField.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::fixedJumpFvPatchField
26 
27 Description
28  This boundary condition provides a jump condition, using the \c cyclic
29  condition as a base.
30 
31  The jump is specified as a fixed value field, applied as an offset to the
32  'owner' patch.
33 
34 Usage
35  \table
36  Property | Description | Required | Default value
37  patchType | underlying patch type should be \c cyclic| yes |
38  jump | current jump value | yes |
39  \endtable
40 
41  Example of the boundary condition specification:
42  \verbatim
43  <patchName>
44  {
45  type fixedJump;
46  patchType cyclic;
47  jump uniform 10;
48  }
49  \endverbatim
50 
51  The above example shows the use of a fixed jump of '10'.
52 
53  Note:
54  The underlying \c patchType should be set to \c cyclic
55 
56 See also
57  Foam::jumpCyclicFvPatchField
58 
59 SourceFiles
60  fixedJumpFvPatchField.C
61 
62 \*---------------------------------------------------------------------------*/
63 
64 #ifndef fixedJumpFvPatchField_H
65 #define fixedJumpFvPatchField_H
66 
67 #include "jumpCyclicFvPatchField.H"
68 
69 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
70 
71 namespace Foam
72 {
73 
74 /*---------------------------------------------------------------------------*\
75  Class fixedJumpFvPatchField Declaration
76 \*---------------------------------------------------------------------------*/
77 
78 template<class Type>
79 class fixedJumpFvPatchField
80 :
81  public jumpCyclicFvPatchField<Type>
82 {
83 
84 protected:
85 
86  // Protected data
87 
88  //- "jump" field
89  Field<Type> jump_;
90 
91 
92  // Protected functions
93 
94  //- Construct from patch and internal field
96  (
97  const fvPatch&,
99  );
100 
101 
102 public:
103 
104  //- Runtime type information
105  TypeName("fixedJump");
106 
107  // Constructors
108 
109  //- Construct from patch, internal field and dictionary
111  (
112  const fvPatch&,
114  const dictionary&
115  );
116 
117  //- Construct by mapping given fixedJumpFvPatchField onto a
118  // new patch
120  (
122  const fvPatch&,
124  const fvPatchFieldMapper&
125  );
126 
127  //- Disallow copy without setting internal field reference
129  (
131  ) = delete;
132 
133  //- Copy constructor setting internal field reference
135  (
138  );
139 
140  //- Construct and return a clone setting internal field reference
142  (
144  ) const
145  {
146  return tmp<fvPatchField<Type>>
147  (
148  new fixedJumpFvPatchField<Type>(*this, iF)
149  );
150  }
151 
152 
153  // Member Functions
154 
155  // Access
156 
157  //- Return the "jump" across the patch
158  virtual tmp<Field<Type>> jump() const;
159 
160 
161  // Mapping functions
162 
163  //- Map the given fvPatchField onto this fvPatchField
164  virtual void map
165  (
166  const fvPatchField<Type>&,
167  const fvPatchFieldMapper&
168  );
169 
170  //- Reset the fvPatchField to the given fvPatchField
171  // Used for mesh to mesh mapping
172  virtual void reset(const fvPatchField<Type>&);
173 
174 
175  //- Write
176  virtual void write(Ostream&) const;
177 };
178 
179 
180 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
181 
182 } // End namespace Foam
183 
184 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
185 
186 #ifdef NoRepository
187  #include "fixedJumpFvPatchField.C"
188 #endif
189 
190 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
191 
192 #endif
193 
194 // ************************************************************************* //
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:160
This boundary condition provides a jump condition, using the cyclic condition as a base.
TypeName("fixedJump")
Runtime type information.
virtual void write(Ostream &) const
Write.
Field< Type > jump_
"jump" field
virtual void reset(const fvPatchField< Type > &)
Reset the fvPatchField to the given fvPatchField.
virtual void map(const fvPatchField< Type > &, const fvPatchFieldMapper &)
Map the given fvPatchField onto this fvPatchField.
virtual tmp< Field< Type > > jump() const
Return the "jump" across the patch.
fixedJumpFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
Foam::fvPatchFieldMapper.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
Definition: fvPatchField.H:87
tmp< fvPatchField< Type > > clone() const
Disallow clone without setting internal field reference.
Definition: fvPatchField.H:203
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:64
A class for managing temporary objects.
Definition: tmp.H:55
Namespace for OpenFOAM.