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(fvc::absolute(phi, rho, U), p/rho)
12  *rho/thermo.rhou()
13  : -betav*dpdt*rho/thermo.rhou()
14  )
15  - fvm::laplacian(Db, heau)
16 
17  // These terms cannot be used in partially-premixed combustion due to
18  // the resultant inconsistency between ft and heau transport.
19  // A possible solution would be to solve for ftu as well as ft.
20  //- fvm::div(muEff*fvc::grad(b)/(b + 0.001), heau)
21  //+ fvm::Sp(fvc::div(muEff*fvc::grad(b)/(b + 0.001)), heau)
22  ==
23  betav*fvModels.source(rho, heau)
24  );
25 
26  fvConstraints.constrain(heauEqn);
27 
28  heauEqn.solve();
29 
31 }
volScalarField Db("Db", rho *turbulence->nuEff())
tmp< fv::convectionScheme< scalar > > mvConvection(fv::convectionScheme< scalar >::New(mesh, fields, phi, mesh.schemes().div("div(phi,ft_b_ha_hau)")))
bool constrain(fvMatrix< Type > &eqn) const
Apply constraints to an equation.
Foam::fvConstraints & fvConstraints(Foam::fvConstraints::New(mesh))
Foam::fvModels & fvModels(Foam::fvModels::New(mesh))
K
Definition: pEqn.H:75
U
Definition: pEqn.H:72
tmp< VolField< Type > > ddt(const dimensioned< Type > dt, const fvMesh &mesh)
Definition: fvcDdt.C:45
tmp< VolField< Type > > laplacian(const VolField< Type > &vf, const word &name)
Definition: fvcLaplacian.C:45
tmp< VolField< Type > > div(const SurfaceField< Type > &ssf)
Definition: fvcDiv.C:47
tmp< surfaceScalarField > absolute(const tmp< surfaceScalarField > &tphi, const volVectorField &U)
Return the given relative flux in absolute form.
Definition: fvcMeshPhi.C:202
fvMatrix< scalar > fvScalarMatrix
Definition: fvMatricesFwd.H:42
VolField< scalar > volScalarField
Definition: volFieldsFwd.H:61
volScalarField & p
fluidMulticomponentThermo & thermo
Definition: createFields.H:31