53 lines
1 KiB
C
53 lines
1 KiB
C
tmp<fv::convectionScheme<scalar>> mvConvection
|
|
(
|
|
fv::convectionScheme<scalar>::New
|
|
(
|
|
mesh,
|
|
fields,
|
|
phi,
|
|
mesh.divScheme("div(phi,Yi_h)")
|
|
)
|
|
);
|
|
|
|
{
|
|
combustion->correct();
|
|
dQ = combustion->dQ();
|
|
label inertIndex = -1;
|
|
volScalarField Yt(0.0*Y[0]);
|
|
|
|
forAll(Y, i)
|
|
{
|
|
if (Y[i].name() != inertSpecie)
|
|
{
|
|
volScalarField& Yi = Y[i];
|
|
|
|
fvScalarMatrix YEqn
|
|
(
|
|
mvConvection->fvmDiv(phi, Yi)
|
|
- fvm::laplacian(turbulence->muEff(), Yi)
|
|
==
|
|
parcels.Srho(i)
|
|
+ combustion->R(Yi)
|
|
+ fvOptions(rho, Yi)
|
|
);
|
|
|
|
YEqn.relax();
|
|
|
|
fvOptions.constrain(YEqn);
|
|
|
|
YEqn.solve(mesh.solver("Yi"));
|
|
|
|
fvOptions.correct(Yi);
|
|
|
|
Yi.max(0.0);
|
|
Yt += Yi;
|
|
}
|
|
else
|
|
{
|
|
inertIndex = i;
|
|
}
|
|
}
|
|
|
|
Y[inertIndex] = scalar(1) - Yt;
|
|
Y[inertIndex].max(0.0);
|
|
}
|