heatTransferModel.C
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-2025 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 \*---------------------------------------------------------------------------*/
25 
26 #include "heatTransferModel.H"
27 
28 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
29 
30 namespace Foam
31 {
38 }
39 
41 
42 
43 // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
44 
46 (
47  const dictionary& dict,
48  const phaseInterface& interface,
49  const bool registerObject
50 )
51 :
53  (
54  IOobject
55  (
56  IOobject::groupName(typeName, interface.name()),
57  interface.mesh().time().name(),
58  interface.mesh(),
59  IOobject::NO_READ,
60  IOobject::NO_WRITE,
61  registerObject
62  )
63  ),
64  residualAlpha_
65  (
66  "residualAlpha",
67  dimless,
68  dict.lookupOrDefault<scalar>
69  (
70  "residualAlpha",
71  sqrt
72  (
73  interface.phase1().residualAlpha().value()
74  *interface.phase2().residualAlpha().value()
75  )
76  )
77  )
78 {}
79 
80 
81 // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
82 
84 {}
85 
86 
87 // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
88 
91 {
92  return K(residualAlpha_.value());
93 }
94 
95 
97 {
98  return os.good();
99 }
100 
101 
103 {
106 
107  return evaluate(k, "K", heatTransferModel::dimK);
108 }
109 
110 
112 (
113  const scalar residualAlpha
114 ) const
115 {
116  tmp<volScalarField> (heatTransferModel::*k)(const scalar) const =
118 
119  return evaluate(k, "K", heatTransferModel::dimK, residualAlpha);
120 }
121 
122 
124 (
125  const phaseModel& phase
126 ) const
127 {
128  return modelInThe(phase).K();
129 }
130 
131 
133 (
134  const phaseModel& phase,
135  const scalar residualAlpha
136 ) const
137 {
138  return modelInThe(phase).K(residualAlpha);
139 }
140 
141 
143 (
144  const phaseModel& phase
145 ) const
146 {
147  return
148  evaluate<scalar, volMesh, const phaseModel&>
149  (
151  "K",
153  phase
154  );
155 }
156 
157 
159 (
160  const phaseModel& phase,
161  const scalar residualAlpha
162 ) const
163 {
164  return
165  evaluate<scalar, volMesh, const phaseModel&, scalar>
166  (
168  "K",
170  phase,
171  residualAlpha
172  );
173 }
174 
175 
176 // ************************************************************************* //
label k
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
Definition: IOobject.H:99
bool good() const
Return true if next operation might succeed.
Definition: IOstream.H:333
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition: Ostream.H:57
tmp< volScalarField > K() const
Return the heat transfer coefficient.
tmp< volScalarField > KinThe(const phaseModel &phase) const
Return the heat transfer coefficient.
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Definition: dictionary.H:162
Dimension set for the base types.
Definition: dimensionSet.H:125
Model for heat transfer between phases.
virtual ~heatTransferModel()
Destructor.
bool writeData(Ostream &os) const
Dummy write for regIOobject.
heatTransferModel(const dictionary &dict, const phaseInterface &interface, const bool registerObject)
Construct from a dictionary and an interface.
tmp< volScalarField > K() const
The heat transfer function K used in the enthalpy equation.
static const dimensionSet dimK
Coefficient dimensions.
Class to represent an interface between phases. Derivations can further specify the configuration of ...
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
Definition: regIOobject.H:55
tmp< volScalarField > KinThe(const phaseModel &phase) const
Return the heat transfer coefficient.
A class for managing temporary objects.
Definition: tmp.H:55
Foam::fvMesh mesh(Foam::IOobject(regionName, runTime.name(), runTime, Foam::IOobject::MUST_READ), false)
K
Definition: pEqn.H:75
Namespace for OpenFOAM.
defineRunTimeSelectionTable(reactionRateFlameArea, dictionary)
defineBlendedInterfacialModelTypeNameAndDebug(diffusiveMassTransferModel, 0)
const dimensionSet dimless
void evaluate(GeometricField< Type, GeoMesh > &result, const Function1< Type > &func, const GeometricField< Type, GeoMesh > &x)
defineTypeNameAndDebug(combustionModel, 0)
defineSidedInterfacialModelTypeNameAndDebug(blendedDiffusiveMassTransferModel, 0)
word name(const LagrangianState state)
Return a string representation of a Lagrangian state enumeration.
void sqrt(LagrangianPatchField< scalar > &f, const LagrangianPatchField< scalar > &f1)
dictionary dict