Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include "phaseChangeTwoPhaseMixture.H"
00027
00028
00029
00030 namespace Foam
00031 {
00032 defineTypeNameAndDebug(phaseChangeTwoPhaseMixture, 0);
00033 defineRunTimeSelectionTable(phaseChangeTwoPhaseMixture, components);
00034 }
00035
00036
00037
00038 Foam::phaseChangeTwoPhaseMixture::phaseChangeTwoPhaseMixture
00039 (
00040 const word& type,
00041 const volVectorField& U,
00042 const surfaceScalarField& phi,
00043 const word& alpha1Name
00044 )
00045 :
00046 twoPhaseMixture(U, phi, alpha1Name),
00047 phaseChangeTwoPhaseMixtureCoeffs_(subDict(type + "Coeffs")),
00048 pSat_(lookup("pSat"))
00049 {}
00050
00051
00052
00053
00054 Foam::Pair<Foam::tmp<Foam::volScalarField> >
00055 Foam::phaseChangeTwoPhaseMixture::vDotAlphal() const
00056 {
00057 volScalarField alphalCoeff = 1.0/rho1() - alpha1_*(1.0/rho1() - 1.0/rho2());
00058 Pair<tmp<volScalarField> > mDotAlphal = this->mDotAlphal();
00059
00060 return Pair<tmp<volScalarField> >
00061 (
00062 alphalCoeff*mDotAlphal[0],
00063 alphalCoeff*mDotAlphal[1]
00064 );
00065 }
00066
00067 Foam::Pair<Foam::tmp<Foam::volScalarField> >
00068 Foam::phaseChangeTwoPhaseMixture::vDotP() const
00069 {
00070 dimensionedScalar pCoeff(1.0/rho1() - 1.0/rho2());
00071 Pair<tmp<volScalarField> > mDotP = this->mDotP();
00072
00073 return Pair<tmp<volScalarField> >(pCoeff*mDotP[0], pCoeff*mDotP[1]);
00074 }
00075
00076
00077 bool Foam::phaseChangeTwoPhaseMixture::read()
00078 {
00079 if (twoPhaseMixture::read())
00080 {
00081 phaseChangeTwoPhaseMixtureCoeffs_ = subDict(type() + "Coeffs");
00082 lookup("pSat") >> pSat_;
00083
00084 return true;
00085 }
00086 else
00087 {
00088 return false;
00089 }
00090 }
00091
00092
00093