EauEqn.H
Go to the documentation of this file.
1 if (ign.ignited())
2 {
3  volScalarField& heau = thermo.heu();
4 
5  fvScalarMatrix heauEqn
6  (
7  betav*fvm::ddt(rho, heau) + mvConvection->fvmDiv(phi, heau)
8  + (betav*fvc::ddt(rho, K) + fvc::div(phi, K))*rho/thermo.rhou()
9  + (
10  heau.name() == "eau"
11  ? fvc::div
12  (
14  p,
15  "div(phiv,p)"
16  )*rho/thermo.rhou()
17  : -betav*dpdt*rho/thermo.rhou()
18  )
19  - fvm::laplacian(Db, heau)
20 
21  // These terms cannot be used in partially-premixed combustion due to
22  // the resultant inconsistency between ft and heau transport.
23  // A possible solution would be to solve for ftu as well as ft.
24  //- fvm::div(muEff*fvc::grad(b)/(b + 0.001), heau)
25  //+ fvm::Sp(fvc::div(muEff*fvc::grad(b)/(b + 0.001)), heau)
26  ==
27  betav*fvOptions(rho, heau)
28  );
29 
30  fvOptions.constrain(heauEqn);
31 
32  heauEqn.solve();
33 
34  fvOptions.correct(heau);
35 }
surfaceScalarField & phi
fvMatrix< scalar > fvScalarMatrix
Definition: fvMatricesFwd.H:42
tmp< GeometricField< Type, fvPatchField, volMesh > > div(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
Definition: fvcDiv.C:47
tmp< surfaceScalarField > interpolate(const RhoType &rho)
tmp< GeometricField< Type, fvPatchField, volMesh > > laplacian(const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
Definition: fvcLaplacian.C:45
CGAL::Exact_predicates_exact_constructions_kernel K
fv::options & fvOptions
tmp< GeometricField< Type, fvPatchField, volMesh > > ddt(const dimensioned< Type > dt, const fvMesh &mesh)
Definition: fvcDdt.C:45
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Definition: volFieldsFwd.H:52
psiReactionThermo & thermo
Definition: createFields.H:31
const volScalarField & betav
volScalarField & dpdt
volScalarField Db("Db", turbulence->muEff())
tmp< fv::convectionScheme< scalar > > mvConvection(fv::convectionScheme< scalar >::New(mesh, fields, phi, mesh.divScheme("div(phi,Yi_h)")))
volScalarField & p