Commit Graph

7476 Commits

Author SHA1 Message Date
a833a81560 polyTopoChange: Removed restrictive faceZone functionality
Now faceZones are handled directly by the applications and the new
faceZone::topoChange function so that any face can now be in any number of
zones, significantly increasing the flexibility and usefulness of faceZones.

This completes the generalisation of cellZone, faceZone and pointZone to support
multiple zones for each cell, face or point respectively.  Next step will be to
make zones polymorphic and run-time selectable so that they can alter during the
run and adapt to moving meshes for example.
2024-03-25 14:32:59 +00:00
7c86fc69bb hConstThermo, eConstThermo: Improved documentation 2024-03-25 10:11:46 +00:00
ad015dffda polyTopoChange: Standardised the naming of the modifyFace functions 2024-03-21 22:00:06 +00:00
09c8263d08 faceZone: Added new insert function to add elements from a Map<bool>
//- Insert given indices and corresponding face flips into zone
        void insert(const Map<bool>& newIndices);
2024-03-21 16:32:42 +00:00
d77d4a0e29 addPatchCellLayer::setRefinement: Corrected handing of multi-zone extrusion 2024-03-20 12:12:24 +00:00
4854277915 snappyLayerDriver: Updated for changes to polyTopoChange::addPatchCellLayer 2024-03-19 15:15:44 +00:00
33aa449682 extrudeMesh: Added optional generation of cellZones for the extruded cells
For a case extruding patches left and right:

    sourcePatches   (left right);

if the optional zoneNames entry is also specified in extrudeMeshDict

    zoneNames       (leftCells rightCells);

the cells extruded from the left patch are added to the leftCells cellZone and
the cells extruded from the right patch are added to the rightCells cellZone.

Alternatively if a single zone name is specified, e.g.

    zoneNames       (extrudedCells);

then cells extruded from the left and right patches are added to the
extrudedCells cellZone.

If the number of patches to extrude is large it might be more convenient for
the cells extruded from each patch to be added to a cellZone named the same as
each patch, this option is selected by setting zoneNames to patchNames:

    zoneNames       (patchNames);
2024-03-19 11:16:16 +00:00
4b6b492408 renumberMesh: Removed the deprecated and unmaintained zoltan option 2024-03-16 23:43:32 +00:00
209a375683 dimensioned<Type>: Added support for reading the dimensions or units before or after the value
e.g. in physicalProperties

    viscosityModel  constant;

    nu              [0 2 -1 0 0 0 0] 1e-05;

or

    nu              [m^2/s] 1e-05;

or

    nu              1e-05 [0 2 -1 0 0 0 0];

or

    nu              1e-05 [m^2/s];
2024-03-16 11:54:38 +00:00
7918e4d292 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2024-03-15 15:29:56 +00:00
bfc27fb1fd mergePatchPairs: Added extra protection logic to modifyFaces 2024-03-15 15:25:21 +00:00
d8df578920 solvers::functions: Prevent creation of a functions sub-solver 2024-03-15 14:49:47 +00:00
bb77e8e66f polyTopoChangeMap: Updated the "reuse" constructor to use std::move 2024-03-15 14:41:03 +00:00
b41e0857ef polyTopoChange: Removed restrictive cellZone functionality
Now cellZones are handled directly by the applications and the new
cellZone::topoChange function so that any cell can now be in any number of
zones, significantly increasing the flexibility and usefulness of cellZones.

The same rationalisation and generalisation will be applied to faceZones in the
future.
2024-03-15 10:24:46 +00:00
81c2c42ca4 domainDecomposition: Correct stitcher construction on read-update 2024-03-14 16:26:17 +00:00
745572e808 controlIOdictionary: controlDict specific IOdictionary to provide automatic read-update for Time 2024-03-13 23:20:11 +00:00
d8f2d586c3 polyTopoChange::edgeCollapser: Updated to use the faster labelHashSet 2024-03-13 22:15:15 +00:00
7862d93d66 HashSet: Generalised insert(const HashSet<Key, Hash>&) 2024-03-13 20:53:43 +00:00
9239b3bfa9 polyTopoChange: Removed restrictive pointZone functionality
Now pointZones are handled directly by the applications and the new
pointZone::topoChange function so that any point can now be in any number of
zones, significantly increasing the flexibility and usefulness of pointZones.

The same rationalisation and generalisation will be applied to cellZones and
faceZones in the future.
2024-03-13 20:36:00 +00:00
9e3d5fd521 snappyHexMesh: Removed unused -noFunctionObjects option 2024-03-13 14:26:51 +00:00
41864093ca polyTopoChange::modifyCell: Replaced by direct specification of the cell zone 2024-03-12 14:08:10 +00:00
d9cb93897a lagrangian: Spray/BreakupModel/PilchErdman: Correction to function for dimensionless time
Resolves bug report https://bugs.openfoam.org/view.php?id=4063
2024-03-12 12:21:58 +00:00
18504eef62 phaseTransferModels::reactionDriven: Corrected access to species names 2024-03-12 11:01:15 +00:00
3f1e6e796f surface meshes: Renamed movePoints -> setPoints for consistency with polyMesh
The surface mesh setPoints function resets the points without caching the old
points or swept areas so is the equivalent of the polyMesh::setPoints rather
than movePoints.
2024-03-08 17:28:55 +00:00
587f79b39f foamToTecplot360: Link to the foamToVTK library rather than duplicating vtkMesh 2024-03-08 16:29:21 +00:00
9d4fe93bc6 utilities/mesh/manipulation/rotateMesh: Removed
This utility is superseded by the much more general transformPoints. A
rotation between vectors (0 1 0) and (0.707107 0.707107 0), and a
corresponding transformation of all vector and tensor fields, can be
achieved with the following call to transformPoints:

    transformPoints "rotate=((0 1 0) (0.707107 0.707107 0))" -rotateFields
2024-03-08 16:21:32 +00:00
fbfd35dfc4 prghCyclicPressure: New cyclic boundary condition for p_rgh
This boundary condition provides a cyclic condition for p_rgh. It applies
corrections to the value and gradient on both sides of the cyclic to
account for the non-cylicity of the gravitational force.

This condition is only needed when the cyclic patches have a transformation
and a normal component in the direction of gravity. If the cyclic patches
are orthogonal to the direction gravity, then a normal cyclic boundary
condition can be used instead.

Care must be taken when using this boundary condition that the simulation
is actually cyclic. The following constraints apply:

- Both cyclic patches must be oriented in the same way with respect to
  gravity. In practice this means that applicability is limited to cyclics
  with translational transformations.

- The model cannot have any dependence on the absolute value of the
  pressure field. The absolute value of the pressure, in reality, varies
  between each repetition of the geometry; it is not actually formally
  cyclic. Only the gradient of the pressure field can be truly cyclic. This
  model is therefore only valid if the absolute value of the pressure is
  arbitrary, and only the gradient has an effect on the solution. This is
  the case for incompressible multiphase solutions or incompressible
  Boussinesq-like models of density variation. It is not true if (for
  example) a compressible thermodynamic model is being used.

Specification is as follows. A "patchType" entry must be provided to
indicate that this condition overrides the underlying cyclic constraint,
and a "rhoInf" entry is needed (by the owner patch only) to specify the
density of the far-field environment. For example:

    cyclicA
    {
        type            prghCyclicPressure;
        patchType       cyclic;
        rhoInf          1; // [kg/m^3]
    }

    cyclicB
    {
        type            prghCyclicPressure;
        patchType       cyclic;
    }

A tutorial, incompressibleVoF/trayedPipe, has been added to demonstrate
usage of this boundary condition.
2024-03-08 14:43:52 +00:00
a424c3c684 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2024-03-08 11:55:03 +00:00
7a55c70970 snappyHexMesh: Changed movePoints -> setPoints
Avoids the unnecessary calculation of the swept volumes and caching of old-time
points, volumes etc.  Provides cleaner and faster code.
2024-03-08 11:53:26 +00:00
d03f94ebc6 jumpCyclicFvPatchField: Generalisation, construction and consistency improvements
The base jump cyclic patch now no longer assumes that the jump applies
equally to both sides. The jump() method for a field now returns the
jump appropriate for a transfer to the field in question; the base patch
no longer has to do any explicit negation. This provides the opportunity
to create alternative types of jump.

The derived classes are now well defined in terms of their construction.
No conditions require a "value" entry. Whether or not a "jump" entry
is required depends on whether the condition can re-calculate the jump
field without reference to other fields or boundary conditions. The
presence or otherwise of a jump or value entry should no longer result in
lookup failures or floating point errors or similar.
2024-03-07 21:11:08 +00:00
c9c5af65e3 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 20240308 2024-03-07 17:51:36 +00:00
19c3e0cb84 polyTopoChange: Removed remnants of unused and deprecated cell and face inflation
The concept of cell and face inflation proved unworkable in general and has been
replaced by the more flexible and robust cell-splitting combined with
conservative interpolative mapping and mesh morphing as appropriate.
2024-03-07 17:49:04 +00:00
b77e086295 foamGet: clean the pruneFiles function 2024-03-07 11:47:59 +00:00
de422504ba foamGet: remove caseDicts/postProcessing from search path 2024-03-07 11:44:49 +00:00
92da31039e polyTopoChange: Removed unused cell-from-face/point inflation support
The concept of cell inflation from faces or points proved unworkable in general
and has been replaced by the more flexible and robust cell-splitting combined
with conservative interpolative mapping and mesh morphing as appropriate.
2024-03-06 20:30:53 +00:00
dbff8d0f1c polyTopoChange: Merged addMesh into constructor
The addMesh function was not used in any other context.
2024-03-06 15:52:57 +00:00
1576f3c215 polyTopoChange/meshCut: Removed unused code 2024-03-06 15:46:20 +00:00
734df1c370 LangmuirHinshelwood: Corrected concentration derivative
Resolves bug report https://bugs.openfoam.org/view.php?id=4061
2024-03-06 11:11:29 +00:00
b5284a5751 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2024-03-06 10:33:09 +00:00
9ace53663b snappyHexMesh: Added -region option
This allows region meshes to be directly generated in the region sub-directory,
providing equivalent functionality to the -region option on blockMesh.
2024-03-06 10:30:46 +00:00
2dd82773fc multiphaseEuler: phaseTransferModels::reactionDriven: Permit transfers in both directions
The syntax of this model has changed to permit transfers of species in
either direction. A list of transferring species is now given for each
phase, rather than identifying a single reacting phase. For example:

    phaseTransfer
    (
        vapour_particles
        {
            type reactionDriven;

            // TiO2 and TiO2_s are created by reactions in the vapour
            // and are then transferred to the particles
            species.vapour (TiO2 TiO2_s);

            // H2O is created by reactions in the particles and is then
            // transferred to the vapour
            species.particles (H2O);
        }
    );
2024-03-05 11:28:06 +00:00
0840ae5d37 MeshZones: Added mesh change functions
in preparation for zones updating themselves on mesh topology change
2024-03-04 21:58:52 +00:00
c161539597 filmEjectionModels::BrunDripping: Removed unnecessary ejectionModel::correct() 2024-03-04 15:40:03 +00:00
5a0e913edc addPatchCellLayer: Removed redundant face zone clutter 2024-03-02 14:46:20 +00:00
e40c5324c5 polyTopoChangeMap: Removed unused and redundant zone maps 2024-03-01 18:25:07 +00:00
545ed8a0ee kivaToFoam: Switched-off functionObjects 2024-03-01 11:47:44 +00:00
7f8847bab0 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2024-02-29 15:43:49 +00:00
55410bedf5 laminarModels::lambdaThixotropic: Reformulated lambda equation in conservative form
to support standard fvModel sources.
2024-02-29 15:40:39 +00:00
4f72951f7e planeToFaceZone: Corrected operation across transformed couples 2024-02-28 16:39:17 +00:00
4bbcf7eead patchIntersection: Debug write source patch point normals 20240228 2024-02-28 12:41:24 +00:00