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 #include <incompressibleTransportModels/twoPhaseMixture.H>
00028
00029
00030
00031 Foam::autoPtr<Foam::phaseChangeTwoPhaseMixture>
00032 Foam::phaseChangeTwoPhaseMixture::New
00033 (
00034 const volVectorField& U,
00035 const surfaceScalarField& phi,
00036 const word& alpha1Name
00037 )
00038 {
00039 IOdictionary transportPropertiesDict
00040 (
00041 IOobject
00042 (
00043 "transportProperties",
00044 U.time().constant(),
00045 U.db(),
00046 IOobject::MUST_READ,
00047 IOobject::NO_WRITE,
00048 false
00049 )
00050 );
00051
00052 word phaseChangeTwoPhaseMixtureTypeName
00053 (
00054 transportPropertiesDict.lookup("phaseChangeTwoPhaseMixture")
00055 );
00056
00057 Info<< "Selecting phaseChange model "
00058 << phaseChangeTwoPhaseMixtureTypeName << endl;
00059
00060 componentsConstructorTable::iterator cstrIter =
00061 componentsConstructorTablePtr_
00062 ->find(phaseChangeTwoPhaseMixtureTypeName);
00063
00064 if (cstrIter == componentsConstructorTablePtr_->end())
00065 {
00066 FatalErrorIn
00067 (
00068 "phaseChangeTwoPhaseMixture::New"
00069 ) << "Unknown phaseChangeTwoPhaseMixture type "
00070 << phaseChangeTwoPhaseMixtureTypeName << endl << endl
00071 << "Valid phaseChangeTwoPhaseMixtures are : " << endl
00072 << componentsConstructorTablePtr_->sortedToc()
00073 << exit(FatalError);
00074 }
00075
00076 return autoPtr<phaseChangeTwoPhaseMixture>(cstrIter()(U, phi, alpha1Name));
00077 }
00078
00079
00080