compressibleVoF supports cavitation fvModels which provide a more physical and
controllable approach to cavitation modelling than the simple homogeneous
equilibrium approximation used in cavitatingFoam.
The tutorials/multiphase/cavitatingFoam/RAS/throttle case has been converted to
tutorials/modules/compressibleVoF/throttle which demonstrates how to update
cases from cavitatingFoam to compressibleVoF.
A cavitatingFoam script is provided to redirect users to update their cases to
compressibleVoF.
This model now takes a 'phase' keyword to specify to which phase of a
multiphase simulation it applies to. In order to transfer heat to
multiple phases, multiple models must be specified.
Class
Foam::fv::bound
Description
Bound the specified scalar field where it is below the specified minimum.
Where the field is unbounded it is set to the maximum of the average of
the neighbouring cell values and the specified minimum.
Usage
Example usage:
\verbatim
limitp
{
type bound;
field p;
min 100;
}
\endverbatim
The cell-owns-face information is determined by comparing edges of
adjacent faces, starting from a given seed face for which ownership is
known. This calculation walks now the cell in order to be sure that all
faces have had their ownership determined.
Previously the algorithm just iterated over the faces and face-edges.
This spans the entire cell most of the time, but for large polyhedra a
single pass may not propagate the necessary information across the
entire cell. This could be fixed by doing multiple passes until all
faces have been visited, but a walk is likely to be cheaper as it is not
wasting effort iterating over the same faces multiple times.
This change fixes some failures associated with the isoSurface
algorithm. Occasionally, a cut plane or similar could be seen to be
missing one or two faces. These faces were associated with complex
polyhedra on which the cell-owns-face information had been
miscalculated. Surfaces should now be complete and contiguous.
This is useful to write results before a case fails due to uncontrollable
automatic time-step reduction, usually caused by unstable pressure-velocity
coupling.
Class
Foam::functionObjects::stopAtTimeStep
Description
Stops the run if the time-step drops below the specified value in seconds
and optionally write results before stopping.
The following actions are supported:
- noWriteNow
- writeNow (default)
- nextWrite
Examples of function object specification:
\verbatim
stop
{
type stopAtTimeStep;
libs ("libutilityFunctionObjects.so");
minDeltaT 1e-8;
action writeNow;
}
\endverbatim
will write the fields and stop if the time-step drops below 1e-8s.
Usage
\table
Property | Description | Required | Default value
type | type name: stopAtTimeStep | yes |
minDeltaT | Minimum time-step [s] | yes |
action | Action executed | no | writeNow
\endtable
executed with foamRun for single region simulations of foamMultiRun for
multi-region simulations. Replaces denseParticleFoam and all the corresponding
tutorials have been updated and moved to
tutorials/modules/incompressibleDenseParticleFluid.
Class
Foam::solvers::incompressibleDenseParticleFluid
Description
Solver module for transient flow of incompressible isothermal fluids coupled
with particle clouds including the effect of the volume fraction of
particles on the continuous phase, with optional mesh motion and change.
Uses the flexible PIMPLE (PISO-SIMPLE) solution for time-resolved and
pseudo-transient and steady simulations.
Optional fvModels and fvConstraints are provided to enhance the simulation
in many ways including adding various sources, constraining or limiting
the solution.
to provide consistent and stable continuous phase velocity solution without
staggering patterns at the boundary with packed regions of dispersed phase.
This fixes situations in which the mapping is used between a region with
a changing mesh and a region with a non-changing mesh, and where the
non-changing-mesh region owns the mapping. It ensures that changes in
the changing-mesh region trigger re-generation of the mapping in the
adjacent non-changing-mesh region.
Horizontal mixers have been renamed to mixerVesselHorizontal2D. The
incompressible mixerVessel2D has been reinstated to provide a comparison
with the corresponding MRF case. All rotational speeds have been
standardised at 60 rpm, except for the compressible case in which the
higher speed is justified in order to demonstrate the simulation of
compressibility effects.
This checks the consistency of incGamma and invIncGamma. It writes files
with columns containing values for different 'a' parameters. The
incGammaRatio_P.xy and invIncGammaRatio_P.xy files should generate the same
lines when the plot axis order is reversed. E.g., in gnuplot:
plot "incGammaRatio_P.xy" us 1:5 w l, \
"invIncGammaRatio_P.xy" us 5:1 w p
Added the iterative improvement stage detailed at the end of section 4
of the reference:
DiDonato, A. R., & Morris Jr, A. H. (1986).
Computation of the incomplete gamma function ratios and their inverse.
ACM Transactions on Mathematical Software (TOMS), 12(4), 377-393.