This provides more flexibility in specifying the allowed internal and boundary
extrema.
For driftFluxFoam and other settling problems it is beneficial to set the
boundaryExtremaCoeff to 1 to allow rapid accumulation of the partials on the
bottom wall (which was the previous default behaviour) but this is not suitable
for many Euler-Euler cases for which a uniform etrema coefficient is preferable,
either 0 or a small value.
Now by default boundaryExtremaCoeff is set to extremaCoeff which defaults to 0
which provides the behaviour before
OpenFOAM-dev commit cb2bc60fa5
and the driftFluxFoam tutorials have been updated adding
boundaryExtremaCoeff 1;
to the MULES controls in fvSolution so reproduce the previous behaviour.
When a part of the tetrahedral decomposition is inverted, tracking along
a straight line can result in a closed loop which never ends.
This change adds a limit to the number of tracks that are done that end
before or at the maximum distance already achieved. This breaks these
closed loops and prevents the simulation from hanging. The particles do,
however, end up in an incorrect position as a result of the tracking
being abandoned at an intermediate point in the step. A warning is
printed to indicate when this is occuring.
This resolves bug report https://bugs.openfoam.org/view.php?id=3056
Description
Calculates the natural logarithm of the specified scalar field.
Performs \f$ln(max(x, a))\f$ where \f$x\f$ is the field and \f$a\f$ an
optional clip to handle 0 or negative \f$x\f$.
The etc/caseDicts/postProcessing/fields/log configuration file is provided so
that the simple #includeFunc can be used to execute this functionObject during
the run, e.g. for some dimensionless field x
functions
{
#includeFunc log(x)
}
or if x might be 0 or negative in some regions the optional clip may be applied:
functions
{
#includeFunc log(p,clip=1e-6)
}
for
db/functionObjects/timeControl/timeControl.H: timeControls
primitives/bools/Switch/Switch.H: class switchType
primitives/strings/fileName/fileName.H: fileType
primitives/strings/wordRe/wordRe.H: compOption
For cases where the time-step varies in space ddtCorr is not needed with LTS but
in regions where the time-step is uniform it may be required. This change
ensures that the localEuler scheme operates equivalently to Euler in regions and
for cases where the time-step is uniform.
Addresses report https://bugs.openfoam.org/view.php?id=3020
In addition to the current syntax, particle forces can now also be
specified with a named dictionary and a type entry. This allows multiple
forces of the same type to be used. For example:
particleForces
{
// Existing syntax. The model typename, either on it's own
// or heading a dictionary of model parameters.
gravity;
ErgunWenYuDrag
{
alphac alpha.air;
}
// New syntax. An arbitrary name, followed by a dictionary
// containing a type entry, and any model parameters.
gravity2
{
type gravity;
}
drag2
{
type ErgunWenYuDrag;
alphac alpha.air;
}
}
A scaled force has also been added. This is a wrapper around another
particle force model, and applies a scaling factor to the force value.
It can be used to tune the models, or to blend two or more models.
particleForces
{
// Tuning the simulation by reducing the pressure gradient force
scaled1
{
type scaled;
factor 0.94;
forceType pressureGradient;
U U;
}
// Blending two drag models
scaled2
{
type scaled;
factor 0.2;
forceType sphereDrag;
}
scaled3
{
type scaled;
factor 0.8;
forceType ErgunWenYuDrag;
alphac alpha.air;
}
}
This work was supported by Moritz Hoefert, at Evonik
Description
Convergence control based on the 6-DoF motion state.
The body linear and angular velocities are averaged over a specified time
window and compared to specified velocity convergence criteria and the run
stopped after writing the current time results, if the criteria are met.
Example of function object specification:
\verbatim
sixDoFRigidBodyControl
{
type sixDoFRigidBodyControl;
libs ("libsixDoFRigidBodyState.so");
angleFormat degrees;
window 1;
convergedVelocity (1e-2 1e-2 1e-2);
convergedAngularVelocity (5 5 5);
}
\endverbatim
Note the units of the \c convergedAngularVelocity are specified by the \c
angleFormat entry.
Usage
\table
Property | Description | Required | Default value
type | Type name: sixDoFRigidBodyControl | yes |
angleFormat | Degrees or radians | no | radian
window | Averaging window | yes |
convergedVelocity | Linear velocity convergence criterion | yes |
convergedAngularVelocity | Angular velocity convergence criterion | yes |
\endtable
Description
Solid-body motion of the mesh specified by a run-time selectable motion
function. Applies SLERP interpolation of movement as function of
distance to the object surface to move the mesh points.
To switch-off radiation set
radiationModel none;
in radiationProperties which instantiates "null" model that does not read any
data or coefficients or evaluate any fields.
Also extended the cubic equation test routine and modified the error
methods so that they more accurately generate the round of error of
evaluation.
This resolves bug report https://bugs.openfoam.org/view.php?id=3015
The projection direction has been corrected to include the effect of
mesh motion. The case where the source and receiving faces are of
differing orientations and the particle displacement points into both is
now detected and handled.
AMI interpolation is only ever constructed between sets of primitive
patches, so templating on the patch type is unnecessary. Templating in
this instance is undesirable; it makes type type/debug/selection system
more complex and increases the number and compilation times of files
which need recompiling when code is modified.