48 void Foam::solvers::incompressibleDriftFlux::correctCoNum()
72 "surfaceTensionForce",
192 nuEff += packingDispersion->Dd();
200 alpha1Eqn.
solve(alpha1.name() +
"Diffusion");
202 alphaPhi1 += alpha1Eqn.
flux();
204 alpha2 = scalar(1) - alpha1;
205 alphaPhi2 = phi - alphaPhi1;
207 Info<<
"Phase-1 volume fraction = "
208 << alpha1.weightedAverage(
mesh.
Vsc()).value()
209 <<
" Min(" << alpha1.name() <<
") = " <<
min(alpha1).value()
210 <<
" Max(" << alpha1.name() <<
") = " <<
max(alpha1).value()
220 rhoPhi = alphaPhi1*rho1 + alphaPhi2*rho2;
222 relativeVelocity->correct();
228 momentumTransport->predict();
238 incompressiblePressureCorrector(
p);
248 momentumTransport->correct();
Macros for easy insertion into run-time selection tables.
Generic GeometricField class.
static tmp< GeometricField< Type, GeoMesh, PrimitiveField > > New(const word &name, const Internal &, const PtrList< Patch > &, const HashPtrTable< Source > &=HashPtrTable< Source >())
Return a temporary field constructed from name,.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
bool restart() const
Return true if the run is a restart, i.e. startTime != beginTime.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
const word & name() const
Return const reference to name.
A special matrix type and solver, designed for finite volume solutions of scalar equations....
SolverPerformance< Type > solve(const dictionary &)
Solve segregated or coupled returning the solution statistics.
tmp< SurfaceField< Type > > flux() const
Return the face-flux field from the matrix.
Mesh data needed to do the Finite Volume discretisation.
bool topoChanging() const
Does the mesh topology change?
tmp< DimensionedField< scalar, volMesh > > Vsc() const
Return sub-cycle cell volumes.
Class to represent a mixture of two constant density phases.
Abstract base class for turbulence models (RAS, LES and laminar).
Packing dispersion model.
Abstract base class for run-time selectable region solvers.
pimpleNoLoopControl pimple
PIMPLE inner-loop controls.
const Time & runTime
Time.
const fvMesh & mesh
Region mesh.
volVectorField U_
Velocity field.
const volScalarField & p_rgh
Reference to the buoyant pressure for buoyant cases.
autoPtr< volScalarField > rAU
Inverse momentum equation diagonal.
const volVectorField & U
Reference to the velocity field.
surfaceScalarField phi_
Volumetric flux field.
virtual void correctCoNum()=0
Correct the cached Courant numbers.
Buoyancy related data for the Foam::solvers::isothermalFluid solver module when solving buoyant cases...
bool correctPhi
Switch to correct the flux after mesh change.
virtual scalar maxDeltaT() const
Return the current maximum time-step for stable solution.
Solver module for 2 incompressible fluids using the mixture approach with the drift-flux approximatio...
virtual void thermophysicalPredictor()
Construct and solve the energy equation,.
virtual tmp< surfaceScalarField > surfaceTensionForce() const
Return the interface surface tension force for the momentum equation.
virtual const Foam::pressureReference & pressureReference() const
Return the pressure reference.
virtual void momentumTransportCorrector()
Correct the momentum transport.
virtual void prePredictor()
Called at the start of the PIMPLE loop.
virtual bool divergent() const
Is the flow divergent?
virtual void momentumTransportPredictor()
Predict the momentum transport.
incompressibleDriftFlux(fvMesh &mesh)
Construct from region mesh.
virtual scalar maxDeltaT() const
Return the current maximum time-step for stable solution.
virtual ~incompressibleDriftFlux()
Destructor.
virtual void pressureCorrector()
Construct and solve the pressure equation in the PISO loop.
virtual void setInterfaceRDeltaT(volScalarField &rDeltaT)
Adjust the rDeltaT in the vicinity of the interface.
virtual void thermophysicalTransportCorrector()
Correct the thermophysical transport.
virtual void correctInterface()
Correct the interface properties following mesh-change.
virtual void thermophysicalTransportPredictor()
Predict thermophysical transport.
Solver module base-class for 2 immiscible fluids, with optional mesh motion and mesh topology changes...
A class for managing temporary objects.
Class to represent a VoF mixture.
pimpleControl pimple(mesh)
Foam::fvMesh mesh(Foam::IOobject(regionName, runTime.name(), runTime, Foam::IOobject::MUST_READ), false)
Flux correction functions to ensure continuity.
Calculate the first temporal derivative.
Calculate the matrix for the first temporal derivative.
void correctPhi(surfaceScalarField &phi, const volVectorField &U, const volScalarField &p, const autoPtr< volScalarField > &rAU, const autoPtr< volScalarField > &divU, const pressureReference &pressureReference, nonOrthogonalSolutionControl &pcorrControl)
tmp< VolField< Type > > ddt(const dimensioned< Type > dt, const fvMesh &mesh)
tmp< fvMatrix< Type > > laplacian(const VolField< Type > &vf, const word &name)
tmp< fvMatrix< Type > > ddt(const VolField< Type > &vf)
addToRunTimeSelectionTable(solver, compressibleMultiphaseVoF, fvMesh)
defineTypeNameAndDebug(compressibleMultiphaseVoF, 0)
To & refCast(From &r)
Reference type cast template function.
Ostream & endl(Ostream &os)
Add newline and flush stream.
const dimensionSet dimForce
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
const dimensionSet dimTime
const dimensionSet dimDensity
const dimensionSet dimVolume
VolField< scalar > volScalarField
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
word name(const LagrangianState state)
Return a string representation of a Lagrangian state enumeration.
void correctUphiBCs(volVectorField &U, surfaceScalarField &phi, const bool evaluateUBCs)
If the mesh is moving correct the velocity BCs on the moving walls to.
tmp< DimensionedField< TypeR, GeoMesh, Field > > New(const tmp< DimensionedField< TypeR, GeoMesh, Field >> &tdf1, const word &name, const dimensionSet &dimensions)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.