Kunz.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) 2011-2016 OpenFOAM Foundation
9  Copyright (C) 2019 OpenCFD Ltd.
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::Kunz
29 
30 Description
31  Kunz cavitation model slightly modified so that the condensation term
32  is switched off when the pressure is less than the saturation vapour
33  pressure. This change allows the condensation term to be formulated as
34  a coefficient multiplying (p - p_sat) so that it can be included as an
35  implicit term in the pressure equation.
36 
37  Reference:
38  \verbatim
39  Kunz, R.F., Boger, D.A., Stinebring, D.R., Chyczewski, Lindau. J.W.,
40  Gibeling, H.J., Venkateswaran, S., Govindan, T.R.,
41  "A Preconditioned Implicit Method for Two-Phase Flows with Application
42  to Cavitation Prediction,"
43  Computers and Fluids,
44  29(8):849-875, 2000.
45  \endverbatim
46 
47 SourceFiles
48  Kunz.C
49 
50 \*--------------------------------------------------------------------*/
51 
52 #ifndef Kunz_H
53 #define Kunz_H
54 
56 
57 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
58 
59 namespace Foam
60 {
61 namespace phaseChangeTwoPhaseMixtures
62 {
63 
64 /*--------------------------------------------------------------------*\
65  Class Kunz
66 \*--------------------------------------------------------------------*/
67 
68 class Kunz
69 :
71 {
72  // Private data
73 
74  dimensionedScalar UInf_;
75  dimensionedScalar tInf_;
78 
80 
81  dimensionedScalar mcCoeff_;
82  dimensionedScalar mvCoeff_;
83 
84 
85 public:
86 
87  //- Runtime type information
88  TypeName("Kunz");
89 
90 
91  // Constructors
92 
93  //- Construct from components
94  Kunz
95  (
96  const volVectorField& U,
97  const surfaceScalarField& phi
98  );
99 
100 
101  //- Destructor
102  virtual ~Kunz() = default;
103 
104 
105  // Member Functions
106 
107  //- Return the mass condensation and vaporisation rates as a
108  // coefficient to multiply (1 - alphal) for the condensation rate
109  // and a coefficient to multiply alphal for the vaporisation rate
110  virtual Pair<tmp<volScalarField>> mDotAlphal() const;
111 
112  //- Return the mass condensation and vaporisation rates as coefficients
113  // to multiply (p - pSat)
114  virtual Pair<tmp<volScalarField>> mDotP() const;
115 
116  //- Correct the Kunz phaseChange model
117  virtual void correct();
118 
119  //- Read the transportProperties dictionary and update
120  virtual bool read();
121 };
122 
123 
124 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
125 
126 } // End namespace phaseChangeTwoPhaseMixtures
127 } // End namespace Foam
128 
129 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
130 
131 #endif
132 
133 // ************************************************************************* //
Foam::phaseChangeTwoPhaseMixtures::Kunz::~Kunz
virtual ~Kunz()=default
Destructor.
Foam::phaseChangeTwoPhaseMixtures::Kunz::Kunz
Kunz(const volVectorField &U, const surfaceScalarField &phi)
Construct from components.
Foam::phaseChangeTwoPhaseMixtures::Kunz::read
virtual bool read()
Read the transportProperties dictionary and update.
Foam::phaseChangeTwoPhaseMixtures::Kunz
Kunz cavitation model slightly modified so that the condensation term is switched off when the pressu...
Definition: Kunz.H:67
Foam::phaseChangeTwoPhaseMixtures::Kunz::TypeName
TypeName("Kunz")
Runtime type information.
phi
surfaceScalarField & phi
Definition: setRegionFluidFields.H:8
Foam::dimensioned< scalar >
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::phaseChangeTwoPhaseMixtures::Kunz::correct
virtual void correct()
Correct the Kunz phaseChange model.
Foam::phaseChangeTwoPhaseMixture
Definition: phaseChangeTwoPhaseMixture.H:57
Foam::Pair
An ordered pair of two objects of type <T> with first() and second() elements.
Definition: Pair.H:54
phaseChangeTwoPhaseMixture.H
Foam::incompressibleTwoPhaseMixture::U
const volVectorField & U() const
Return const-access to the mixture velocity.
Definition: incompressibleTwoPhaseMixture.H:129
Foam::GeometricField< vector, fvPatchField, volMesh >
Foam::phaseChangeTwoPhaseMixtures::Kunz::mDotAlphal
virtual Pair< tmp< volScalarField > > mDotAlphal() const
Return the mass condensation and vaporisation rates as a.
Foam::phaseChangeTwoPhaseMixtures::Kunz::mDotP
virtual Pair< tmp< volScalarField > > mDotP() const
Return the mass condensation and vaporisation rates as coefficients.