32 void Foam::solvers::multiphaseEuler::setRDeltaT()
40 pimpleDict.lookupOrDefault<scalar>(
"maxCo", 0.2)
43 const scalar rDeltaTSmoothingCoeff
45 pimpleDict.lookupOrDefault<scalar>(
"rDeltaTSmoothingCoeff", 0.02)
59 scalar minRDeltaT =
gMin(rDeltaT.primitiveField());
60 if (pimpleDict.found(
"maxDeltaT") || minRDeltaT < rootVSmall)
62 const scalar clipRDeltaT = 1/pimpleDict.lookup<scalar>(
"maxDeltaT");
63 rDeltaT.max(clipRDeltaT);
64 minRDeltaT =
max(minRDeltaT, clipRDeltaT);
66 if (pimpleDict.found(
"minDeltaT"))
68 const scalar clipRDeltaT = 1/pimpleDict.lookup<scalar>(
"minDeltaT");
69 rDeltaT.min(clipRDeltaT);
70 minRDeltaT =
min(minRDeltaT, clipRDeltaT);
73 Info<<
"Flow time scale min/max = "
74 <<
gMin(1/rDeltaT.primitiveField()) <<
", " << 1/minRDeltaT <<
endl;
77 rDeltaT.correctBoundaryConditions();
81 Info<<
"Smoothed flow time scale min/max = "
82 <<
gMin(1/rDeltaT.primitiveField())
83 <<
", " <<
gMax(1/rDeltaT.primitiveField()) <<
endl;
#define forAll(list, i)
Loop across all elements in list.
IOobject(const word &name, const fileName &instance, const objectRegistry ®istry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true)
Construct from name, instance, registry, io options.
const word & name() const
Return const reference to name.
const DimensionedField< scalar, fvMesh > & V() const
Return cell volumes.
static word rDeltaTfName
Name of the reciprocal local face time-step field.
static const dictionary & dict(const fvMesh &mesh, const word &algorithmName="PIMPLE")
Return the solution dictionary.
pimpleNoLoopControl pimple
PIMPLE inner-loop controls.
const Time & runTime
Time.
const fvMesh & mesh
Region mesh.
const surfaceScalarField & phi
Reference to the mass-flux field.
tmp< volScalarField > trDeltaT
Optional LTS reciprocal time-step field.
const phaseSystem::phaseModelPartialList & movingPhases
Reference to the moving phases.
Switch faceMomentum
Cell/face momentum equation switch.
tmp< surfaceScalarField > trDeltaTf
Optional LTS reciprocal face time-step field.
Provides functions smooth spread and sweep which use the FvFaceCellWave algorithm to smooth and redis...
Surface integrate surfaceField creating a volField. Surface sum a surfaceField creating a volField.
static tmp< SurfaceField< Type > > interpolate(const VolField< Type > &tvf, const surfaceScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
void smooth(volScalarField &field, const scalar coeff)
tmp< VolInternalField< Type > > surfaceSum(const SurfaceField< Type > &ssf)
Type gMin(const UList< Type > &f, const label comm)
const dimensionSet & dimless
Ostream & endl(Ostream &os)
Add newline and flush stream.
SurfaceField< scalar > surfaceScalarField
const dimensionSet & dimTime
VolField< scalar > volScalarField
dimensioned< Type > min(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
Type gMax(const UList< Type > &f, const label comm)
tmp< DimensionedField< scalar, GeoMesh, Field > > mag(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
dimensioned< Type > max(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.