uniformJumpFvPatchField.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) 2012-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::uniformJumpFvPatchField
26 
27 Description
28  This boundary condition provides a jump condition, using the \c cyclic
29  condition as a base. The jump is specified as a time-varying uniform
30  value across the patch.
31 
32 Usage
33  \table
34  Property | Description | Required | Default value
35  patchType | underlying patch type should be \c cyclic| yes |
36  jumpTable | jump value | yes |
37  \endtable
38 
39  Example of the boundary condition specification:
40  \verbatim
41  <patchName>
42  {
43  type uniformJump;
44  patchType cyclic;
45  jumpTable constant 10;
46  }
47  \endverbatim
48 
49  The above example shows the use of a fixed jump of '10'.
50 
51  Note:
52  The uniformValue entry is a Function1 type, able to describe time
53  varying functions. The example above gives the usage for supplying a
54  constant value.
55 
56  The underlying \c patchType should be set to \c cyclic
57 
58 See also
59  Foam::fixedJumpFvPatchField
60  Foam::Function1s
61 
62 SourceFiles
63  uniformJumpFvPatchField.C
64 
65 \*---------------------------------------------------------------------------*/
66 
67 #ifndef uniformJumpFvPatchField_H
68 #define uniformJumpFvPatchField_H
69 
70 #include "fixedJumpFvPatchField.H"
71 #include "Function1.H"
72 
73 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
74 
75 namespace Foam
76 {
77 
78 /*---------------------------------------------------------------------------*\
79  Class uniformJumpFvPatchField Declaration
80 \*---------------------------------------------------------------------------*/
81 
82 template<class Type>
83 class uniformJumpFvPatchField
84 :
85  public fixedJumpFvPatchField<Type>
86 {
87 
88 protected:
89 
90  // Protected data
91 
92  //- "jump" table
93  autoPtr<Function1<Type>> jumpTable_;
94 
95 
96 public:
97 
98  //- Runtime type information
99  TypeName("uniformJump");
100 
101  // Constructors
102 
103  //- Construct from patch, internal field and dictionary
105  (
106  const fvPatch&,
108  const dictionary&
109  );
110 
111  //- Construct by mapping given uniformJumpFvPatchField onto a
112  // new patch
114  (
116  const fvPatch&,
118  const fvPatchFieldMapper&
119  );
120 
121  //- Disallow copy without setting internal field reference
123 
124  //- Copy constructor setting internal field reference
126  (
129  );
130 
131  //- Construct and return a clone setting internal field reference
133  (
135  ) const
136  {
137  return tmp<fvPatchField<Type>>
138  (
139  new uniformJumpFvPatchField<Type>(*this, iF)
140  );
141  }
142 
143 
144  // Member Functions
145 
146  //- Update the coefficients
147  virtual void updateCoeffs();
148 
149  //- Write
150  virtual void write(Ostream&) const;
151 };
152 
153 
154 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
155 
156 } // End namespace Foam
157 
158 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
159 
160 #ifdef NoRepository
161  #include "uniformJumpFvPatchField.C"
162 #endif
163 
164 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
165 
166 #endif
167 
168 // ************************************************************************* //
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
Foam::fvPatchFieldMapper.
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
This boundary condition provides a jump condition, using the cyclic condition as a base....
virtual void write(Ostream &) const
Write.
uniformJumpFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &, const dictionary &)
Construct from patch, internal field and dictionary.
virtual void updateCoeffs()
Update the coefficients.
autoPtr< Function1< Type > > jumpTable_
"jump" table
TypeName("uniformJump")
Runtime type information.
Namespace for OpenFOAM.