mixedEnergyCalculatedTemperatureFvPatchScalarField.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) 2019 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::mixedEnergyCalculatedTemperatureFvPatchScalarField
26 
27 Description
28  Base class for temperature boundary conditions in which the parameters of
29  the mixed energy condition can be set directly.
30 
31 SourceFiles
32  mixedEnergyCalculatedTemperatureFvPatchScalarField.C
33 
34 \*---------------------------------------------------------------------------*/
35 
36 #ifndef mixedEnergyCalculatedTemperatureFvPatchScalarField_H
37 #define mixedEnergyCalculatedTemperatureFvPatchScalarField_H
38 
40 
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
42 
43 namespace Foam
44 {
45 
46 /*---------------------------------------------------------------------------*\
47  Class mixedEnergyCalculatedTemperatureFvPatchScalarField Declaration
48 \*---------------------------------------------------------------------------*/
49 
51 :
52  public calculatedFvPatchScalarField
53 {
54  // Private Data
55 
56  //- Energy value field
57  scalarField heRefValue_;
58 
59  //- Energy normal gradient field
60  scalarField heRefGrad_;
61 
62  //- Fraction (0-1) of energy value used for boundary condition
63  scalarField heValueFraction_;
64 
65 
66 public:
67 
68  // Static Data Members
69 
70  //- Run-time type information
71  TypeName("mixedEnergyCalculatedTemperature");
72 
73 
74  // Constructors
75 
76  //- Construct from patch and internal field
78  (
79  const fvPatch&,
81  );
82 
83  //- Construct from patch, internal field and dictionary
85  (
86  const fvPatch&,
88  const dictionary&
89  );
90 
91  //- Construct by mapping given fixedValueTypeFvPatchField
92  // onto a new patch
94  (
96  const fvPatch&,
98  const fvPatchFieldMapper&
99  );
100 
101  //- Copy constructor
103  (
105  );
106 
107  //- Construct and return a clone
108  virtual tmp<fvPatchScalarField> clone() const
109  {
111  (
113  );
114  }
115 
116  //- Copy constructor setting internal field reference
118  (
121  );
122 
123  //- Construct and return a clone setting internal field reference
125  (
127  ) const
128  {
130  (
132  (
133  *this,
134  iF
135  )
136  );
137  }
138 
139 
140  // Member Functions
141 
142  // Access
143 
144  //- Return true if this patch field fixes a value
145  virtual bool fixesValue() const
146  {
147  return false;
148  }
149 
150  //- Access the energy value
151  inline scalarField& heRefValue()
152  {
153  return heRefValue_;
154  }
155 
156  //- Access the energy value
157  inline const scalarField& heRefValue() const
158  {
159  return heRefValue_;
160  }
161 
162  //- Access the energy gradient
163  inline scalarField& heRefGrad()
164  {
165  return heRefGrad_;
166  }
167 
168  //- Access the energy gradient
169  inline const scalarField& heRefGrad() const
170  {
171  return heRefGrad_;
172  }
173 
174  //- Access the energy fraction
175  inline scalarField& heValueFraction()
176  {
177  return heValueFraction_;
178  }
179 
180  //- Access the energy fraction
181  inline const scalarField& heValueFraction() const
182  {
183  return heValueFraction_;
184  }
185 
186 
187  // Mapping functions
188 
189  //- Map (and resize as needed) from self given a mapping object
190  // Used to update fields following mesh topology change
191  virtual void autoMap(const fvPatchFieldMapper&);
192 
193  //- Reverse map the given fvPatchField onto this fvPatchField
194  // Used to reconstruct fields
195  virtual void rmap(const fvPatchScalarField&, const labelList&);
196 };
197 
198 
199 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
200 
201 } // End namespace Foam
202 
203 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
204 
205 #endif
206 
207 // ************************************************************************* //
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition: dictionary.H:158
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:61
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
Definition: fvPatchField.H:66
Foam::fvPatchFieldMapper.
virtual void rmap(const fvPatchScalarField &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
virtual tmp< fvPatchScalarField > clone() const
Construct and return a clone.
mixedEnergyCalculatedTemperatureFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
Base class for temperature boundary conditions in which the parameters of the mixed energy condition ...
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
TypeName("mixedEnergyCalculatedTemperature")
Run-time type information.
virtual bool fixesValue() const
Return true if this patch field fixes a value.
A class for managing temporary objects.
Definition: PtrList.H:53
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
Namespace for OpenFOAM.