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 "Chung.H"
00027 #include <OpenFOAM/addToRunTimeSelectionTable.H>
00028
00029
00030
00031 namespace Foam
00032 {
00033 namespace compressibilityModels
00034 {
00035 defineTypeNameAndDebug(Chung, 0);
00036 addToRunTimeSelectionTable
00037 (
00038 barotropicCompressibilityModel,
00039 Chung,
00040 dictionary
00041 );
00042 }
00043 }
00044
00045
00046
00047 Foam::compressibilityModels::Chung::Chung
00048 (
00049 const dictionary& compressibilityProperties,
00050 const volScalarField& gamma,
00051 const word& psiName
00052 )
00053 :
00054 barotropicCompressibilityModel(compressibilityProperties, gamma, psiName),
00055 psiv_(compressibilityProperties_.lookup("psiv")),
00056 psil_(compressibilityProperties_.lookup("psil")),
00057 rhovSat_(compressibilityProperties_.lookup("rhovSat")),
00058 rholSat_(compressibilityProperties_.lookup("rholSat"))
00059 {
00060 correct();
00061 }
00062
00063
00064
00065
00066 void Foam::compressibilityModels::Chung::correct()
00067 {
00068 volScalarField sfa = sqrt
00069 (
00070 (rhovSat_/psiv_)
00071 /((scalar(1) - gamma_)*rhovSat_/psiv_ + gamma_*rholSat_/psil_)
00072 );
00073
00074 psi_ = sqr
00075 (
00076 ((scalar(1) - gamma_)/sqrt(psiv_) + gamma_*sfa/sqrt(psil_))
00077 *sqrt(psiv_*psil_)/sfa
00078 );
00079 }
00080
00081
00082 bool Foam::compressibilityModels::Chung::read
00083 (
00084 const dictionary& compressibilityProperties
00085 )
00086 {
00087 barotropicCompressibilityModel::read(compressibilityProperties);
00088
00089 compressibilityProperties_.lookup("psiv") >> psiv_;
00090 compressibilityProperties_.lookup("psil") >> psil_;
00091 compressibilityProperties_.lookup("rhovSat") >> rhovSat_;
00092 compressibilityProperties_.lookup("rholSat") >> rholSat_;
00093
00094 return true;
00095 }
00096
00097
00098