74 int main(
int argc,
char *argv[])
78 "Solver for compressible premixed/partially-premixed combustion with" 79 " turbulence modelling." 88 #include "readCombustionProperties.H" 89 #include "readGravitationalAcceleration.H" 90 #include "createFields.H" 91 #include "initContinuityErrs.H" 93 #include "compressibleCourantNo.H" 94 #include "setInitialDeltaT.H" 101 Info<<
"\nStarting time loop\n" <<
endl;
103 bool hasChanged =
false;
108 #include "compressibleCourantNo.H" 109 #include "setDeltaT.H" 117 tmagGradP()/
max(tmagGradP())
119 normalisedGradP.writeOpt(IOobject::AUTO_WRITE);
131 bitSet& protectedCell =
132 refCast<dynamicRefineFvMesh>(
mesh).protectedCell();
134 if (protectedCell.empty())
136 protectedCell.setSize(
mesh.nCells());
137 protectedCell =
false;
142 if (
betav[celli] < 0.99)
144 protectedCell.set(celli);
152 bool meshChanged =
mesh.update();
160 if (
runTime.write() && hasChanged)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
Ostream & endl(Ostream &os)
Add newline and flush stream.
Read the control parameters used by setDeltaT.
GeometricField< vector, fvPatchField, volMesh > volVectorField
Info<< "Reading strained laminar flame speed field Su\"<< endl;volScalarField Su(IOobject("Su", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE), mesh);Info<< "Reading field betav\"<< endl;volScalarField betav(IOobject("betav", mesh.facesInstance(), mesh, IOobject::MUST_READ, IOobject::NO_WRITE), mesh);Info<< "Reading field Lobs\"<< endl;volScalarField Lobs(IOobject("Lobs", mesh.facesInstance(), mesh, IOobject::MUST_READ, IOobject::NO_WRITE), mesh);Info<< "Reading field CT\"<< endl;volSymmTensorField CT(IOobject("CT", mesh.facesInstance(), mesh, IOobject::MUST_READ, IOobject::NO_WRITE), mesh);Info<< "Reading field Nv\"<< endl;volScalarField Nv(IOobject("Nv", mesh.facesInstance(), mesh, IOobject::MUST_READ, IOobject::NO_WRITE), mesh);Info<< "Reading field nsv\"<< endl;volSymmTensorField nsv(IOobject("nsv", mesh.facesInstance(), mesh, IOobject::MUST_READ, IOobject::NO_WRITE), mesh);IOdictionary PDRProperties(IOobject("PDRProperties", runTime.constant(), mesh, IOobject::MUST_READ_IF_MODIFIED, IOobject::NO_WRITE));autoPtr< PDRDragModel > drag
#define forAll(list, i)
Loop across all elements in list.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
const volScalarField & betav
Bound the given scalar field if it has gone unbounded.
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))
const dimensionedScalar h
Planck constant.
void makeAbsolute(surfaceScalarField &phi, const volVectorField &U)
Make the given flux absolute.
messageStream Info
Information stream (stdout output on master, null elsewhere)
void makeRelative(surfaceScalarField &phi, const volVectorField &U)
Make the given flux relative.
Read the control parameters used by setDeltaT.
autoPtr< XiModel > flameWrinkling
Create the flame-wrinkling model.
tmp< GeometricField< typename outerProduct< vector, Type >::type, faPatchField, areaMesh >> grad(const GeometricField< Type, faePatchField, edgeMesh > &ssf)