OpenFOAM-4.x/applications/solvers/compressible/rhoCentralFoam/createFields.H
Henry Weller b0e7c33736 rhoCentralFoam: Reverted correction to BCs
Reverted changes proposed in
http://openfoam.org/mantisbt/view.php?id=1548 as it adversely affects
fixed-value BCs and is formulated to fix an issue with an unphysical
case.  Further analysis of the handling of fixed pressure outlet
conditions as the Mach number approaches 1 is required.
2015-06-18 15:10:48 +01:00

110 lines
1.7 KiB
C

Info<< "Reading thermophysical properties\n" << endl;
autoPtr<psiThermo> pThermo
(
psiThermo::New(mesh)
);
psiThermo& thermo = pThermo();
volScalarField& p = thermo.p();
volScalarField& e = thermo.he();
const volScalarField& T = thermo.T();
const volScalarField& psi = thermo.psi();
const volScalarField& mu = thermo.mu();
bool inviscid(true);
if (max(mu.internalField()) > 0.0)
{
inviscid = false;
}
Info<< "Reading field U\n" << endl;
volVectorField U
(
IOobject
(
"U",
runTime.timeName(),
mesh,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
mesh
);
volScalarField rho
(
IOobject
(
"rho",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::AUTO_WRITE
),
thermo.rho()
);
volVectorField rhoU
(
IOobject
(
"rhoU",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
rho*U
);
volScalarField rhoE
(
IOobject
(
"rhoE",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
rho*(e + 0.5*magSqr(U))
);
surfaceScalarField pos
(
IOobject
(
"pos",
runTime.timeName(),
mesh
),
mesh,
dimensionedScalar("pos", dimless, 1.0)
);
surfaceScalarField neg
(
IOobject
(
"neg",
runTime.timeName(),
mesh
),
mesh,
dimensionedScalar("neg", dimless, -1.0)
);
surfaceScalarField phi("phi", mesh.Sf() & fvc::interpolate(rhoU));
Info<< "Creating turbulence model\n" << endl;
autoPtr<compressible::turbulenceModel> turbulence
(
compressible::turbulenceModel::New
(
rho,
U,
phi,
thermo
)
);