145 lines
3.9 KiB
C
145 lines
3.9 KiB
C
|
// Initialise fluid field pointer lists
|
||
|
PtrList<basicPsiThermo> thermoFluid(fluidRegions.size());
|
||
|
PtrList<volScalarField> rhoFluid(fluidRegions.size());
|
||
|
PtrList<volScalarField> KFluid(fluidRegions.size());
|
||
|
PtrList<volVectorField> UFluid(fluidRegions.size());
|
||
|
PtrList<surfaceScalarField> phiFluid(fluidRegions.size());
|
||
|
PtrList<uniformDimensionedVectorField> gFluid(fluidRegions.size());
|
||
|
PtrList<compressible::turbulenceModel> turbulence(fluidRegions.size());
|
||
|
PtrList<volScalarField> DpDtf(fluidRegions.size());
|
||
|
|
||
|
List<scalar> initialMassFluid(fluidRegions.size());
|
||
|
List<label> pRefCellFluid(fluidRegions.size(),0);
|
||
|
List<scalar> 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 KFluid\n" << endl;
|
||
|
KFluid.set
|
||
|
(
|
||
|
i,
|
||
|
new volScalarField
|
||
|
(
|
||
|
IOobject
|
||
|
(
|
||
|
"K",
|
||
|
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]
|
||
|
);
|
||
|
}
|
||
|
|
||
|
|