Go to the documentation of this file.
68 int main(
int argc,
char *argv[])
72 "Solver for two compressible, non-isothermal, immiscible fluids"
73 " using VOF phase-fraction based interface capturing approach.\n"
74 "Supports dynamic mesh motions including overset cases."
86 #include "createDyMControls.H"
87 #include "createFields.H"
94 #include "correctPhi.H"
99 #include "CourantNo.H"
100 #include "setInitialDeltaT.H"
108 Info<<
"\nStarting time loop\n" <<
endl;
112 #include "readControls.H"
116 #include "setRDeltaT.H"
120 #include "CourantNo.H"
121 #include "alphaCourantNo.H"
122 #include "setDeltaT.H"
134 scalar timeBeforeMeshUpdate =
runTime.elapsedCpuTime();
140 Info<<
"Execution time for mesh.update() = "
141 <<
runTime.elapsedCpuTime() - timeBeforeMeshUpdate
146 if (
mesh.topoChanging())
159 localMin<scalar>(
mesh).interpolate(cellMask.oldTime());
171 Uf.boundaryFieldRef()[patchI] =
172 Uint.boundaryField()[patchI];
180 #include "correctPhi.H"
186 faceMask = localMin<scalar>(
mesh).interpolate(cellMask);
202 #include "alphaControls.H"
203 #include "compressibleAlphaEqnSubCycle.H"
CMULES: Multidimensional universal limiter for explicit corrected implicit solution.
const surfaceScalarField & ghf
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))
autoPtr< surfaceVectorField > Uf
surfaceScalarField faceMask(localMin< scalar >(mesh).interpolate(cellMask))
Ostream & endl(Ostream &os)
Creates and initialises the velocity velocity field Uf.
Sets blocked cells mask field.
Sets blocked cells mask field.
const volScalarField & gh
tmp< GeometricField< Type, faPatchField, areaMesh > > div(const GeometricField< Type, faePatchField, edgeMesh > &ssf)
const volScalarField & psi2
void makeRelative(surfaceScalarField &phi, const volVectorField &U)
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Execute application functionObjects to post-process existing results.
const uniformDimensionedVectorField & g
const volScalarField & psi1
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
Read the control parameters used by setDeltaT.
Calculates and outputs the mean and maximum Courant Numbers.
GeometricField< vector, fvsPatchField, surfaceMesh > surfaceVectorField
Info<< "Creating temperaturePhaseChangeTwoPhaseMixture\n"<< endl;autoPtr< temperaturePhaseChangeTwoPhaseMixture > mixture
tmp< surfaceScalarField > talphaPhi1Corr0
Adjust the balance of fluxes on the faces between interpolated and calculated to obey continuity.
static tmp< GeometricField< Type, faePatchField, edgeMesh > > interpolate(const GeometricField< Type, faPatchField, areaMesh > &tvf, const edgeScalarField &faceFlux, Istream &schemeData)
tmp< surfaceScalarField > absolute(const tmp< surfaceScalarField > &tphi, const volVectorField &U)
Provides functions smooth spread and sweep which use the FaceCellWave algorithm to smooth and redistr...