// Initialise fluid field pointer lists PtrList thermoFluid(fluidRegions.size()); PtrList rhoFluid(fluidRegions.size()); PtrList KappaFluid(fluidRegions.size()); PtrList UFluid(fluidRegions.size()); PtrList phiFluid(fluidRegions.size()); PtrList gFluid(fluidRegions.size()); PtrList turbulence(fluidRegions.size()); PtrList DpDtf(fluidRegions.size()); scalarList initialMassFluid(fluidRegions.size()); labelList pRefCellFluid(fluidRegions.size(),0); scalarList pRefValueFluid(fluidRegions.size(),0.0); // Populate fluid field pointer lists forAll(fluidRegions, i) { Info<< "*** Reading fluid mesh thermophysical properties for region " << fluidRegions[i].name() << nl << endl; Info<< " Adding to thermoFluid\n" << endl; thermoFluid.set ( i, basicPsiThermo::New(fluidRegions[i]).ptr() ); Info<< " Adding to rhoFluid\n" << endl; rhoFluid.set ( i, new volScalarField ( IOobject ( "rho", runTime.timeName(), fluidRegions[i], IOobject::NO_READ, IOobject::AUTO_WRITE ), thermoFluid[i].rho() ) ); Info<< " Adding to KappaFluid\n" << endl; KappaFluid.set ( i, new volScalarField ( IOobject ( "Kappa", runTime.timeName(), fluidRegions[i], IOobject::NO_READ, IOobject::NO_WRITE ), thermoFluid[i].Cp()*thermoFluid[i].alpha() ) ); Info<< " Adding to UFluid\n" << endl; UFluid.set ( i, new volVectorField ( IOobject ( "U", runTime.timeName(), fluidRegions[i], IOobject::MUST_READ, IOobject::AUTO_WRITE ), fluidRegions[i] ) ); Info<< " Adding to phiFluid\n" << endl; phiFluid.set ( i, new surfaceScalarField ( IOobject ( "phi", runTime.timeName(), fluidRegions[i], IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE ), linearInterpolate(rhoFluid[i]*UFluid[i]) & fluidRegions[i].Sf() ) ); Info<< " Adding to gFluid\n" << endl; gFluid.set ( i, new uniformDimensionedVectorField ( IOobject ( "g", runTime.constant(), fluidRegions[i], IOobject::MUST_READ, IOobject::NO_WRITE ) ) ); Info<< " Adding to turbulence\n" << endl; turbulence.set ( i, compressible::turbulenceModel::New ( rhoFluid[i], UFluid[i], phiFluid[i], thermoFluid[i] ).ptr() ); initialMassFluid[i] = fvc::domainIntegrate(rhoFluid[i]).value(); setRefCell ( thermoFluid[i].p(), fluidRegions[i].solutionDict().subDict("SIMPLE"), pRefCellFluid[i], pRefValueFluid[i] ); }