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
snappyHexMesh now generates a face-zone for the AMI-s, and createBaffles
and mergeOrSplitPoints -split are used to create the patches. Before,
snappy generated AMI patches directly, which were then converted to
AMI-s with createPatch.
This way, the AMI-s match exactly at the start of the simulation. For
more complicated cases that may be derived from this tutorial, this
could be important.
With the -noFields option the mesh is subset but the fields are not changed.
This is useful when the field fields have been created to correspond to the mesh
after the mesh subset.
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.