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{
14 combustion->correct();
15 Qdot = combustion->Qdot();
16 volScalarField Yt(0.0*Y[0]);
17
19 {
20 if (i != inertIndex && composition.active(i))
21 {
22 volScalarField& Yi = Y[i];
23
24 fvScalarMatrix YEqn
25 (
26 fvm::ddt(rho, Yi)
27 + mvConvection->fvmDiv(phi, Yi)
28 - fvm::laplacian(turbulence->muEff(), Yi)
29 ==
30 parcels.SYi(i, Yi)
31 + fvOptions(rho, Yi)
32 + combustion->R(Yi)
33 + surfaceFilm.Srho(i)
34 );
35
36 YEqn.relax();
37
38 fvOptions.constrain(YEqn);
39
40 YEqn.solve(mesh.solver("Yi"));
41
42 fvOptions.correct(Yi);
43
44 Yi.max(0.0);
45 Yt += Yi;
46 }
47 }
48
49 Y[inertIndex] = scalar(1) - Yt;
50 Y[inertIndex].max(0.0);
51}
fv::options & fvOptions
surfaceScalarField & phi
basicSpecieMixture & composition
PtrList< volScalarField > & Y
regionModels::surfaceFilmModel & surfaceFilm
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