101 lines
1.8 KiB
C
101 lines
1.8 KiB
C
#include "createRDeltaT.H"
|
|
|
|
Info<< "Reading field p_rgh\n" << endl;
|
|
volScalarField p_rgh
|
|
(
|
|
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"
|
|
|
|
Info<< "Constructing twoPhaseMixtureThermo\n" << endl;
|
|
twoPhaseMixtureThermo mixture(U, phi);
|
|
|
|
volScalarField& alpha1(mixture.alpha1());
|
|
volScalarField& alpha2(mixture.alpha2());
|
|
|
|
Info<< "Reading thermophysical properties\n" << endl;
|
|
|
|
const volScalarField& rho1 = mixture.thermo1().rho();
|
|
const volScalarField& rho2 = mixture.thermo2().rho();
|
|
|
|
volScalarField rho
|
|
(
|
|
IOobject
|
|
(
|
|
"rho",
|
|
runTime.timeName(),
|
|
mesh,
|
|
IOobject::READ_IF_PRESENT,
|
|
IOobject::AUTO_WRITE
|
|
),
|
|
alpha1*rho1 + alpha2*rho2
|
|
);
|
|
|
|
|
|
dimensionedScalar pMin
|
|
(
|
|
"pMin",
|
|
dimPressure,
|
|
mixture
|
|
);
|
|
|
|
mesh.setFluxRequired(p_rgh.name());
|
|
mesh.setFluxRequired(alpha1.name());
|
|
|
|
|
|
#include "readGravitationalAcceleration.H"
|
|
#include "readhRef.H"
|
|
#include "gh.H"
|
|
|
|
|
|
// Mass flux
|
|
// Initialisation does not matter because rhoPhi is reset after the
|
|
// alpha1 solution before it is used in the U equation.
|
|
surfaceScalarField rhoPhi
|
|
(
|
|
IOobject
|
|
(
|
|
"rhoPhi",
|
|
runTime.timeName(),
|
|
mesh,
|
|
IOobject::NO_READ,
|
|
IOobject::NO_WRITE
|
|
),
|
|
fvc::interpolate(rho)*phi
|
|
);
|
|
|
|
volScalarField dgdt(alpha1*fvc::div(phi));
|
|
|
|
// Construct compressible turbulence model
|
|
autoPtr<compressible::turbulenceModel> turbulence
|
|
(
|
|
compressible::turbulenceModel::New(rho, U, rhoPhi, mixture)
|
|
);
|
|
|
|
#include "createK.H"
|
|
|
|
#include "createMRF.H"
|