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 -------------------------------------------------------------------------------
11 License
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 
27 Class
28  Foam::phaseChangeTwoPhaseMixtures::interfaceHeatResistance
29 
30 Description
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 
42 SourceFiles
43  interfaceHeatResistance.C
44 
45 \*---------------------------------------------------------------------------*/
46 
47 #ifndef interfaceHeatResistance_H
48 #define interfaceHeatResistance_H
49 
51 
52 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
53 
54 namespace Foam
55 {
56 namespace temperaturePhaseChangeTwoPhaseMixtures
57 {
58 
59 /*---------------------------------------------------------------------------*\
60  Class interfaceHeatResistance
61 \*---------------------------------------------------------------------------*/
62 
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 
97 public:
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 // ************************************************************************* //
Foam::temperaturePhaseChangeTwoPhaseMixture
Definition: temperaturePhaseChangeTwoPhaseMixture.H:55
Foam::temperaturePhaseChangeTwoPhaseMixtures::interfaceHeatResistance::vDot
virtual Pair< tmp< volScalarField > > vDot() const
Return the volumetric condensation and vaporisation rates as.
Foam::temperaturePhaseChangeTwoPhaseMixtures::interfaceHeatResistance::interfaceHeatResistance
interfaceHeatResistance(const thermoIncompressibleTwoPhaseMixture &mixture, const fvMesh &mesh)
Construct from components.
Foam::temperaturePhaseChangeTwoPhaseMixtures::interfaceHeatResistance::mDot
virtual Pair< tmp< volScalarField > > mDot() const
Return the mass condensation and vaporisation rates as coefficients.
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:61
Foam::temperaturePhaseChangeTwoPhaseMixtures::interfaceHeatResistance::TypeName
TypeName("interfaceHeatResistance")
Runtime type information.
Foam::temperaturePhaseChangeTwoPhaseMixtures::interfaceHeatResistance::vDotAlphal
virtual Pair< tmp< volScalarField > > vDotAlphal() const
Volumetric source for alpha (used by alphaEq)
Foam::temperaturePhaseChangeTwoPhaseMixtures::interfaceHeatResistance::TSource
virtual tmp< fvScalarMatrix > TSource() const
Source for T equarion.
Foam::temperaturePhaseChangeTwoPhaseMixtures::interfaceHeatResistance
Definition: interfaceHeatResistance.H:62
Foam::temperaturePhaseChangeTwoPhaseMixtures::interfaceHeatResistance::read
virtual bool read()
Read the transportProperties dictionary and update.
Foam::temperaturePhaseChangeTwoPhaseMixtures::interfaceHeatResistance::mDotAlphal
virtual Pair< tmp< volScalarField > > mDotAlphal() const
Return the mass condensation and vaporisation rates as a.
mesh
dynamicFvMesh & mesh
Definition: createDynamicFvMesh.H:6
Foam::dimensioned< scalar >
Foam::fvMesh
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:85
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::thermoIncompressibleTwoPhaseMixture
A two-phase incompressible transportModel.
Definition: thermoIncompressibleTwoPhaseMixture.H:50
temperaturePhaseChangeTwoPhaseMixture.H
Foam::Pair
An ordered pair of two objects of type <T> with first() and second() elements.
Definition: Pair.H:54
Foam::temperaturePhaseChangeTwoPhaseMixtures::interfaceHeatResistance::~interfaceHeatResistance
virtual ~interfaceHeatResistance()=default
Destructor.
Foam::temperaturePhaseChangeTwoPhaseMixtures::interfaceHeatResistance::mDotDeltaT
virtual Pair< tmp< volScalarField > > mDotDeltaT() const
Return the mass condensation and vaporisation rates as a.
Foam::GeometricField< scalar, fvPatchField, volMesh >
Foam::temperaturePhaseChangeTwoPhaseMixtures::interfaceHeatResistance::correct
virtual void correct()
Correct the interfaceHeatResistance phaseChange model.
Foam::mixture
Definition: mixture.H:54