Commit Graph

7304 Commits

Author SHA1 Message Date
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
757bdea30d bin/.*Foam redirection scripts: Updated tutorial paths 2023-12-10 16:09:20 +00:00
42ff732d58 fvPatch: Added polyFaceFraction calculation
This returns the fraction of the poly-face that each fv-face in the
patch covers. This is useful for mapping some calculations from the
polyMesh to the fvMesh in cases with non-conformal couplings.
2023-12-08 16:49:33 +00:00
b33fcacc79 alphatJayatillekeWallFunction: Removed unused static data 2023-12-08 11:46:09 +00:00
0faea5a8f8 mergeBaffles: Corrected documentation 2023-12-08 11:15:06 +00:00
d9a07a44b6 mappedExtrudedPatchBase: Fix bug in offset wave
Resolves bug report https://bugs.openfoam.org/view.php?id=4039
2023-12-07 14:26:26 +00:00
96b61305df lagrangian: PatchInjection: Interpolate the initial velocity
The 'U0' entry in the patch injection model can now specify a field name
from which the initial velocity will be interpolated. It can also, as
before, specify a fixed velocity vector.
2023-12-07 14:02:55 +00:00
39940d5256 tmpNrc: Move construction and assignment 2023-12-07 11:56:17 +00:00
5a9d02344a tests/postProcessing: Updated for changes to phaseScalarTransport 2023-12-06 21:30:18 +00:00
947dd44188 multicomponentThermo: Dimensioned constant specie properties
The specie molecular mass (Wi) and formation enthalpy (hfi) methods now
return dimensioned scalars. This permits their direct inclusion into
dimensioned field expressions. Non-dimensioned methods have been
retained with a "Value" suffix (i.e., WiValue and hfiValue).
2023-12-06 21:29:47 +00:00
2bc91ecff0 phaseScalarTransport: Improved interface and documentation
This function now looks up an alphaPhi field by default and exits with
an error if the field cannot be found. In order to solve for alphaPhi a
new 'solveAlphaPhi' switch has to be set.

The documentation has been updated to reflect the fact that the VoF
solvers now store all the alphaPhi fluxes necessary for a in-phase
equation to be constructed.

The phaseScalarTransport function has been added to the damBreakLaminar
tutorial.
2023-12-06 12:54:33 +00:00
e1d6448fcf twoPhaseSolver: Store the flux of the non-solved-for phase
This flux is needed for boundary conditions, post-processing and
Euler-Euler-like sub-models and functions
2023-12-06 12:09:31 +00:00
a9605357dd intersectionPatchToPatch: Fix for single precision 2023-12-05 12:01:19 +00:00
54508595bc intersectionPatchToPatch: Prevent generation of zero interpolation weights 2023-12-05 11:54:43 +00:00
6628a49daf tutorials: Updated for standardised thermo property names 2023-12-01 17:13:22 +00:00
abe43a9532 thermo: Standardise property names and remove molar functions
All property functions in the low-level templated thermo property
implementations and the high-level virtual interfaces have been made
consistent. All energies and enthalpies are lower case to denote that
they are specific quantities. Molar functions have been removed as these
are no longer used anywhere.
2023-12-01 17:11:59 +00:00
5ab61c60de basicThermo: Make molar mass available to basic thermos 2023-12-01 16:54:08 +00:00
71493091de wallDist: Changed from TopoChangeableMeshObject to DeletableMeshObject
The nearWallDist MeshObject is now deleted on mesh-change rather than updated
which is more efficient for cases with multiple mesh changes, e.g. motion,
stitching and mapping by avoiding unnecessary updates.

As a consequence of this change the wallDist::y() volScalarField reference
should not be cached across mesh changes so the turbulence models now obtain the
y field as required from the new momentumTransportModel::y() function, the
original near-wall distance function is now named momentumTransportModel::yb()
to clarify that it is the wall distance of the boundary cells.
2023-12-01 16:30:01 +00:00
6fec3e009c nearWallDist: Changed from TopoChangeableMeshObject to DeletableMeshObject
The nearWallDist MeshObject is now deleted on mesh-change rather than updated
which is more efficient for cases with multiple mesh changes, e.g. motion,
stitching and mapping by avoiding unnecessary updates.
2023-12-01 10:29:29 +00:00
8cc8d11b2e Renamed UpdateableMeshObject -> TopoChangeableMeshObject
To clarify that these MeshObjects are updated on any topology change, either
local (e.g. mesh refinement/unrefinement) or mesh-to-mesh mapping.
2023-11-30 20:20:56 +00:00
c8cf725d25 Renamed PatchMeshObject -> RepatchableMeshObject
to clarify the purpose of this MeshObject and provide better consistency between
the name and operation.
2023-11-30 18:18:14 +00:00
b3faf97e55 MeshObjects::TopologicalMeshObject: Replaced by MoveableMeshObject with a dummy movePoints function
It is simpler and more consistent to declare topological mesh objects as
moveable with a dummy movePoints function so that they remain unchanged if the
mesh moves without topology change.  This allows the TopologicalMeshObject to be
removed altogether, the base MeshObjects type now being DeletableMeshObject
which are deleted on mesh change.
2023-11-30 17:20:06 +00:00
fa1de84f8f volPointInterpolation: Changed MeshObject type to DeletableMeshObject
volPointInterpolation is now deleted on mesh-change rather than updated which is
more efficient for cases with multiple mesh changes, e.g. motion, stitching and
mapping by avoiding unnecessary updates.
2023-11-30 15:30:51 +00:00
2e821754cb MeshObjects: Renamed GeometricMeshObject -> DeletableMeshObject
to make it clear that MeshObjects of this type are deleted from the cache on any
mesh change, movement, topological, mapping or redistribution.
2023-11-30 14:33:44 +00:00
7538366a7b massTransferBase: Prohibit changing phases at run-time 2023-11-30 11:53:59 +00:00
23a7ede0c3 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2023-11-29 18:13:12 +00:00