Info<< "Creating combustion model\n" << endl; autoPtr<combustionModels::psiCombustionModel> combustion ( combustionModels::psiCombustionModel::New(mesh) ); psiReactionThermo& thermo = combustion->thermo(); thermo.validate(args.executable(), "h", "e"); SLGThermo slgThermo(mesh, thermo); basicSpecieMixture& composition = thermo.composition(); PtrList<volScalarField>& Y = composition.Y(); const word inertSpecie(thermo.lookup("inertSpecie")); Info<< "Creating field rho\n" << endl; volScalarField rho ( IOobject ( "rho", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::AUTO_WRITE ), thermo.rho() ); volScalarField& p = thermo.p(); const volScalarField& T = thermo.T(); const volScalarField& psi = thermo.psi(); Info<< "\nReading field U\n" << endl; volVectorField U ( IOobject ( "U", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE ), mesh ); #include "compressibleCreatePhi.H" Info<< "Creating turbulence model\n" << endl; autoPtr<compressible::turbulenceModel> turbulence ( compressible::turbulenceModel::New ( rho, U, phi, thermo ) ); // Set the turbulence into the combustion model combustion->setTurbulence(turbulence()); Info<< "Creating field dpdt\n" << endl; volScalarField dpdt ( IOobject ( "dpdt", runTime.timeName(), mesh ), mesh, dimensionedScalar("dpdt", p.dimensions()/dimTime, 0) ); Info<< "Creating field kinetic energy K\n" << endl; volScalarField K("K", 0.5*magSqr(U)); #include "readGravitationalAcceleration.H" #include "readhRef.H" Info<< "Calculating field g.h\n" << endl; dimensionedScalar ghRef(g & (cmptMag(g.value())/mag(g.value()))*hRef); volScalarField gh("gh", (g & mesh.C()) - ghRef); surfaceScalarField ghf("ghf", (g & mesh.Cf()) - ghRef); volScalarField p_rgh ( IOobject ( "p_rgh", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE ), mesh ); // Force p_rgh to be consistent with p p_rgh = p - rho*gh; multivariateSurfaceInterpolationScheme<scalar>::fieldTable fields; forAll(Y, i) { fields.add(Y[i]); } fields.add(thermo.he()); IOdictionary additionalControlsDict ( IOobject ( "additionalControls", runTime.constant(), mesh, IOobject::MUST_READ_IF_MODIFIED, IOobject::NO_WRITE ) ); Switch solvePrimaryRegion ( additionalControlsDict.lookup("solvePrimaryRegion") ); volScalarField dQ ( IOobject ( "dQ", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::AUTO_WRITE ), mesh, dimensionedScalar("dQ", dimEnergy/dimTime, 0.0) );