// Initialise solid field pointer lists PtrList coordinates(solidRegions.size()); PtrList thermos(solidRegions.size()); PtrList radiations(solidRegions.size()); PtrList solidHeatSources(solidRegions.size()); PtrList betavSolid(solidRegions.size()); PtrList aniAlphas(solidRegions.size()); // Populate solid field pointer lists forAll(solidRegions, i) { Info<< "*** Reading solid mesh thermophysical properties for region " << solidRegions[i].name() << nl << endl; Info<< " Adding to thermos\n" << endl; thermos.set(i, solidThermo::New(solidRegions[i])); Info<< " Adding to radiations\n" << endl; radiations.set(i, radiation::radiationModel::New(thermos[i].T())); Info<< " Adding fvOptions\n" << endl; solidHeatSources.set ( i, new fv::options(solidRegions[i]) ); if (!thermos[i].isotropic()) { Info<< " Adding coordinateSystems\n" << endl; coordinates.set ( i, coordinateSystem::New ( solidRegions[i], thermos[i], coordinateSystem::typeName_() ) ); tmp tkappaByCp = thermos[i].Kappa()/thermos[i].Cp(); aniAlphas.set ( i, new volSymmTensorField ( IOobject ( "Anialpha", runTime.timeName(), solidRegions[i], IOobject::NO_READ, IOobject::NO_WRITE ), solidRegions[i], dimensionedSymmTensor(tkappaByCp().dimensions(), Zero), zeroGradientFvPatchSymmTensorField::typeName ) ); aniAlphas[i].primitiveFieldRef() = coordinates[i].transformPrincipal ( solidRegions[i].cellCentres(), tkappaByCp() ); aniAlphas[i].correctBoundaryConditions(); } IOobject betavSolidIO ( "betavSolid", runTime.timeName(), solidRegions[i], IOobject::MUST_READ, IOobject::AUTO_WRITE ); if (betavSolidIO.typeHeaderOk(true)) { betavSolid.set ( i, new volScalarField(betavSolidIO, solidRegions[i]) ); } else { betavSolid.set ( i, new volScalarField ( IOobject ( "betavSolid", runTime.timeName(), solidRegions[i], IOobject::NO_READ, IOobject::NO_WRITE ), solidRegions[i], dimensionedScalar("1", dimless, scalar(1)) ) ); } }