energyJumpFvPatchScalarField.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-2024 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::energyJumpFvPatchScalarField
26 
27 Description
28  This boundary condition provides an energy jump condition, using the \c
29  cyclic condition as a base. The jump is calculated from the corresponding
30  temperature jump. This condition is not applied directly by the user, but
31  is constructed automatically by the thermodynamic model when the
32  corresponding temperature boundary condition is a jump cyclic.
33 
34 See also
35  Foam::jumpCyclicFvPatchField
36 
37 SourceFiles
38  energyJumpFvPatchScalarField.C
39 
40 \*---------------------------------------------------------------------------*/
41 
42 #ifndef energyJumpFvPatchScalarField_H
43 #define energyJumpFvPatchScalarField_H
44 
46 
47 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
48 
49 namespace Foam
50 {
51 
52 /*---------------------------------------------------------------------------*\
53  Class energyJumpFvPatchScalarField Declaration
54 \*---------------------------------------------------------------------------*/
55 
57 :
58  public jumpCyclicFvPatchScalarField
59 {
60  // Private Data
61 
62  //- Jump in value from the other patch to this one
63  scalarField jump_;
64 
65 
66 public:
67 
68  //- Runtime type information
69  TypeName("energyJump");
70 
71 
72  // Constructors
73 
74  //- Construct from patch and internal field
76  (
77  const fvPatch&,
79  );
80 
81  //- Construct from patch, internal field and dictionary
83  (
84  const fvPatch&,
86  const dictionary&
87  );
88 
89  //- Construct by mapping given energyJumpFvPatchScalarField onto a
90  // 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  (
120  new energyJumpFvPatchScalarField(*this, iF)
121  );
122  }
123 
124 
125  // Member Functions
126 
127  // Access
128 
129  //- Return the "jump"
130  virtual tmp<scalarField> jump() const;
131 
132 
133  // Mapping functions
134 
135  //- Map the given fvPatchField onto this fvPatchField
136  virtual void map(const fvPatchScalarField&, const fieldMapper&);
137 
138  //- Reset the fvPatchField to the given fvPatchField
139  // Used for mesh to mesh mapping
140  virtual void reset(const fvPatchScalarField&);
141 
142 
143  // Evaluation functions
144 
145  //- Update the coefficients
146  virtual void updateCoeffs();
147 
148 
149  //- Write
150  virtual void write(Ostream&) const;
151 };
152 
153 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
154 
155 } // End namespace Foam
156 
157 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
158 
159 #endif
160 
161 // ************************************************************************* //
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
This boundary condition provides an energy jump condition, using the cyclic condition as a base....
virtual tmp< scalarField > jump() const
Return the "jump".
virtual void write(Ostream &) const
Write.
virtual void reset(const fvPatchScalarField &)
Reset the fvPatchField to the given fvPatchField.
TypeName("energyJump")
Runtime type information.
virtual void updateCoeffs()
Update the coefficients.
virtual void map(const fvPatchScalarField &, const fieldMapper &)
Map the given fvPatchField onto this fvPatchField.
energyJumpFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
virtual tmp< fvPatchField< scalar > > clone(const DimensionedField< scalar, volMesh > &iF) const
Construct and return a clone setting internal field reference.
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
A class for managing temporary objects.
Definition: tmp.H:55
Namespace for OpenFOAM.