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::fieldTable fields; volScalarField magRhoU = mag(rhoU); volScalarField H("H", (rhoE + p)/rho); fields.add(rho); fields.add(magRhoU); fields.add(H);