Commit Graph

7329 Commits

Author SHA1 Message Date
3a909790fe Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2023-12-21 16:31:57 +00:00
68342a46a1 meshCheck::checkGeometry,checkTopology: Now cell and face sets are written only if the setWriter is valid 2023-12-21 16:18:39 +00:00
d600bd11e4 triIntersect: Move stabilisation in to geometry construction
Source-point-to-target-triangle projections might be done in order to
determine the location outside of the target triangle, as well as the
location inside. Forcing the source point inside the target triangle is
therefore only appropriate when constructing the intersection geometry.
2023-12-21 12:57:55 +00:00
705a4999bd triIntersect: Stabilise source-point-to-target-triangle projections 2023-12-21 10:38:07 +00:00
f9b4027b05 vtkWriteOps: Protect against float overflow 2023-12-21 10:38:07 +00:00
cd133a28f5 fvMeshTopoChangers::refiner: Fix hang in parallel
This has required switching the order of dependence of the fvMesh
geometry (i.e., Sf, Cf, and C), and the interpolation weights. The
weights are now considered dependent on the geometry fields, and the
geometry fields must therefore construct without reference to the
weights.
2023-12-21 10:38:07 +00:00
20f5235ecf Renamed ID() -> Index()
Index is a better name to describe a label index than ID which may be an
integer, word or other means of identification.
2023-12-20 18:39:55 +00:00
7df07d2660 tutorials: Updated for the changes to triSurfaceMesh 2023-12-20 18:13:55 +00:00
a99155d0f0 Renamed IDs() -> Indices()
Indices is a better name to describe label indices than IDs which may be an
integers, words or other means of identification.
2023-12-20 14:29:23 +00:00
2057174b55 fvMeshStitcher: New stabilisation calculation
This calculation more carefully constructs the direction of the area
stabilisation so as to ensure that it does not oppose the area being
stabilised. This prevents the creation of faces with zero area.

Resolves bug report https://bugs.openfoam.org/view.php?id=4040
2023-12-20 13:52:50 +00:00
b94ade6e61 triSurfaceMesh: Rationalised the handling of the now required "file" entry 2023-12-20 11:38:55 +00:00
a5939b0f0a etc/caseDicts/annotated/topoSetDict: Updated documentation for triSurfaceMesh 2023-12-20 11:08:00 +00:00
3c347ca566 solvers::solid::thermophysicalPredictor: Moved thermo correction into the non-orthogonality correction loop
Resolves bug-report https://bugs.openfoam.org/view.php?id=4043
2023-12-20 10:23:13 +00:00
195dfbe168 MomentumTransportModels::k-omega model: Improved omega bounding using nutMaxCoeff
Omega lower limit bounding is now based on a maximum turbulence viscosity nut
rather than a minimum omega value which improves stability and robustness of
the k-omega models in case of numerical boundedness problems.

The maximum nut value is calculated by multiplying the laminar viscosity by
nutMaxCoeff which defaults to 1e5 but can be set by the user in the
momentumTransport dictionary.
2023-12-19 22:50:10 +00:00
b1c6ddb197 entrainmentPressure boundary condition: updated header documentation 2023-12-19 17:58:32 +00:00
c541070fbd Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2023-12-19 16:27:47 +00:00
854f454178 MomentumTransportModels::k-epsilon model: Improved epsilon bounding using nutMaxCoeff
Epsilon lower limit bounding is now based on a maximum turbulence viscosity nut
rather than a minimum epsilon value which improves stability and robustness of
the k-epsilon models in case of numerical boundedness problems.

The maximum nut value is calculated by multiplying the laminar viscosity by
nutMaxCoeff which defaults to 1e5 but can be set by the user in the
momentumTransport dictionary.
2023-12-19 16:22:31 +00:00
2a9a2d0e7a Template cases: apply entrainmentPressure BC for p at outlet patches
The boundary condition applied to pressure at open boundaries and outlets is switched
from totalPressure to entrainmentPressure. The latter boundary condition is more robust
since it calculates the pressure for inflow using (velocity) fluxes rather than velocity
on the patch.
2023-12-19 15:56:25 +00:00
6a361d675d PDRMesh: Added support for generic patches
Required now that activeBaffleVelocity and activePressureForceBaffleVelocity
have been moved into PDRFoam.
2023-12-16 17:38:03 +00:00
4ebf1e87a0 polyBoundaryMesh: Renamed groupPatchIDs -> groupPatchIndices
Index is a better name to describe a label index than ID which may be an
integer, word or other means of identification.
2023-12-16 17:36:59 +00:00
621740e90b polyBoundaryMesh::findPatchID,findPatchIDs: renamed findIndex,findIndices
Index is a better name to describe a label index than ID which may be an
integer, word or other means of identification.
2023-12-16 13:27:12 +00:00
cad6a99777 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2023-12-15 22:27:11 +00:00
77f0b172a9 MeshZones: Renamed findZoneID -> findIndex
Index is a better name to describe a label index than ID which may be an
integer, word or other means of identification.
2023-12-15 22:25:02 +00:00
eb8e221f15 functionObjects::layerAverage: Volume averaging, and weight fields
This function has been changed to volume average, making it appropriate
to use on layered meshes in which the cells have non-uniform geometry
within their layers. A 'weightFields' (or 'weightField') control has
also been added, so that mass or phase weighted averages can be
performed within the layers.
2023-12-15 14:51:28 +00:00
5cf2109eff functionObjects::histogram: Corrected data file header
Resolves bug report https://bugs.openfoam.org/view.php?id=4041
2023-12-15 11:28:27 +00:00
fa6e3fb706 aactiveBaffleVelocity, activePressureForceBaffleVelocity: Moved into PDRFoam
These conditions are legacy and should not be considered for general
use. They require specific, unintuitive mesh structuring (i.e.,
duplicated boundary faces) that only PDRMesh can now create.

If an an interface is needed which opens or closes based on modelling
criteria, then this should be implemented as an extension of NCC. That
would be more flexible, parallelisable, and would not require
modification of the underlying polyheral mesh.
2023-12-15 10:58:13 +00:00
fc59bb71b8 coefficientPhaseChange: Added prototype fvModel for phase change
This simple model generates a phase change between two phases calculated
from the following expression:

    \dot{m}/V = C \alpha \grad \alpha

Where:

    \dot{m}/V | mass transfer rate per unit volume
    C         | coefficient
    \alpha    | volume fraction of the source phase

Example usage:

    coefficientPhaseChange
    {
        type            coefficientPhaseChange;

        phases          (liquid vapour);

        C               [kg/m^2/s] 0.1;
    }

This model may be of use in simple situations, but it is primarily
designed to serve as a prototype for more complex and physical
mechanisms of phase changes.
2023-12-15 10:53:42 +00:00
d5df0a96f1 populationBalance: Allocation coefficient bounds handling
An enumeration has been added to the arguments of the allocation
coefficient function, eta, to allow specification of how to allocate out
of bounds of the population balance size-groups. There are two options:

- "Clamp" will create an out-of-bounds allocation coefficient of exactly
  one. This partitions unity across all size-space.

- "Extrapolate" will create an out-of-bounds allocation coefficient in
  proportion to the ratio between the given size and the nearest
  size-group size. This does not partition unity outside the range of
  the size-groups.

The previous operation is equivalent to "Extrapolate".

It is not yet clear which method is preferable and under what
circumstances. More testing is required. The enumeration has been
created to facilitate this testing.
2023-12-15 10:05:43 +00:00
c21ff68e79 polyBoundaryMesh,MeshZones: Changed argument of findIndex from wordRe to word
as it makes no sense to search for a regular expression which may provide
multiple results and then arbitrarily return the first of them.
2023-12-14 23:07:36 +00:00
a362774c1d collapseEdges: Reinstated 2023-12-14 23:06:47 +00:00
7d22412860 DynamicID: replaced wordRe with word
wordRe might return multiple matches but only a single object can be referred to
so it makes no sense to use wordRe rather than word.
20231214
2023-12-14 19:02:55 +00:00
6275ea08b2 perfectInterface: Factored out DynamicID clutter 2023-12-14 18:54:39 +00:00
99f872337e fvSpecificSource: Bug fixes 2023-12-14 16:40:21 +00:00
b9fe7df344 polyTopoChange: New library containing the mesh topology change functionality
from the original dynamicMesh library, now separated into polyTopoChange and motionSolvers
2023-12-14 14:08:45 +00:00
db706b574b motionSmoother: New library separated from dynamicMesh topology changers 2023-12-14 13:41:50 +00:00
0949b7aa43 polyTopoChanger::attachDetach: Removed unusable and unmaintained code 2023-12-14 10:29:38 +00:00
eed7a62b98 Template cases: apply totalPressure BC on pressure at outlet 2023-12-13 18:03:58 +00:00
6e16197328 Template cases: corrected PIMPLE settings in fvSolution 2023-12-13 18:03:10 +00:00
9a8ea017f3 Template cases: automatic selection of bounded scheme in fvSchemes 2023-12-13 18:01:59 +00:00
24ac371bd4 Renamed polyPatchID -> polyPatchDynamicID and ZoneIDs -> ZoneDynamicIDs
to make it easier to find and remove this clutter after polyTopoChanger is
refactored out of OpenFOAM.
2023-12-13 16:38:47 +00:00
94a2c06f55 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2023-12-13 15:34:53 +00:00
da2b4690c8 foamToC: Updated option documentation 2023-12-13 15:34:28 +00:00
826fa2db61 polyTopoChange: Removed most unnecessary setAction clutter 2023-12-13 15:33:45 +00:00
58e38a761f constants: Standardise use of kmol instead of mol
This prevents spurious factors of 1000 from being introduced in
thermodynamic models. It also generalises the system further with
respect to alternative unit sets.
2023-12-13 15:25:53 +00:00
f1a70fab7e polyTopoChange: Removed used and deprecated functionality 2023-12-13 13:46:03 +00:00
129d9228cc fvMeshTopoChangers: Removed as unmaintainable 2023-12-12 20:47:50 +00:00
a315ddf370 polyTopoChanger: Simplified pending removal
The legacy fvMeshTopoChangersMovingCone removed, replaced by the more general
mesh mapping approach, see tutorials incompressibleFluid/movingCone and
shockFluid/movingCone.
2023-12-12 20:24:12 +00:00
fb21aac461 src/dynamicMesh: Reorganised and rationalised in preparation for significant rewrite 2023-12-12 16:14:50 +00:00
39373be263 perfectInterface: Replaced setAction polyModifyFace with the simpler modifyFace 2023-12-12 13:59:36 +00:00
a8a4ce905a fvMeshDistribute: setAction polyModifyFace with the simpler modifyFace
This is the first step towards upgrading and simplifying all topology change
calls, allowing the setAction clutter to be removed altogether.
2023-12-12 11:49:31 +00:00