Commit Graph

2325 Commits

Author SHA1 Message Date
fb173af944 postProcess: Updated to allow functionObjects to access fields on construction 2018-09-28 10:29:22 +01:00
441b7e041b MULES: Added optional boundaryExtremaCoeff
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.
2018-09-27 15:03:01 +01:00
819c24869e singleRegionCorrectorConvergenceControl: Typo in error message 2018-09-24 09:54:53 +01:00
1c26ed2d31 particle: Added logic to break closed loops
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
2018-09-24 09:19:21 +01:00
490a297190 Doxyfile: include .L files and exclude .C files which clash with application source files
Resolves bug-report https://bugs.openfoam.org/view.php?id=3070
2018-09-06 18:05:22 +01:00
e757d5210e functionObjects::log: New functionObject to calculate the natural logarithm of a scalar field
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)
}
2018-09-05 23:43:54 +01:00
c75f7b6e19 LESdeltas::PrandtlDelta: Corrected documentation
Resolves bug-report https://bugs.openfoam.org/view.php?id=3066
2018-09-04 14:46:54 +01:00
3fc52f94d7 Function1/Scale: Added optional scaling of the 'x' argument to the scale and value functions
Resolves feature request https://bugs.openfoam.org/view.php?id=3053#c10023
2018-09-03 18:40:21 +01:00
c7e2611975 radiationCoupledBase: Corrected scope of the NamedEnum definition 2018-08-31 22:09:05 +01:00
187557eb4a radiation/derivedFvPatchFields: Rationalised namespace of the BCs 2018-08-31 17:04:32 +01:00
90c74d8c7c Function1/CSV: Allow reference column index to be higher than highest component column index
Patch contributed by Juho Peltola, VTT.
Resolves patch request https://bugs.openfoam.org/view.php?id=3053
2018-08-31 16:47:36 +01:00
e750f2555c src/OpenFOAM: Rationalised use of enumerations by using the C++11 scoped form
for Time, treeBoundBox, indexedOctree, dynamicIndexedOctree, CirculatorBase
2018-08-31 16:11:16 +01:00
bef34e6b05 greyDiffusiveRadiationMixedFvPatchScalarField, wideBandDiffusiveRadiationMixedFvPatchScalarField: Added mapping functions
Patch contributed by Timo Niemi, VTT.
Resolves patch request https://bugs.openfoam.org/view.php?id=3062
2018-08-31 16:07:41 +01:00
dee5b8e4eb src/OpenFOAM: Rationalised use of enumerations by using the C++11 scoped form
for polynomialEqns
2018-08-30 13:02:18 +01:00
5377d637f7 LangmuirHinshelwoodReactionRate: Added T^beta pre-factor to the Arrhenius expressions 2018-08-28 17:28:46 +01:00
4f533d3c36 src/OpenFOAM: Rationalised use of enumerations by using the C++11 scoped form
for triangle intersection.
2018-08-27 20:48:18 +01:00
8ed92de98c src/OpenFOAM: Rationalised use of enumerations by using the C++11 scoped form
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
2018-08-25 07:26:51 +01:00
61c9bc2ee3 functionObjects: Rationalised use of enumerations by using the C++11 scoped form 2018-08-23 17:25:47 +01:00
fd08eae933 Replaced mplib with mplibDummy for consistency with the dummy Pstream 2018-08-16 21:11:40 +01:00
583043b0e3 Moved -lpthread to wmake/rules/General/mplib 2018-08-16 13:30:04 +01:00
bce53f1758 Rationalising the mplib files and reinstating support for compiling without MPI 2018-08-16 12:26:16 +01:00
f5dd712c84 localEulerDdtScheme: Added fvcDdtPhiCoeff calculated from the local time-step
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
2018-08-15 14:40:43 +01:00
925e6b5b02 particleForces: New scaled force, and optional alternate syntax
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
2018-08-15 10:39:24 +01:00
9a437d5743 LangmuirHinshelwoodReactionRate: Added support for arbitrary powers of concentration in the denominator
and the "1" constant in the denominator is now an optional input to provide
greater flexibility of the model.
2018-08-13 16:10:14 +01:00
f18a771184 timeSelector: Removed unused select function 2018-08-12 19:04:14 +01:00
df4d9de0d3 LangmuirHinshelwoodReactionRate: Corrected specie "A" and "B" lookup 2018-08-09 14:14:48 +01:00
5cf8d63a1d wallHeatTransferCoeff: Avoid holding references to temporary fields 2018-08-09 10:52:07 +01:00
03c56a1449 wallHeatFlux: Avoid holding references to temporary fields 2018-08-08 18:37:08 +01:00
8c152cbc38 functionObjects: Generating and storing fields on demand rather than on construction
Resolves bug report https://bugs.openfoam.org/view.php?id=3019
2018-08-06 09:31:07 +01:00
f7100178e4 thermophysicalModels: Added laminar thermal diffusivity for energy, alphahe
Needed for laminar transport of he (h or e)

Resolves bug-report https://bugs.openfoam.org/view.php?id=3025
2018-08-05 11:29:28 +01:00
f09f526e1e GeometricField: Removed old-time reading from dictionary constructor
Resolves bug-report https://bugs.openfoam.org/view.php?id=3024
2018-08-03 21:21:14 +01:00
f3c2b2a899 Pair: Include an unused return to avoid compiler warning 2018-08-03 12:05:47 +01:00
8662f99ac1 Corrected typos in comments
Resolves bug-report https://bugs.openfoam.org/view.php?id=3017
2018-07-31 17:11:21 +01:00
429c4188db rigidBodyDynamics::compositeJoint: Reinstated setLastJoint joint assignment
Resolves bug-report https://bugs.openfoam.org/view.php?id=3016
2018-07-31 15:28:21 +01:00
b4a00c12ca sixDoFRigidBodyControl: functionObject to stop the run when the body motion converges
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
2018-07-30 21:49:02 +01:00
34f0cae5a3 interpolatingSolidBodyMotionSolver: New solid-body mesh-motion solver which intepolates the motion
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.
2018-07-26 16:15:37 +01:00
d627582dd6 combustionModel: Removed the deprecated "active" switch.
To switch-off combustion choose the "noCombustion" model selected with the name
"none" in the combustionProperties file:

combustionModel none;
2018-07-26 10:55:10 +01:00
932e0176e7 dictionary::functionEntries::negEntry: new function to negate a dictionary variable
E.g. in a velocity field file:

    Umean 5.75;
    .
    .
    .
    inlet
    {
        type            uniformFixedValue;
        uniformValue    (#neg $Umean 0 0);
    }
2018-07-26 10:52:16 +01:00
ab31777e9c radiation: Removed the redundant "radiation off" switch from radiationProperties
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.
2018-07-25 08:10:30 +01:00
9cf8078fef cubicEqn, quadraticEqn: Correction to repeated roots
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
2018-07-24 16:08:59 +01:00
fbec30c9fb HashSet: Added construct from FixedList 2018-07-24 15:56:04 +01:00
b47ed15d5e particle: Made wallData purely geometric on moving meshes
This removes a possible inconsistency in the motion at walls, preventing
certain types of infinite loop being entered.
2018-07-24 15:56:04 +01:00
35dd88e553 particle: Improvements to tracking across AMIs
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.
2018-07-24 15:56:04 +01:00
b08d6a2556 ListOpsTemplates::inplaceMapValue: Updated to support List 2018-07-24 11:47:32 +01:00
a6f2053518 particle: Consistent return value from all track methods 2018-07-23 09:08:18 +01:00
88070d62cb Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2018-07-23 08:56:37 +01:00
a711cd45d1 solidificationMeltingSource: trivial reformatting of documentation
Resolves report https://bugs.openfoam.org/view.php?id=3010
2018-07-23 08:55:53 +01:00
52a6a0888e CloudFunctionObjects/ParticleErosion: Corrected field name 2018-07-19 10:32:03 +01:00
8fca751b79 CloudFunctionObjects/ParticleErosion: Added documentation 2018-07-19 09:21:45 +01:00
aea61ccdbf AMI: Un-templated the interpolation and method classes
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.
2018-07-18 14:49:11 +01:00