130 lines
2.5 KiB
C++
130 lines
2.5 KiB
C++
Info<< "Reading field p\n" << endl;
|
|
volScalarField p
|
|
(
|
|
IOobject
|
|
(
|
|
"p",
|
|
runTime.timeName(),
|
|
mesh,
|
|
IOobject::MUST_READ,
|
|
IOobject::AUTO_WRITE
|
|
),
|
|
mesh
|
|
);
|
|
p.oldTime();
|
|
|
|
Info<< "Reading field T\n" << endl;
|
|
volScalarField T
|
|
(
|
|
IOobject
|
|
(
|
|
"T",
|
|
runTime.timeName(),
|
|
mesh,
|
|
IOobject::MUST_READ,
|
|
IOobject::AUTO_WRITE
|
|
),
|
|
mesh
|
|
);
|
|
T.correctBoundaryConditions();
|
|
|
|
volScalarField psi
|
|
(
|
|
IOobject
|
|
(
|
|
"psi",
|
|
runTime.timeName(),
|
|
mesh,
|
|
IOobject::NO_READ,
|
|
IOobject::AUTO_WRITE
|
|
),
|
|
1.0/(R*T)
|
|
);
|
|
psi.oldTime();
|
|
|
|
# include "rhoBoundaryTypes.H"
|
|
volScalarField rho
|
|
(
|
|
IOobject
|
|
(
|
|
"rho",
|
|
runTime.timeName(),
|
|
mesh,
|
|
IOobject::NO_READ,
|
|
IOobject::AUTO_WRITE
|
|
),
|
|
p*psi,
|
|
rhoBoundaryTypes
|
|
);
|
|
|
|
Info<< "Reading field U\n" << endl;
|
|
volVectorField U
|
|
(
|
|
IOobject
|
|
(
|
|
"U",
|
|
runTime.timeName(),
|
|
mesh,
|
|
IOobject::MUST_READ,
|
|
IOobject::AUTO_WRITE
|
|
),
|
|
mesh
|
|
);
|
|
|
|
# include "rhoUboundaryTypes.H"
|
|
volVectorField rhoU
|
|
(
|
|
IOobject
|
|
(
|
|
"rhoU",
|
|
runTime.timeName(),
|
|
mesh,
|
|
IOobject::NO_READ,
|
|
IOobject::AUTO_WRITE
|
|
),
|
|
rho*U,
|
|
rhoUboundaryTypes
|
|
);
|
|
|
|
# include "rhoEboundaryTypes.H"
|
|
volScalarField rhoE
|
|
(
|
|
IOobject
|
|
(
|
|
"rhoE",
|
|
runTime.timeName(),
|
|
mesh,
|
|
IOobject::NO_READ,
|
|
IOobject::AUTO_WRITE
|
|
),
|
|
rho*Cv*T + 0.5*rho*magSqr(rhoU/rho),
|
|
rhoEboundaryTypes
|
|
);
|
|
|
|
# include "compressibleCreatePhi.H"
|
|
phi.oldTime();
|
|
|
|
surfaceScalarField phiv
|
|
(
|
|
IOobject
|
|
(
|
|
"phiv",
|
|
runTime.timeName(),
|
|
mesh
|
|
),
|
|
phi/linearInterpolate(rho),
|
|
phi.boundaryField().types()
|
|
);
|
|
|
|
rhoU.correctBoundaryConditions();
|
|
|
|
multivariateSurfaceInterpolationScheme<scalar>::fieldTable fields;
|
|
|
|
volScalarField magRhoU = mag(rhoU);
|
|
volScalarField H("H", (rhoE + p)/rho);
|
|
|
|
fields.add(rho);
|
|
fields.add(magRhoU);
|
|
fields.add(H);
|
|
|
|
mesh.schemesDict().setFluxRequired(p.name());
|