FreeFOAM The Cross-Platform CFD Toolkit
Hosted by SourceForge:
Get FreeFOAM at SourceForge.net.
            Fast, secure and Free Open Source software downloads

Merkle.H

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------------*\
00002   ========Merkle=                 |
00003   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
00004    \\    /   O peration     |
00005     \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
00006      \\/     M anipulation  |
00007 -------------------------------------------------------------------------------
00008 License
00009     This file is part of OpenFOAM.
00010 
00011     OpenFOAM is free software: you can redistribute it and/or modify it
00012     under the terms of the GNU General Public License as published by
00013     the Free Software Foundation, either version 3 of the License, or
00014     (at your option) any later version.
00015 
00016     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
00017     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00018     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
00019     for more details.
00020 
00021     You should have received a copy of the GNU General Public License
00022     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
00023 
00024 Class
00025     Foam::phaseChangeTwoPhaseMixtures::Merkle
00026 
00027 Description
00028     Merkle cavitation model.
00029 
00030     Reference:
00031     @verbatim
00032         C. L. Merkle, J. Feng, and P. E. O. Buelow,
00033         "Computational modeling of the dynamics of sheet cavitation",
00034         in Proceedings Third International Symposium on Cavitation
00035         Grenoble, France 1998.
00036    @endverbatim
00037 
00038 SourceFiles
00039     Merkle.C
00040 
00041 \*--------------------------------------------------------------------*/
00042 
00043 #ifndef Merkle_H
00044 #define Merkle_H
00045 
00046 #include "../phaseChangeTwoPhaseMixture/phaseChangeTwoPhaseMixture.H"
00047 
00048 // * * * * * * * * * * * * * * * * *  * * * * * * * * * * * * * * * * //
00049 
00050 namespace Foam
00051 {
00052 namespace phaseChangeTwoPhaseMixtures
00053 {
00054 
00055 /*--------------------------------------------------------------------*\
00056                               Class Merkle
00057 \*--------------------------------------------------------------------*/
00058 
00059 class Merkle
00060 :
00061     public phaseChangeTwoPhaseMixture
00062 {
00063     // Private data
00064 
00065         dimensionedScalar UInf_;
00066         dimensionedScalar tInf_;
00067         dimensionedScalar Cc_;
00068         dimensionedScalar Cv_;
00069 
00070         dimensionedScalar p0_;
00071 
00072         dimensionedScalar mcCoeff_;
00073         dimensionedScalar mvCoeff_;
00074 
00075 
00076 public:
00077 
00078     //- Runtime type information
00079     TypeName("Merkle");
00080 
00081 
00082     // Constructors
00083 
00084         //- construct from components
00085         Merkle
00086         (
00087             const volVectorField& U,
00088             const surfaceScalarField& phi,
00089             const word& alpha1Name = "alpha1"
00090         );
00091 
00092 
00093     // Destructor
00094 
00095         virtual ~Merkle()
00096         {}
00097 
00098 
00099     // Member Functions
00100 
00101         //- Return the mass condensation and vaporisation rates as a
00102         //  coefficient to multiply (1 - alphal) for the condensation rate
00103         //  and a coefficient to multiply  alphal for the vaporisation rate
00104         virtual Pair<tmp<volScalarField> > mDotAlphal() const;
00105 
00106         //- Return the mass condensation and vaporisation rates as an
00107         //  explicit term for the condensation rate and a coefficient to
00108         //  multiply (p - pSat) for the vaporisation rate
00109         virtual Pair<tmp<volScalarField> > mDotP() const;
00110 
00111         //- Correct the Merkle phaseChange model
00112         virtual void correct();
00113 
00114         //- Read the transportProperties dictionary and update
00115         virtual bool read();
00116 };
00117 
00118 
00119 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00120 
00121 } // End namespace phaseChangeTwoPhaseMixtures
00122 } // End namespace Foam
00123 
00124 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00125 
00126 #endif
00127 
00128 // ************************ vim: set sw=4 sts=4 et: ************************ //
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines