initial commit for version 1.5.x patch release
[OpenFOAM-1.5.x.git] / applications / solvers / multiphase / interPhaseChangeFoam / phaseChangeTwoPhaseMixtures / Merkle / Merkle.H
blob0056139fbf1d8ed1b6df8aeb5e2b8109c165a73d
1 /*---------------------------------------------------------------------------*\
2   ========Merkle=                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 1991-2008 OpenCFD Ltd.
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 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
19     for more details.
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
25 Class
26     Foam::phaseChangeTwoPhaseMixtures::Merkle
28 Description
29     Merkle cavitation model.
31     Reference:
32     @verbatim
33         C. L. Merkle, J. Feng, and P. E. O. Buelow,
34         "Computational modeling of the dynamics of sheet cavitation",
35         in Proceedings Third International Symposium on Cavitation
36         Grenoble, France 1998.
37    @verbatim
39 SourceFiles
40     Merkle.C
42 \*--------------------------------------------------------------------*/
44 #ifndef Merkle_H
45 #define Merkle_H
47 #include "phaseChangeTwoPhaseMixture.H"
49 // * * * * * * * * * * * * * * * * *  * * * * * * * * * * * * * * * * //
51 namespace Foam
53 namespace phaseChangeTwoPhaseMixtures
56 /*--------------------------------------------------------------------*\
57                               Class Merkle
58 \*--------------------------------------------------------------------*/
60 class Merkle
62     public phaseChangeTwoPhaseMixture
64     // Private data
66         dimensionedScalar UInf_;
67         dimensionedScalar tInf_;
68         dimensionedScalar Cc_;
69         dimensionedScalar Cv_;
71         dimensionedScalar p0_;
73         dimensionedScalar mcCoeff_;
74         dimensionedScalar mvCoeff_;
77 public:
79     //- Runtime type information
80     TypeName("Merkle");
83     // Constructors
85         //- construct from components
86         Merkle
87         (
88             const volVectorField& U,
89             const surfaceScalarField& phi,
90             const word& alpha1Name = "alpha1"
91         );
94     // Destructor
96         virtual ~Merkle()
97         {}
100     // Member Functions
102         //- Return the mass condensation and vaporisation rates as a
103         //  coefficient to multiply (1 - alphal) for the condensation rate
104         //  and a coefficient to multiply  alphal for the vaporisation rate
105         virtual Pair<tmp<volScalarField> > mDotAlphal() const;
107         //- Return the mass condensation and vaporisation rates as an
108         //  explicit term for the condensation rate and a coefficient to
109         //  multiply (p - pSat) for the vaporisation rate
110         virtual Pair<tmp<volScalarField> > mDotP() const;
112         //- Correct the Merkle phaseChange model
113         virtual void correct();
115         //- Read the transportProperties dictionary and update
116         virtual bool read();
120 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
122 } // End namespace phaseChangeTwoPhaseMixtures
123 } // End namespace Foam
125 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
127 #endif
129 // ************************************************************************* //