55 #ifndef CLOUD_BASE_TYPE 56 #define CLOUD_BASE_TYPE ReactingMultiphase 57 #define CLOUD_BASE_TYPE_NAME "reacting" 60 #include CLOUD_INCLUDE_FILE(CLOUD_BASE_TYPE) 61 #define basicReactingTypeCloud CLOUD_TYPE(CLOUD_BASE_TYPE) 65 int main(
int argc,
char *argv[])
69 "Transient solver for compressible, turbulent flow" 70 " with reacting, multiphase particle clouds" 71 " and surface film modelling." 74 #define CREATE_MESH createMeshesPostProcess.H 82 #include "createFields.H" 83 #include "createFieldRefs.H" 84 #include "createRegionControls.H" 85 #include "initContinuityErrs.H" 92 #include "compressibleCourantNo.H" 93 #include "setInitialDeltaT.H" 98 Info<<
"\nStarting time loop\n" <<
endl;
107 autoPtr<volScalarField> divrhoU;
122 #include "setRDeltaT.H" 126 #include "compressibleCourantNo.H" 127 #include "setMultiRegionDeltaT.H" 135 autoPtr<volVectorField> rhoU;
142 parcels.storeGlobalPositions();
160 #include "../../compressible/rhoPimpleFoam/correctPhi.H" 177 if (
pimple.nCorrPIMPLE() <= 1)
C-preprocessor cloud macros.
constexpr char nl
The newline '\n' character (0x0a)
tmp< GeometricField< Type, faPatchField, areaMesh > > div(const GeometricField< Type, faePatchField, edgeMesh > &ssf)
Ostream & endl(Ostream &os)
Add newline and flush stream.
GeometricField< vector, fvPatchField, volMesh > volVectorField
const surfaceScalarField & ghf
GeometricField< scalar, fvPatchField, volMesh > volScalarField
psiReactionThermo & thermo
Creates and initialises the velocity field rhoUf if required.
const uniformDimensionedVectorField & g
regionModels::surfaceFilmModel & surfaceFilm
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))
bool solvePrimaryRegion(pimpleDict.getOrDefault("solvePrimaryRegion", true))
Calculates and outputs the mean and maximum Courant Numbers.
tmp< surfaceScalarField > absolute(const tmp< surfaceScalarField > &tphi, const volVectorField &U)
Return the given relative flux in absolute form.
const volScalarField & gh
messageStream Info
Information stream (stdout output on master, null elsewhere)
Execute application functionObjects to post-process existing results.
void makeRelative(surfaceScalarField &phi, const volVectorField &U)
Make the given flux relative.
autoPtr< surfaceVectorField > rhoUf
Provides functions smooth spread and sweep which use the FaceCellWave algorithm to smooth and redistr...