SchnerrSauer.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-------------------------------------------------------------------------------
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::SchnerrSauer
29
30Description
31 SchnerrSauer cavitation model.
32
33 Reference:
34 \verbatim
35 Schnerr, G. H., And Sauer, J.,
36 "Physical and Numerical Modeling of Unsteady Cavitation Dynamics",
37 Proc. 4th International Conference on Multiphase Flow,
38 New Orleans, U.S.A., 2001.
39 \endverbatim
40
41SourceFiles
42 SchnerrSauer.C
43
44\*--------------------------------------------------------------------*/
45
46#ifndef SchnerrSauer_H
47#define SchnerrSauer_H
48
50
51// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
52
53namespace Foam
54{
55namespace phaseChangeTwoPhaseMixtures
56{
57
58/*--------------------------------------------------------------------*\
59 Class SchnerrSauer
60\*--------------------------------------------------------------------*/
62class SchnerrSauer
63:
65{
66 // Private data
67
68 //- Bubble number density
70
71 //- Nucleation site diameter
73
74 //- Condensation rate coefficient
76
77 //- Vapourisation rate coefficient
79
81
82 //- Nucleation site volume-fraction
83 dimensionedScalar alphaNuc() const;
84
85 //- Reciprocal bubble radius
86 tmp<volScalarField>rRb(const volScalarField& limitedAlpha1) const;
87
88 //- Part of the condensation and vapourisation rates
89 tmp<volScalarField> pCoeff(const volScalarField& p) const;
90
91
92public:
93
94 //- Runtime type information
95 TypeName("SchnerrSauer");
96
97
98 // Constructors
99
100 //- Construct from components
102 (
103 const volVectorField& U,
105 );
106
107
108 //- Destructor
109 virtual ~SchnerrSauer() = default;
110
111
112 // Member Functions
113
114 //- Return the mass condensation and vaporisation rates as a
115 // coefficient to multiply (1 - alphal) for the condensation rate
116 // and a coefficient to multiply alphal for the vaporisation rate
117 virtual Pair<tmp<volScalarField>> mDotAlphal() const;
118
119 //- Return the mass condensation and vaporisation rates as coefficients
120 // to multiply (p - pSat)
121 virtual Pair<tmp<volScalarField>> mDotP() const;
122
123 //- Correct the SchnerrSauer phaseChange model
124 virtual void correct();
125
126 //- Read the transportProperties dictionary and update
127 virtual bool read();
128};
129
130
131// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
132
133} // End namespace phaseChangeTwoPhaseMixtures
134} // End namespace Foam
135
136// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
137
138#endif
139
140// ************************************************************************* //
surfaceScalarField & phi
An ordered pair of two objects of type <T> with first() and second() elements.
Definition: Pair.H:69
const volVectorField & U() const
Return const-access to the mixture velocity.
virtual Pair< tmp< volScalarField > > mDotP() const
Return the mass condensation and vaporisation rates as coefficients.
virtual ~SchnerrSauer()=default
Destructor.
TypeName("SchnerrSauer")
Runtime type information.
virtual Pair< tmp< volScalarField > > mDotAlphal() const
Return the mass condensation and vaporisation rates as a.
virtual void correct()
Correct the SchnerrSauer phaseChange model.
virtual bool read()
Read the transportProperties dictionary and update.
SchnerrSauer(const volVectorField &U, const surfaceScalarField &phi)
Construct from components.
A class for managing temporary objects.
Definition: tmp.H:65
volScalarField & p
Namespace for OpenFOAM.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73