Go to the documentation of this file.
63 int main(
int argc,
char *argv[])
67 "Solver for two incompressible, isothermal immiscible fluids using"
68 " VOF phase-fraction based interface capturing\n"
69 "With optional mesh motion and mesh topology changes including"
70 " adaptive re-meshing."
78 #include "initContinuityErrs.H"
81 #include "createDyMControls.H"
82 #include "createFields.H"
93 IOobject::READ_IF_PRESENT,
102 #include "correctPhi.H"
113 #include "CourantNo.H"
114 #include "setInitialDeltaT.H"
118 Info<<
"\nStarting time loop\n" <<
endl;
122 #include "readControls.H"
126 #include "setRDeltaT.H"
130 #include "CourantNo.H"
131 #include "alphaCourantNo.H"
132 #include "setDeltaT.H"
144 scalar timeBeforeMeshUpdate =
runTime.elapsedCpuTime();
150 Info<<
"Execution time for mesh.update() = "
151 <<
runTime.elapsedCpuTime() - timeBeforeMeshUpdate
156 if (
mesh.topoChanging())
178 Uf += (1-faceMaskOld)*Uint;
183 Uf.boundaryFieldRef()[patchI] =
184 Uint.boundaryField()[patchI];
192 #include "correctPhi.H"
217 #include "alphaControls.H"
218 #include "alphaEqnSubCycle.H"
CMULES: Multidimensional universal limiter for explicit corrected implicit solution.
const surfaceScalarField & ghf
tmp< volScalarField > rAU
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
void makeRelative(surfaceScalarField &phi, const volVectorField &U)
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Execute application functionObjects to post-process existing results.
const uniformDimensionedVectorField & g
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)
Provides functions smooth spread and sweep which use the FaceCellWave algorithm to smooth and redistr...