interfaceHeatResistance.H
Go to the documentation of this file.
1/*---------------------------------------------------------------------------*\
2 ========= |
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4 \\ / O peration |
5 \\ / A nd | www.openfoam.com
6 \\/ M anipulation |
7-------------------------------------------------------------------------------
8 Copyright (C) 2020 OpenCFD Ltd.
9 Copyright (C) 2020 Henning Scheufler
10-------------------------------------------------------------------------------
11License
12 This file is part of OpenFOAM.
13
14 OpenFOAM is free software: you can redistribute it and/or modify it
15 under the terms of the GNU General Public License as published by
16 the Free Software Foundation, either version 3 of the License, or
17 (at your option) any later version.
18
19 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 for more details.
23
24 You should have received a copy of the GNU General Public License
25 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26
27Class
28 Foam::phaseChangeTwoPhaseMixtures::interfaceHeatResistance
29
30Description
31 Interface Heat Resistance type of condensation/saturation model using
32 spread source distribution following:
33
34 References:
35 \verbatim
36 Hardt, S., Wondra, F. (2008).
37 Evaporation model for interfacial flows based on a continuum-
38 field representation of the source term
39 Journal of Computational Physics 227 (2008), 5871-5895
40 \endverbatim
41
42SourceFiles
43 interfaceHeatResistance.C
44
45\*---------------------------------------------------------------------------*/
46
47#ifndef interfaceHeatResistance_H
48#define interfaceHeatResistance_H
49
51
52// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
53
54namespace Foam
55{
56namespace temperaturePhaseChangeTwoPhaseMixtures
57{
58
59/*---------------------------------------------------------------------------*\
60 Class interfaceHeatResistance
61\*---------------------------------------------------------------------------*/
64:
66{
67 // Private Data
68
69 //- Heat transfer coefficient [1/s/K]
71
72 //- Interface area
73 volScalarField interfaceArea_;
74
75 //- Mass condensation source
76 volScalarField mDotc_;
77
78 //- Mass evaporation source
79 volScalarField mDote_;
80
81 //- Spread condensation mass source
82 volScalarField mDotcSpread_;
83
84 //- Spread evaporation mass source
85 volScalarField mDoteSpread_;
86
87 //- Spread for mass source
88 scalar spread_;
89
90
91 // Private Member Functions
92
93 //- Update interface area
94 void updateInterface();
95
96
97public:
98
99 //- Runtime type information
100 TypeName("interfaceHeatResistance");
101
102
103 // Constructors
104
105 //- Construct from components
107 (
109 const fvMesh& mesh
110 );
111
112
113 //- Destructor
114 virtual ~interfaceHeatResistance() = default;
115
116
117 // Member Functions
118
119 //- Return the mass condensation and vaporisation rates as a
120 // coefficient to multiply (1 - alphal) for the condensation rate
121 // and a coefficient to multiply alphal for the vaporisation rate
122 virtual Pair<tmp<volScalarField>> mDotAlphal() const;
123
124 //- Return the mass condensation and vaporisation rates as coefficients
125 virtual Pair<tmp<volScalarField>> mDot() const;
126
127 //- Return the mass condensation and vaporisation rates as a
128 // coefficient to multiply (Tsat - T) for the condensation rate
129 // and a coefficient to multiply (T - Tsat) for the vaporisation rate
130 virtual Pair<tmp<volScalarField>> mDotDeltaT() const;
131
132 //- Source for T equarion
133 virtual tmp<fvScalarMatrix> TSource() const;
134
135 //- Volumetric source for alpha (used by alphaEq)
136 virtual Pair<tmp<volScalarField>> vDotAlphal() const;
137
138 //- Return the volumetric condensation and vaporisation rates as
139 // coefficients (used by p_rghEq)
140 virtual Pair<tmp<volScalarField>> vDot() const;
141
142 //- Correct the interfaceHeatResistance phaseChange model
143 virtual void correct();
144
145 //- Read the transportProperties dictionary and update
146 virtual bool read();
147};
148
149
150// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
151
152} // End namespace temperaturePhaseChangeTwoPhaseMixtures
153} // End namespace Foam
154
155// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
156
157#endif
158
159// ************************************************************************* //
An ordered pair of two objects of type <T> with first() and second() elements.
Definition: Pair.H:69
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:91
interfaceHeatResistance(const thermoIncompressibleTwoPhaseMixture &mixture, const fvMesh &mesh)
Construct from components.
virtual Pair< tmp< volScalarField > > vDot() const
Return the volumetric condensation and vaporisation rates as.
virtual Pair< tmp< volScalarField > > mDotAlphal() const
Return the mass condensation and vaporisation rates as a.
virtual Pair< tmp< volScalarField > > mDotDeltaT() const
Return the mass condensation and vaporisation rates as a.
virtual tmp< fvScalarMatrix > TSource() const
Source for T equarion.
virtual void correct()
Correct the interfaceHeatResistance phaseChange model.
virtual Pair< tmp< volScalarField > > vDotAlphal() const
Volumetric source for alpha (used by alphaEq)
virtual bool read()
Read the transportProperties dictionary and update.
virtual Pair< tmp< volScalarField > > mDot() const
Return the mass condensation and vaporisation rates as coefficients.
TypeName("interfaceHeatResistance")
Runtime type information.
A two-phase incompressible transportModel.
A class for managing temporary objects.
Definition: tmp.H:65
dynamicFvMesh & mesh
Namespace for OpenFOAM.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73