1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
7 -------------------------------------------------------------------------------
9 This file is part of OpenFOAM.
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.
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
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/>.
25 Foam::phaseChangeTwoPhaseMixtures::SchnerrSauer
28 SchnerrSauer cavitation model.
32 Schnerr, G. H., And Sauer, J.,
33 "Physical and Numerical Modeling of Unsteady Cavitation Dynamics",
34 Proc. 4th International Conference on Multiphase Flow,
35 New Orleans, U.S.A., 2001.
41 \*--------------------------------------------------------------------*/
43 #ifndef SchnerrSauer_H
44 #define SchnerrSauer_H
46 #include "phaseChangeTwoPhaseMixture.H"
48 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
52 namespace phaseChangeTwoPhaseMixtures
55 /*--------------------------------------------------------------------*\
57 \*--------------------------------------------------------------------*/
61 public phaseChangeTwoPhaseMixture
65 //- Bubble number density
68 //- Nucleation site diameter
69 dimensionedScalar dNuc_;
71 //- Condensation rate coefficient
72 dimensionedScalar Cc_;
74 //- Vapourisation rate coefficient
75 dimensionedScalar Cv_;
77 dimensionedScalar p0_;
79 //- Nucleation site volume-fraction
80 dimensionedScalar alphaNuc() const;
82 //- Reciprocal bubble radius
83 tmp<volScalarField>rRb(const volScalarField& limitedAlpha1) const;
85 //- Part of the condensation and vapourisation rates
86 tmp<volScalarField> pCoeff(const volScalarField& p) const;
91 //- Runtime type information
92 TypeName("SchnerrSauer");
97 //- construct from components
100 const volVectorField& U,
101 const surfaceScalarField& phi,
102 const word& alpha1Name = "alpha1"
107 virtual ~SchnerrSauer()
113 //- Return the mass condensation and vaporisation rates as a
114 // coefficient to multiply (1 - alphal) for the condensation rate
115 // and a coefficient to multiply alphal for the vaporisation rate
116 virtual Pair<tmp<volScalarField> > mDotAlphal() const;
118 //- Return the mass condensation and vaporisation rates as an
119 // explicit term for the condensation rate and a coefficient to
120 // multiply (p - pSat) for the vaporisation rate
121 virtual Pair<tmp<volScalarField> > mDotP() const;
123 //- Correct the SchnerrSauer phaseChange model
124 virtual void correct();
126 //- Read the transportProperties dictionary and update
131 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
133 } // End namespace phaseChangeTwoPhaseMixtures
134 } // End namespace Foam
136 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
140 // ************************************************************************* //