This repository has been archived on 2023-11-20. You can view files and clone it, but cannot push or open issues or pull requests.
foam-extend4.1-coherent-io/applications/solvers/compressible/rhopSonicFoam/createFields.H

129 lines
2.4 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);