1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 1991-2008 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 Generac License as published by the
13 Free Software Foundation; either 2 of the License, or (at your
14 option) any later version.
16 OpenFOAM is distributed in the ho it will be useful, but WITHOUT
17 ANY WARRANTY; without even the imarranty of MERCHANTABILITY or
18 FITNESS FOR A PARTICULAR PURPOSE.he GNU General Public License
21 You should have received a copy oNU General Public License
22 along with OpenFOAM; if not, write Free Software Foundation,
23 Inc., 51 Franklin St, Fifth Floorn, MA 02110-1301 USA
26 Foam::phaseChangeTwoPhaseMixtures::SchnerrSauer
29 SchnerrSauer cavitation model.
33 Schnerr, G. H., And Sauer, J.,
34 "Physical and Numerical Modeling of Unsteady Cavitation Dynamics",
35 Proc. 4th International Conference on Multiphase Flow,
36 New Orleans, U.S.A., 2001.
42 \*--------------------------------------------------------------------*/
44 #ifndef SchnerrSauer_H
45 #define SchnerrSauer_H
47 #include "phaseChangeTwoPhaseMixture.H"
49 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
53 namespace phaseChangeTwoPhaseMixtures
56 /*--------------------------------------------------------------------*\
58 \*--------------------------------------------------------------------*/
62 public phaseChangeTwoPhaseMixture
66 //- Bubble number density
69 //- Nucleation site diameter
70 dimensionedScalar dNuc_;
72 //- Condensation rate coefficient
73 dimensionedScalar Cc_;
75 //- Vapourisation rate coefficient
76 dimensionedScalar Cv_;
78 dimensionedScalar p0_;
80 //- Nucleation site volume-fraction
81 dimensionedScalar alphaNuc() const;
83 //- Reciprocal bubble radius
84 tmp<volScalarField>rRb(const volScalarField& limitedAlpha1) const;
86 //- Part of the condensation and vapourisation rates
87 tmp<volScalarField> pCoeff(const volScalarField& p) const;
92 //- Runtime type information
93 TypeName("SchnerrSauer");
98 //- construct from components
101 const volVectorField& U,
102 const surfaceScalarField& phi,
103 const word& alpha1Name = "alpha1"
109 virtual ~SchnerrSauer()
115 //- Return the mass condensation and vaporisation rates as a
116 // coefficient to multiply (1 - alphal) for the condensation rate
117 // and a coefficient to multiply alphal for the vaporisation rate
118 virtual Pair<tmp<volScalarField> > mDotAlphal() const;
120 //- Return the mass condensation and vaporisation rates as an
121 // explicit term for the condensation rate and a coefficient to
122 // multiply (p - pSat) for the vaporisation rate
123 virtual Pair<tmp<volScalarField> > mDotP() const;
125 //- Correct the SchnerrSauer phaseChange model
126 virtual void correct();
128 //- Read the transportProperties dictionary and update
133 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
135 } // End namespace phaseChangeTwoPhaseMixtures
136 } // End namespace Foam
138 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
142 // ************************************************************************* //