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  fvm::ddt(rho, heau) + mvConvection->fvmDiv(phi, heau)
8  + (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  : -dpdt*rho/thermo.rhou()
18  )
19  - fvm::laplacian(turbulence->alphaEff(), 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  ==
28  fvOptions(rho, heau)
29  );
30 
31  fvOptions.constrain(heauEqn);
32 
33  heauEqn.solve();
34 
35  fvOptions.correct(heau);
36 }
fvMatrix< scalar > fvScalarMatrix
Definition: fvMatricesFwd.H:42
fv::options & fvOptions
surfaceScalarField & phi
tmp< GeometricField< Type, fvPatchField, volMesh > > div(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
Definition: fvcDiv.C:47
rhoReactionThermo & thermo
Definition: createFields.H:28
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
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
volScalarField & dpdt
Info<< "Reading field U\"<< endl;volVectorField U(IOobject("U", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE), mesh);volScalarField rho(IOobject("rho", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::AUTO_WRITE), thermo.rho());volVectorField rhoU(IOobject("rhoU", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::NO_WRITE), rho *U);volScalarField rhoE(IOobject("rhoE", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::NO_WRITE), rho *(e+0.5 *magSqr(U)));surfaceScalarField pos(IOobject("pos", runTime.timeName(), mesh), mesh, dimensionedScalar("pos", dimless, 1.0));surfaceScalarField neg(IOobject("neg", runTime.timeName(), mesh), mesh, dimensionedScalar("neg", dimless, -1.0));surfaceScalarField phi("phi", fvc::flux(rhoU));Info<< "Creating turbulence model\"<< endl;autoPtr< compressible::turbulenceModel > turbulence(compressible::turbulenceModel::New(rho, U, phi, thermo))
Definition: createFields.H:94
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate(const GeometricField< Type, fvPatchField, volMesh > &tvf, const surfaceScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
tmp< surfaceScalarField > absolute(const tmp< surfaceScalarField > &tphi, const volVectorField &U)
Return the given relative flux in absolute form.
Definition: fvcMeshPhi.C:188
U
Definition: pEqn.H:72
tmp< fv::convectionScheme< scalar > > mvConvection(fv::convectionScheme< scalar >::New(mesh, fields, phi, mesh.divScheme("div(phi,Yi_h)")))
volScalarField & p