BUG: UListIO: byteSize overflowing on really big faceLists
[OpenFOAM-2.0.x.git] / applications / solvers / multiphase / interPhaseChangeFoam / phaseChangeTwoPhaseMixtures / Merkle / Merkle.H
blob9351afd2de771fc6a81a20d1a8ee534af9d6160c
1 /*---------------------------------------------------------------------------*\
2   ========Merkle=                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
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
19     for more details.
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/>.
24 Class
25     Foam::phaseChangeTwoPhaseMixtures::Merkle
27 Description
28     Merkle cavitation model.
30     Reference:
31     \verbatim
32         C. L. Merkle, J. Feng, and P. E. O. Buelow,
33         "Computational modeling of the dynamics of sheet cavitation",
34         in Proceedings Third International Symposium on Cavitation
35         Grenoble, France 1998.
36    \endverbatim
38 SourceFiles
39     Merkle.C
41 \*--------------------------------------------------------------------*/
43 #ifndef Merkle_H
44 #define Merkle_H
46 #include "phaseChangeTwoPhaseMixture.H"
48 // * * * * * * * * * * * * * * * * *  * * * * * * * * * * * * * * * * //
50 namespace Foam
52 namespace phaseChangeTwoPhaseMixtures
55 /*--------------------------------------------------------------------*\
56                               Class Merkle
57 \*--------------------------------------------------------------------*/
59 class Merkle
61     public phaseChangeTwoPhaseMixture
63     // Private data
65         dimensionedScalar UInf_;
66         dimensionedScalar tInf_;
67         dimensionedScalar Cc_;
68         dimensionedScalar Cv_;
70         dimensionedScalar p0_;
72         dimensionedScalar mcCoeff_;
73         dimensionedScalar mvCoeff_;
76 public:
78     //- Runtime type information
79     TypeName("Merkle");
82     // Constructors
84         //- construct from components
85         Merkle
86         (
87             const volVectorField& U,
88             const surfaceScalarField& phi,
89             const word& alpha1Name = "alpha1"
90         );
93     //- Destructor
94     virtual ~Merkle()
95     {}
98     // Member Functions
100         //- Return the mass condensation and vaporisation rates as a
101         //  coefficient to multiply (1 - alphal) for the condensation rate
102         //  and a coefficient to multiply  alphal for the vaporisation rate
103         virtual Pair<tmp<volScalarField> > mDotAlphal() const;
105         //- Return the mass condensation and vaporisation rates as an
106         //  explicit term for the condensation rate and a coefficient to
107         //  multiply (p - pSat) for the vaporisation rate
108         virtual Pair<tmp<volScalarField> > mDotP() const;
110         //- Correct the Merkle phaseChange model
111         virtual void correct();
113         //- Read the transportProperties dictionary and update
114         virtual bool read();
118 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
120 } // End namespace phaseChangeTwoPhaseMixtures
121 } // End namespace Foam
123 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
125 #endif
127 // ************************************************************************* //