Commit Graph

3880 Commits

Author SHA1 Message Date
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
b294ab1d7c rigidBodyModel: Added movingBodyNames() member function
which returns the list of names of the moving bodies in the model.
2019-03-01 13:47:22 +00:00
e68246b392 Revert "rigidBodyModel: Added movingBodyNames() member function"
This reverts commit a395752fa8.
2019-03-01 13:45:43 +00:00
a395752fa8 rigidBodyModel: Added movingBodyNames() member function
which returns the list of names of the moving bodies in the model.
2019-03-01 13:44:01 +00:00
f60147fc11 waveDisplacementPointPatchVectorField: Added spacial and temporal ramping 2019-02-26 09:40:32 +00:00
9038895701 swirlInletVelocityFvPatchVectorField: Minor correction to documentation 2019-02-26 09:40:11 +00:00
850a347b69 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2019-02-25 11:34:40 +00:00
fa33e8e198 blockMesh: Added printing of cell edge lengths for distorted blocks 2019-02-25 11:33:46 +00:00
7f09e1901d CloudFunctionObjects: Added relativeVelocity
This cloud function object will write out a lagrangian field of the
relative velocity between the parcels and the surrounding fluid. It
does not have any additional controls.
2019-02-25 09:31:32 +00:00
a88405a138 foamDictionary: Added support for writing dictionaries containing binary entries 2019-02-22 15:59:55 +00:00
190dd33576 externalWallHeatFluxTemperature: Changed relaxation strategy
Now uses previous valueFraction and refValue values rather than the previous
boundary temperature for relaxation.

Resolves bug-report https://bugs.openfoam.org/view.php?id=3175
2019-02-22 12:34:38 +00:00
a4e6adcd54 foamDictionary: Added initial support for dictionaries containing binary data
The dictionary read is set to binary if there is a "FoamFile" header present
which specifies binary format.
2019-02-21 20:02:13 +00:00
2433fe950c Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2019-02-21 13:58:45 +00:00
b162c4818b ddtScheme::fvcDdtPhiCoeff: Reverted to previous flux-normalised scheme
The current Courant number limited formulation is preferable for cases running
with VERY small Courant numbers but there are stability issues with it on some
cases for which the previous flux-normalised scheme worked well.  Overall the
previous scheme has proved more reliable and fvcDdtPhiCoeff has been reverted to
it pending further research and development in this area which will require
funding:

https://openfoam.org/news/funding-2019/
https://openfoam.org/maintenance/
2019-02-21 13:54:41 +00:00
d7a5456aae convergenceControl: Store solve index per-field not per-entry
Resolves bug report https://bugs.openfoam.org/view.php?id=3173
2019-02-20 14:23:09 +00:00
4f3c3eaab1 functionObjects: phaseScalarTransport: Made writing of alpha*s switchable 2019-02-18 15:20:40 +00:00
c56f2a2e15 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2019-02-18 12:29:06 +00:00
d2bddb8cca pressureControl: Added p.correctBoundaryConditions() after the pressure limiting
to ensure boundary consistency.
2019-02-18 12:26:52 +00:00
a86fe1f3ac functionObjects: phaseScalarTransport: Solution control update 2019-02-15 16:55:18 +00:00
111cdf3a65 solutionControl: Renaming and improved final logic
The sub-loops of the solution control are now named more consistently,
with ambiguously named methods such as finalIter replaced with ones
like finalPimpleIter, so that it is clear which loop they represent.

In addition, the final logic has been improved so that it restores state
after a sub-iteration, and so that sub-iterations can be used on their
own without an outer iteration in effect. Previously, if the
non-orthogonal loop were used outside of a pimple/piso iteration, the
final iteration would not execute with final settings.
2019-02-15 16:55:11 +00:00
7b1840c7d3 functionObjects: Added phaseScalarTransport function
This is like the scalarTrasport function except that the transported
scalar is confined to a single phase of a multiphase simulation. In
addition to the usual specification for the scalarTransport function
(i.e., a field, schemes and solution parameters), the user needs to
specify the phase-flux or a pressure field which can be used to generate
it.

Example usage for interFoam:

    phaseScalarTransport1
    {
        type            phaseScalarTransport;
        libs            ("libsolverFunctionObjects.so");

        field           s.water;
        p               p_rgh;
    }

Example usage for reactingTwoPhaseEulerFoam:

    phaseScalarTransport1
    {
        type            phaseScalarTransport;
        libs            ("libsolverFunctionObjects.so");

        field           s.water;
        alphaPhi        alphaRhoPhi.water;
        rho             thermo:rho.water;
    }

The function will write out both the per-unit-phase field that is solved
for (s.water in the above examples) and also the mixture-total field
(alphaS.water), which is often more convenient for post-processing.
2019-02-15 10:56:33 +00:00
e9f3811218 chtMultiRegionFoam,reactingParcelFoam: Improved pressure and density limiting 2019-02-15 10:28:15 +00:00
f9cb8e21d9 rhoPimpleFoam: Improved pressure and density limiting 2019-02-15 08:30:32 +00:00
fbb7b5dfaf solidDisplacementFoam/Make/options: Added -I option for dependency checking 2019-02-14 12:10:29 +00:00
dfc10f67a4 equationOfState::perfectFluid: Added Cp departure function 2019-02-14 10:11:00 +00:00
7a398ae297 specie::thermo: Added better diagnostics to the energy->temperature iteration
If the iteration fails it now re-runs the iteration printing the temperature,
energy, heat-capacity and updated temperature for each iteration to help
diagnose which of the properties is causing the convergence failure.
2019-02-14 10:08:28 +00:00
ea02796f31 particle: Fixed ACMI transfers
The optimisation work done as commit 81947c80 introduced a failure mode
where an ACMI interaction could repeat indefinitely. This has now been
corrected.

Resolves bug report https://bugs.openfoam.org/view.php?id=3166
2019-02-12 15:33:16 +00:00
a3fd68eed0 tutorials: shellAndTubeHeatExchanger: Update due to change in snappyHexMesh writeFlags 2019-02-12 11:35:31 +00:00
682caa71b1 Revert "snappyHexMesh: Changed the default for the writing of pointLevels and cellLevels files in the polyMesh directory"
This reverts commit 799db4d958.
2019-02-12 09:41:00 +00:00
c59c82ac0e radiationModels: Relocation, namespace changes, and fixed Qdot access
The radiation modelling library has been moved out of
thermophysicalProperties into the top-level source directory. Radiation
is a process, not a property, and belongs alongside turbulence,
combustion, etc...

The namespaces used within the radiation library have been made
consistent with the rest of the code. Selectable sub-models are in
namespaces named after their base classes. Some models have been
renamed remove the base type from the suffix, as this is unnecessary.
These renames are:

    Old name:                       New name:

    binaryAbsorptionEmission        binary
    cloudAbsorptionEmission         cloud
    constantAbsorptionEmission      constant
    greyMeanAbsorptionEmission      greyMean/greyMeanCombustion
    greyMeanSolidAbsorptionEmission greyMeanSolid
    wideBandAbsorptionEmission      wideBand/wideBandCombustion

    cloudScatter                    cloud
    constantScatter                 constant

    mixtureFractionSoot             mixtureFraction

Some absorption-emission models have been split into versions which do
and don't use the heat release rate. The version that does has been
given the post-fix "Combustion" and has been moved into the
combustionModels library. This removes the dependence on a registered
Qdot field, and makes the models compatible with the recent removal of
that field from the combustion solvers.
2019-02-11 08:38:56 +00:00
b3003ab5be solidDisplacementFoam::readThermalProperties: Cache "k" for thermal BCs 20190210 2019-02-08 17:07:57 +00:00
11fa53fb66 blockMeshMerge: Minor update for consistency with the "fast" algorithm 2019-02-08 15:16:20 +00:00
97095d2b2a solidDisplacementFoam: Cache the "C" field so that it can be used in thermal BCs 2019-02-08 15:14:39 +00:00
c81abfef05 isoSurface: Fix for isoSurface 'eroding' surfaces down to nothing
The occurrence is from cells with vertices that are shared between two faces
only (these vertices can originate from hex refinement). Decomposing both faces
can occasionally produce triangles with identical vertices and this results in a
non-manifold edge which triggers the erosion procedure.

Avoided by detecting cells with these special vertices and making sure the tet-decomposition
never uses the same points on the faces using them.

Patch contributed by Mattijs Janssens
2019-02-08 14:45:54 +00:00
e407f7dcb7 sprayFoam: Reinstated runTime write call 2019-02-07 14:39:21 +00:00
57a7e718b9 sampling: lineFace: Filtering of duplicate segments
Sometimes the initial point and boundary intersection searches can
generate duplicate information which can lead to line-type sampled sets
having duplicated points. This change explicitly filters these
additional points out, so that the resulting set is optimal.

Resolves bug report https://bugs.openfoam.org/view.php?id=3161
2019-02-07 11:34:41 +00:00
960baec5ef particle: Improve robustness of tracking along edges
The tracking hit criteria have been modified slightly so that particles
do not exit a tetrahedron due to a local displacement smaller than the
round-off error. This prevents unresolvable interactions along edges
where the particle considers itself to be leaving every tet along the
edge.
2019-02-07 11:31:31 +00:00
d31f4f7aae freestream[Pressure|Velocity]FvPatchScalarField: Updated for clang 2019-02-05 22:11:23 +00:00
2395769513 reactingEulerFoam: Use dimensioned<Type>::lookupOrDefault
The advantage of using this constructor for user-input dimensioned model
parameters is that it handles a variety of input; from just the value to
the full name-dimensions-value set. As more is specified, more is
checked.

Some other minor formatting improvements to the reactingEulerFoam
sub-modeling libraries have also been made.

Patch contributed by Institute of Fluid Dynamics,
Helmholtz-Zentrum Dresden - Rossendorf (HZDR)
2019-02-05 09:19:01 +00:00
d3a02cff1e freestreamVelocity/Pressure BC: stabilise in the limit of mag(Up) = 0 20190204 2019-02-04 20:55:37 +00:00