Commit Graph

3819 Commits

Author SHA1 Message Date
3cbb932be8 Added support for patch manipulation of pointFields
e.g. during createBaffles

Added a test application and test case for meshTools: test/fvMeshTools

Patch contributed by Mattijs Janssens
2019-04-12 18:44:32 +01:00
181f110a2f IOobject: Transfer all "global" handling to regIOobject
Remove regIOobject::masterOnlyReading
2019-04-09 14:37:03 +01:00
6b5020bc3d Test-codeStream: Support parallel testing 2019-04-09 14:36:20 +01:00
cb6eb31d42 tutorials/multiphase/interFoam/RAS/DTCHullMoving/Allrun: Corrected call to renumberMesh 2019-04-08 20:37:58 +01:00
e7492a8624 IOobject,regIOobject: Rationalised global() and globalObject() 2019-04-08 20:37:15 +01:00
ba7e19c885 Pstreams/exchange: Removed duplicate line
Resolves bug-report https://bugs.openfoam.org/view.php?id=3217
2019-04-08 20:36:12 +01:00
1fad5ca11d applications/test/codeStream/codeStreamDict1: Added missing -I 2019-04-08 20:35:48 +01:00
1227417a9b decomposePar: Corrected addressing of flipped faces for cases renumbered in parallel
Patch contributed by Mattijs Janssens
2019-04-05 17:32:43 +01:00
1909f9cf85 DTCHull tutorials: renumberMesh after meshing, before decomposition
Avoids the need to renumber the decompositon/reconstruction maps
2019-04-05 17:01:13 +01:00
752d764d9c Luo.H: removed stray character in Description 2019-04-05 13:35:57 +01:00
2f3d47ad7e Residuals: New MeshObject class to store solver performance residuals
This is more efficient and modular than the previous approach of storing the
residuals in the mesh data dictionary.
2019-04-04 19:08:08 +01:00
28cebf7020 surfaceNormalUniformFixedValueFvPatchVectorField: New vector boundary condition
Description
    Surface-normal fixed value vector boundary condition

    in which the vector field is obtained by scaling the patch normals
    by the evaluated scalar Function1 provided.

Usage
    \table
        Property     | Description             | Required    | Default value
        uniformValue | uniform value           | yes         |
    \endtable

    Example of the boundary condition specification:
    \verbatim
    <patchName>
    {
        type            surfaceNormalUniformFixedValue;
        uniformValue    constant -0.2;         // 0.2 INTO the domain
    }
    \endverbatim

Note
    Sign conventions:
    - the value is positive for outward-pointing vectors
2019-04-03 17:32:44 +01:00
44742d235e reconstructPar: Add support for reconstructing surfaceVectorFields
Resolves bug-report https://bugs.openfoam.org/view.php?id=2832
2019-04-01 22:56:27 +01:00
51247eec60 mesh::data: Use a DynamicList for the performance data for efficiency 2019-04-01 18:13:15 +01:00
7cf6c4ea47 specieCoeffs: Added comment 2019-04-01 18:13:03 +01:00
2dd53c898a turbulenceModels/laminar/Giesekus: Giesekus model for visco-elasticity
Implementation of the Giesekus model for visco-elasticity, derived from the new
generalised form of the Maxwell model which now support additional sources.

    Giesekus, H., 1982.
    A simple constitutive equation for polymer fluids based on the
    concept of deformation-dependent tensional mobility.
    J. Non-Newton. Fluid. 11, 69–109.

This implementation is instantiated for incompressible, compressible and VoF
two-phase flow.
2019-03-28 22:10:59 +00:00
e1e3e2a333 pimpleFoam: Added LTS capability for demonstration and testing
For most steady cases simpleFoam is likely to converge faster than pimpleFoam
with LTS but this capability may be useful for testing meshes, BCs etc. for more
complex solver for which SIMPLE is not stable and LTS is provided instead.
2019-03-28 11:54:55 +00:00
87d3d2d3d0 LES::dynamicKEqn: Rationalised the calculation of KK
Resolves bug-report https://bugs.openfoam.org/view.php?id=3207
2019-03-27 16:28:56 +00:00
9bf34679bd buoyantBoussinesq[SP]impleFoam: replaced by the more general buoyant[SP]impleFoam solvers
With the selection of the Boussinesq equation of state the general buoyancy
solvers buoyantSimpleFoam and buoyantPimpleFoam can be used instead of the
specialised Boussinesq solvers avoiding the need for special implementation of
thermal and pressure boundary conditions and providing support for radiation and
fvOptions which would not have been feasible or practical in the Boussinesq
solvers.

Other incompressible equations of state are also supported; for most gaseous
problems the incompressiblePerfectGas equation of state is likely to be more
accurate than the Boussinesq equation of state.

The buoyantBoussinesq[SP]impleFoam tutorials have been updated and moved to the
corresponding buoyant[SP]impleFoam directories.
2019-03-26 21:42:14 +00:00
12c4abe3ba dynamicFvMesh: Replaced the hard-coded "U" boundary correction to an optional list
In the latest generation of solvers supporting mesh-motion using Uf to correct
phi it is no longer necessary to correct the velocity field boundary conditions
directly following mesh motion so the "velocityFields" input list in
dynamicMeshDict is optional and only provided to support legacy "DyM" solvers
and defaults to an empty list.
2019-03-21 15:11:41 +00:00
a1a225c504 dynamicFvMesh: Rationalised the handling and caching of the dynamicMeshDict
The base dynamicFvMesh now reads and stores the dynamicMeshDict and motion
solver receive it as a constructor argument.

Also rationalised the motionSolver diffusivity classes in which storing the
faceDiffusivity field provided no advantage; now it is created and returned on
demand.
2019-03-21 10:58:31 +00:00
5a978bbc65 surfaceInterpolation::makeWeight: improve handling of very small faces
If division by the face area might cause an overflow use the cell-face distances
directly to calculate the weights.
2019-03-19 20:27:55 +00:00
aaf4a0bfcc multiphase VoF solvers: Ensure the nHatf surfaceField in interfaceProperties is updated following mesh change 2019-03-19 20:13:40 +00:00
f0c3c497e7 blockMeshMerge: Changed the mergeSqrDist slightly to compensate for the change SMALL -> small
Resolves bug-report https://bugs.openfoam.org/view.php?id=3203
2019-03-19 16:38:37 +00:00
52225b96ab CorrectPhi: Added switch to control evaluation of U boundary conditions
This switch should be on for phi-correction within the time loop, where
the correction simply serves to keep the phi-field up to date before the
U-equation is solved. It should be off for initialisation
phi-correction, as the necessary data to update the conditions may not
yet exist.

Resolves bug report https://bugs.openfoam.org/view.php?id=3198
2019-03-18 16:02:25 +00:00
118f7c88f8 tutorials::membrane/Allrun: Fixed scipting typo 2019-03-18 12:23:32 +00:00
51edeaaa1f tutorials/multiphase/interFoam/RAS/mixerVesselAMI: Rationalised phase names and properties 2019-03-16 18:10:33 +00:00
becf7d2905 Function1: Improved error messages when evaluation or integration are undefined 20190316 2019-03-15 14:09:51 +00:00
2dd8b51d2a Removed redundant file 2019-03-15 11:52:15 +00:00
18bd64314c Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2019-03-15 11:17:57 +00:00
c97e133c04 tutorials/incompressible/simpleFoam/motorBike/system/controlDict: Reverted change 2019-03-15 11:17:07 +00:00
4519f47ab8 phasesScalarTransport: Corrected compressible fvOptions usage 2019-03-15 08:49:39 +00:00
081db9a350 lagrangian: drag: Various improvements
The dense drag models (WenYu, ErgunWenYu and PlessisMasliyah) have been
extended so that they can create their own void-fraction field when one
is not otherwise available.

The duplicated functionality in the drag models has been generalised and
is now utilised by multiple models.

References have been added for all models for which they could be found.
In addition, an additional drag model, SchillerNaumann, has been added.
This is of the same form as sphereDrag, and is designed for the same
scenario; sparsely distributed spherical particles. The SchillerNaumann
form is more widely referenced and should now be considered standard.

The thermo-parcel-specific force instantiation macro has been removed,
as all the force models are now possible to use with all parcel types.

Resolves bug report https://bugs.openfoam.org/view.php?id=3191
2019-03-15 08:49:39 +00:00
d41166187a writeEntry: Rationalised for consistency, ease of use and maintainability
The writeEntry form is now defined and used consistently throughout OpenFOAM
making it easier to use and extend, particularly to support binary IO of complex
dictionary entries.
2019-03-14 20:54:10 +00:00
c1d0fa6cac hooks: Added check to ensure scripts are executable
Based on a patch contributed by Institute of Fluid Dynamics,
Helmholtz-Zentrum Dresden - Rossendorf (HZDR)
2019-03-13 14:12:47 +00:00
0ce996ffd4 hooks: Refactor
The hook functions now all work in terms of local variables and argument
passing. They return error codes rather than exiting. Fixing issues
(updating copyright and correcting ifndef/define names) is now optional.
The "interactive" aspect of the pre-recieve hook has been removed and
placed into a new interactive-hook script that can be used for checking
without commiting. The pre-recieve-hook has been updated to include all
the newer checking added to pre-commit-hook.
2019-03-13 12:40:25 +00:00
fec55234b6 LangmuirHinshelwoodReactionRate: Removed unused species_ member 2019-03-12 17:28:51 +00:00
d6f6747d63 PrimitivePatch: Added Istream constructor and iNew 2019-03-12 17:28:03 +00:00
23d7371592 CompactIOList: Derived from ListCompactIO to reuse the steam IO 2019-03-12 17:26:19 +00:00
64b7793422 ListCompactIO: Separated the stream IO functions from CompactIOList
as a separate class.
2019-03-12 17:24:30 +00:00
6b5f0928e5 UPtrList: Added writeEntry and writeEntryList
to write the list as a dictionary entry.  Consistent with the equivalent
functions in UList.
2019-03-12 17:23:19 +00:00
59b533e961 UList: Added writeEntryList
for writing list-lists dictionary entries efficiently in binary.
2019-03-12 17:21:49 +00:00
9a22110c14 rigidBodyState: Added compilation to src/Allwmake 2019-03-08 09:07:35 +00:00
88bea2740c data: Reset solver data only when non-sub cycled time index changes
Resolves bug report https://bugs.openfoam.org/view.php?id=3189
2019-03-07 16:23:33 +00:00
5e7c0aaac1 swirlFlowRateInletVelocityFvPatchVectorField: Added reduction to patch size
Resolves bug-report https://bugs.openfoam.org/view.php?id=3185
2019-03-05 12:07:19 +00:00
b5e27b7a9d polyMesh/particle: Optionally store old-cell centres
The moving-mesh tracking algorithm needs the cell-centres at the
previous time-step. These were not originally stored by the polyMesh, so
they were being generated on-the-fly. In some tracking-dominated cases
this caused an unacceptable overhead.

The polyMesh now stores the old-time cell-centres on demand. They are
not stored by default (like the old-time points), so if they are needed
then the accessor should be called before any mesh motion. Typically
this will be during construction of whatever functionality requires it.
See Cloud.C for an example.

The logic for storage and update of the old-time points has also been
improved to account for the possibility of the mesh motion coming to an
end.
20190304
2019-03-04 08:59:24 +00:00
8f0772d7d2 tutorials::floatingObject: Added rigidBodyState functionObject 2019-03-01 13:51:59 +00:00
d399b83f08 rigidBodyState: New functionObject which writes the state of the rigid body model
It is the rigidBody equivalent of the sixDoFRigidBodyState functionObject.

    Example of function object specification:
    rigidBodyState
    {
        type           rigidBodyState;
        libs           ("librigidBodyState.so");
        angleFormat    degrees;
    }

Based on patch contributed by SeongMo Yeon
Resolves patch request https://bugs.openfoam.org/view.php?id=3180
2019-03-01 13:49:08 +00:00
5c8b15d49d sixDoFRigidBodyState: Minor clean-up 2019-03-01 13:48:52 +00:00
58019d64f9 rigidBodyMeshMotion, rigidBodyMeshMotionSolver: Derive from RBD::rigidBodyMotion
Provides easy access to the state of the rigid body model.
2019-03-01 13:48:02 +00:00