Go to the documentation of this file.
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)
Info<< "Reading strained laminar flame speed field Su\n"<< endl;volScalarField Su(IOobject("Su", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE), mesh);Info<< "Reading field betav\n"<< endl;volScalarField betav(IOobject("betav", mesh.facesInstance(), mesh, IOobject::MUST_READ, IOobject::NO_WRITE), mesh);Info<< "Reading field Lobs\n"<< endl;volScalarField Lobs(IOobject("Lobs", mesh.facesInstance(), mesh, IOobject::MUST_READ, IOobject::NO_WRITE), mesh);Info<< "Reading field CT\n"<< endl;volSymmTensorField CT(IOobject("CT", mesh.facesInstance(), mesh, IOobject::MUST_READ, IOobject::NO_WRITE), mesh);Info<< "Reading field Nv\n"<< endl;volScalarField Nv(IOobject("Nv", mesh.facesInstance(), mesh, IOobject::MUST_READ, IOobject::NO_WRITE), mesh);Info<< "Reading field nsv\n"<< 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
Info<< "Reading field U\n"<< 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\n"<< endl;autoPtr< compressible::turbulenceModel > turbulence(compressible::turbulenceModel::New(rho, U, phi, thermo))
tmp< GeometricField< typename outerProduct< vector, Type >::type, faPatchField, areaMesh >> grad(const GeometricField< Type, faePatchField, edgeMesh > &ssf)
Ostream & endl(Ostream &os)
void makeRelative(surfaceScalarField &phi, const volVectorField &U)
const dimensionedScalar h
Bound the given scalar field if it has gone unbounded.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
label max(const labelHashSet &set, label maxValue=labelMin)
const volScalarField & betav
autoPtr< XiModel > flameWrinkling
GeometricField< vector, fvPatchField, volMesh > volVectorField
Read the control parameters used by setDeltaT.
Read the control parameters used by setDeltaT.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
void makeAbsolute(surfaceScalarField &phi, const volVectorField &U)