Registration occurs when the temporary field is transferred to a non-temporary field via a constructor or if explicitly transferred to the database via the regIOobject "store" methods.
70 lines
1.4 KiB
C
70 lines
1.4 KiB
C
tmp<surfaceScalarField> talphaPhi1(alphaPhi10);
|
|
|
|
if (nAlphaSubCycles > 1)
|
|
{
|
|
dimensionedScalar totalDeltaT = runTime.deltaT();
|
|
|
|
talphaPhi1 = new surfaceScalarField
|
|
(
|
|
IOobject
|
|
(
|
|
"alphaPhi1",
|
|
runTime.timeName(),
|
|
mesh
|
|
),
|
|
mesh,
|
|
dimensionedScalar(alphaPhi10.dimensions(), 0)
|
|
);
|
|
|
|
surfaceScalarField rhoPhiSum
|
|
(
|
|
IOobject
|
|
(
|
|
"rhoPhiSum",
|
|
runTime.timeName(),
|
|
mesh
|
|
),
|
|
mesh,
|
|
dimensionedScalar(rhoPhi.dimensions(), 0)
|
|
);
|
|
|
|
tmp<volScalarField> trSubDeltaT;
|
|
|
|
if (LTS)
|
|
{
|
|
trSubDeltaT =
|
|
fv::localEulerDdt::localRSubDeltaT(mesh, nAlphaSubCycles);
|
|
}
|
|
|
|
for
|
|
(
|
|
subCycle<volScalarField> alphaSubCycle(alpha1, nAlphaSubCycles);
|
|
!(++alphaSubCycle).end();
|
|
)
|
|
{
|
|
#include "alphaEqn.H"
|
|
talphaPhi1.ref() += (runTime.deltaT()/totalDeltaT)*alphaPhi10;
|
|
rhoPhiSum += (runTime.deltaT()/totalDeltaT)*rhoPhi;
|
|
}
|
|
|
|
rhoPhi = rhoPhiSum;
|
|
}
|
|
else
|
|
{
|
|
#include "alphaEqn.H"
|
|
}
|
|
|
|
rho == alpha1*rho1 + alpha2*rho2;
|
|
|
|
const surfaceScalarField& alphaPhi1 = talphaPhi1();
|
|
surfaceScalarField alphaPhi2("alphaPhi2", phi - alphaPhi1);
|
|
|
|
volScalarField::Internal contErr
|
|
(
|
|
(
|
|
fvc::ddt(rho) + fvc::div(rhoPhi)
|
|
- (fvOptions(alpha1, mixture.thermo1().rho())&rho1)
|
|
- (fvOptions(alpha2, mixture.thermo2().rho())&rho2)
|
|
)()
|
|
);
|