YEqn.H
Go to the documentation of this file.
1tmp<fv::convectionScheme<scalar>> mvConvection
2(
3 fv::convectionScheme<scalar>::New
4 (
5 mesh,
6 fields,
7 phi,
8 mesh.divScheme("div(phi,Yi_h)")
9 )
10);
11
12{
13 combustion->correct();
14 Qdot = combustion->Qdot();
15 volScalarField Yt(0.0*Y[0]);
16
18 {
19 if (i != inertIndex && composition.active(i))
20 {
21 volScalarField& Yi = Y[i];
22
23 fvScalarMatrix YEqn
24 (
25 fvm::ddt(rho, Yi)
26 + mvConvection->fvmDiv(phi, Yi)
27 - fvm::laplacian(turbulence->muEff(), Yi)
28 ==
29 parcels.SYi(i, Yi)
30 + combustion->R(Yi)
31 + fvOptions(rho, Yi)
32 );
33
34 YEqn.relax();
35
36 fvOptions.constrain(YEqn);
37
38 YEqn.solve(mesh.solver("Yi"));
39
40 fvOptions.correct(Yi);
41
42 Yi.max(0.0);
43 Yt += Yi;
44 }
45 }
46
47 Y[inertIndex] = scalar(1) - Yt;
48 Y[inertIndex].max(0.0);
49}
fv::options & fvOptions
surfaceScalarField & phi
basicSpecieMixture & composition
PtrList< volScalarField > & Y
Qdot
Definition: YEqn.H:14
volScalarField Yt(0.0 *Y[0])
tmp< fv::convectionScheme< scalar > > mvConvection(fv::convectionScheme< scalar >::New(mesh, fields, phi, mesh.divScheme("div(phi,Yi_h)")))
dynamicFvMesh & mesh
label inertIndex
compressible::turbulenceModel & turbulence
Info<< "Creating combustion model\n"<< endl;autoPtr< CombustionModel< psiReactionThermo > > combustion(CombustionModel< psiReactionThermo >::New(thermo, turbulence()))
multivariateSurfaceInterpolationScheme< scalar >::fieldTable fields
Definition: createFields.H:97
#define forAll(list, i)
Loop across all elements in list.
Definition: stdFoam.H:333