diff --git a/applications/solvers/multiphase/interCondensingEvaporatingFoam/Make/options b/applications/solvers/multiphase/interCondensingEvaporatingFoam/Make/options index 373084db4b..e3fb4e28e5 100644 --- a/applications/solvers/multiphase/interCondensingEvaporatingFoam/Make/options +++ b/applications/solvers/multiphase/interCondensingEvaporatingFoam/Make/options @@ -1,6 +1,7 @@ interPhaseChangePath = $(FOAM_SOLVERS)/multiphase/interPhaseChangeFoam EXE_INC = \ + -I. \ -ItemperaturePhaseChangeTwoPhaseMixtures/lnInclude \ -I$(interPhaseChangePath) \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ diff --git a/applications/solvers/multiphase/interCondensingEvaporatingFoam/createFields.H b/applications/solvers/multiphase/interCondensingEvaporatingFoam/createFields.H index c0e2adcb51..4d43cf3d5d 100644 --- a/applications/solvers/multiphase/interCondensingEvaporatingFoam/createFields.H +++ b/applications/solvers/multiphase/interCondensingEvaporatingFoam/createFields.H @@ -1,143 +1,142 @@ - Info<< "Reading field p_rgh\n" << endl; - volScalarField p_rgh +Info<< "Reading field p_rgh\n" << endl; +volScalarField p_rgh +( + IOobject ( - IOobject - ( - "p_rgh", - runTime.timeName(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - mesh - ); - - Info<< "Reading field U\n" << endl; - volVectorField U - ( - IOobject - ( - "U", - runTime.timeName(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - mesh - ); - - #include "createPhi.H" - - // Creating e based thermo - autoPtr thermo; - thermo.set(new twoPhaseMixtureEThermo(U, phi)); - - // Create mixture and - Info<< "Creating temperaturePhaseChangeTwoPhaseMixture\n" << endl; - autoPtr mixture = - temperaturePhaseChangeTwoPhaseMixture::New(thermo(), mesh); - - - volScalarField& T = thermo->T(); - volScalarField& e = thermo->he(); - e.oldTime(); - - // Correct e from T and alpha - //thermo->correct(); - - volScalarField& alpha1(thermo->alpha1()); - volScalarField& alpha2(thermo->alpha2()); - - const dimensionedScalar& rho1 = thermo->rho1(); - const dimensionedScalar& rho2 = thermo->rho2(); - - // Need to store rho for ddt(rho, U) - volScalarField rho - ( - IOobject - ( - "rho", - runTime.timeName(), - mesh, - IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE - ), - alpha1*rho1 + alpha2*rho2, - alpha1.boundaryField().types() - ); - rho.oldTime(); - - // Construct interface from alpha1 distribution - interfaceProperties interface - ( - alpha1, - U, - thermo->transportPropertiesDict() - ); - - // Construct incompressible turbulence model - autoPtr turbulence - ( - incompressible::turbulenceModel::New(U, phi, thermo()) - ); - - - Info<< "Calculating field g.h\n" << endl; - volScalarField gh("gh", g & mesh.C()); - surfaceScalarField ghf("ghf", g & mesh.Cf()); - - volScalarField& p = thermo->p(); - - label pRefCell = 0; - scalar pRefValue = 0.0; - setRefCell - ( - p, - p_rgh, - pimple.dict(), - pRefCell, - pRefValue - ); - - if (p_rgh.needReference()) - { - p += dimensionedScalar - ( - "p", - p.dimensions(), - pRefValue - getRefCellValue(p, pRefCell) - ); - p_rgh = p - rho*gh; - } - - // Turbulent Prandtl number - dimensionedScalar Prt("Prt", dimless, thermo->transportPropertiesDict()); - - volScalarField kappaEff - ( - IOobject - ( - "kappaEff", - runTime.timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - thermo->kappa() - ); - - Info<< "Creating field kinetic energy K\n" << endl; - volScalarField K("K", 0.5*magSqr(U)); - - Info<< "Creating field pDivU\n" << endl; - volScalarField pDivU - ( - IOobject - ( - "pDivU", - runTime.timeName(), - mesh - ), + "p_rgh", + runTime.timeName(), mesh, - dimensionedScalar("pDivU", p.dimensions()/dimTime, 0) + IOobject::MUST_READ, + IOobject::AUTO_WRITE + ), + mesh +); + +Info<< "Reading field U\n" << endl; +volVectorField U +( + IOobject + ( + "U", + runTime.timeName(), + mesh, + IOobject::MUST_READ, + IOobject::AUTO_WRITE + ), + mesh +); + +#include "createPhi.H" + +// Creating e based thermo +autoPtr thermo; +thermo.set(new twoPhaseMixtureEThermo(U, phi)); + +// Create mixture and +Info<< "Creating temperaturePhaseChangeTwoPhaseMixture\n" << endl; +autoPtr mixture = + temperaturePhaseChangeTwoPhaseMixture::New(thermo(), mesh); + + +// Correct e from T and alpha +//thermo->correct(); + +volScalarField& alpha1(thermo->alpha1()); +volScalarField& alpha2(thermo->alpha2()); + +const dimensionedScalar& rho1 = thermo->rho1(); +const dimensionedScalar& rho2 = thermo->rho2(); + +// Need to store rho for ddt(rho, U) +volScalarField rho +( + IOobject + ( + "rho", + runTime.timeName(), + mesh, + IOobject::READ_IF_PRESENT, + IOobject::AUTO_WRITE + ), + alpha1*rho1 + alpha2*rho2, + alpha1.boundaryField().types() +); +rho.oldTime(); + +// Construct interface from alpha1 distribution +interfaceProperties interface +( + alpha1, + U, + thermo->transportPropertiesDict() +); + +// Construct incompressible turbulence model +autoPtr turbulence +( + incompressible::turbulenceModel::New(U, phi, thermo()) +); + +#include "readGravitationalAcceleration.H" +#include "readhRef.H" +#include "gh.H" + +volScalarField& p = thermo->p(); + +label pRefCell = 0; +scalar pRefValue = 0.0; +setRefCell +( + p, + p_rgh, + pimple.dict(), + pRefCell, + pRefValue +); + +if (p_rgh.needReference()) +{ + p += dimensionedScalar + ( + "p", + p.dimensions(), + pRefValue - getRefCellValue(p, pRefCell) ); + p_rgh = p - rho*gh; +} + +mesh.setFluxRequired(p_rgh.name()); +mesh.setFluxRequired(alpha1.name()); + +// Turbulent Prandtl number +dimensionedScalar Prt("Prt", dimless, thermo->transportPropertiesDict()); + +volScalarField kappaEff +( + IOobject + ( + "kappaEff", + runTime.timeName(), + mesh, + IOobject::NO_READ, + IOobject::NO_WRITE + ), + thermo->kappa() +); + +Info<< "Creating field kinetic energy K\n" << endl; +volScalarField K("K", 0.5*magSqr(U)); + +Info<< "Creating field pDivU\n" << endl; +volScalarField pDivU +( + IOobject + ( + "pDivU", + runTime.timeName(), + mesh + ), + mesh, + dimensionedScalar("pDivU", p.dimensions()/dimTime, 0) +); + diff --git a/applications/solvers/multiphase/interCondensingEvaporatingFoam/interCondensatingEvaporatingFoam.C b/applications/solvers/multiphase/interCondensingEvaporatingFoam/interCondensatingEvaporatingFoam.C index 362e4d0132..d9981659b8 100644 --- a/applications/solvers/multiphase/interCondensingEvaporatingFoam/interCondensatingEvaporatingFoam.C +++ b/applications/solvers/multiphase/interCondensingEvaporatingFoam/interCondensatingEvaporatingFoam.C @@ -56,19 +56,22 @@ Description int main(int argc, char *argv[]) { + #include "postProcess.H" + #include "setRootCase.H" #include "createTime.H" #include "createMesh.H" - - pimpleControl pimple(mesh); - - #include "readGravitationalAcceleration.H" + #include "createControl.H" #include "createFields.H" #include "createFvOptions.H" #include "createTimeControls.H" #include "CourantNo.H" #include "setInitialDeltaT.H" + volScalarField& T = thermo->T(); + volScalarField& e = thermo->he(); + e.oldTime(); + turbulence->validate(); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //