59 int main(
int argc,
char *argv[])
63 "Solver for two incompressible, isothermal immiscible fluids using" 64 " VOF phase-fraction based interface capturing.\n" 65 "Includes MRF and an MPPIC cloud." 74 #include "createControl.H" 76 #include "initContinuityErrs.H" 77 #include "createFields.H" 80 #include "correctPhi.H" 87 #include "CourantNo.H" 88 #include "setInitialDeltaT.H" 93 Info<<
"\nStarting time loop\n" <<
endl;
101 #include "setRDeltaT.H" 105 #include "CourantNo.H" 106 #include "alphaCourantNo.H" 107 #include "setDeltaT.H" 114 Info<<
"Evolving " << kinematicCloud.name() <<
endl;
116 kinematicCloud.evolve();
119 alphac =
max(1.0 - kinematicCloud.theta(), alphacMin);
120 alphac.correctBoundaryConditions();
122 Info<<
"Continuous phase-1 volume fraction = " 123 << alphac.weightedAverage(
mesh.Vsc()).value()
124 <<
" Min(alphac) = " <<
min(alphac).value()
125 <<
" Max(alphac) = " <<
max(alphac).value()
129 alphaRhoPhic = alphacf*
rhoPhi;
130 alphaPhic = alphacf*
phi;
131 alphacRho = alphac*
rho;
148 cloudVolSUSu.correctBoundaryConditions();
150 cloudSU.source() = vector::zero;
155 #include "alphaControls.H" 156 #include "alphaEqnSubCycle.H"
const word zeroGradientType
A zeroGradient patch field type.
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
static tmp< GeometricField< Type, faePatchField, edgeMesh > > interpolate(const GeometricField< Type, faPatchField, areaMesh > &tvf, const edgeScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
constexpr char nl
The newline '\n' character (0x0a)
Info<< "Creating temperaturePhaseChangeTwoPhaseMixture\"<< endl;autoPtr< temperaturePhaseChangeTwoPhaseMixture > mixture
dimensioned< vector > dimensionedVector
Dimensioned vector obtained from generic dimensioned type.
Ostream & endl(Ostream &os)
Add newline and flush stream.
Read the control parameters used by setDeltaT.
GeometricField< vector, fvPatchField, volMesh > volVectorField
const dimensionSet dimVolume(pow3(dimLength))
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
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))
Internal::FieldType & primitiveFieldRef(const bool updateAccessTime=true)
Return a reference to the internal field values.
fvMatrix< vector > fvVectorMatrix
messageStream Info
Information stream (stdout output on master, null elsewhere)
Execute application functionObjects to post-process existing results.
Provides functions smooth spread and sweep which use the FaceCellWave algorithm to smooth and redistr...
Read the control parameters used by setDeltaT.
CMULES: Multidimensional universal limiter for explicit corrected implicit solution.
static constexpr const zero Zero
Global zero (0)