Commit Graph

5829 Commits

Author SHA1 Message Date
93b106cdfd PackedList: Make iteratorBase copy constructor public
This allows an iterator to be stored and used in the same way as a
non-const reference to an element of a non-packed list
2022-03-30 11:49:28 +01:00
1736fd8f84 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2022-03-30 11:46:18 +01:00
91e4493a53 nearWallDist: now a MeshObject to provide automatic update on mesh change 2022-03-30 11:45:14 +01:00
b4bcb29d6a multiphaseEulerFoam: Added models
Added solid particle coalescence model by Adachi, Stuart and Fokkink
(1994), solid particle breakage model by Kusters (1991) and spherical
particle lift force model by Saffman-Mei (1992).

Patch contributed by Kasper Gram Bilde and Institute of Fluid Dynamics,
Helmholtz-Zentrum Dresden - Rossendorf (HZDR)
2022-03-30 11:28:42 +01:00
89e4b0fc7c functionObjects::utilities: Improved usage documentation 2022-03-29 15:58:47 +01:00
4e05776106 meshWave: Simplification of transfers through cyclic interfaces
A single transform method has been written to govern meshWave transfers
through transformed interfaces. This allows the transformer class to
take care of the different types of transform (e.g., displacement vs
positions), rather than having the waved data do it manually. It also
simplifies the creation of data classes and removes a large number of
functions that do nothing.

Propagation through AMI interfaces and the transformation of wall
normals through has also been corrected.
2022-03-29 14:30:50 +01:00
495a3a32d4 FaceCellWave: Removed functionality relating to un-split cyclics 2022-03-29 08:36:43 +01:00
b9b8a8ac12 Alltest: added -from and -to options for specifying the directory to run tests from and in
Patch contributed by Institute of Fluid Dynamics,
Helmholtz-Zentrum Dresden - Rossendorf (HZDR)
20220327
2022-03-25 23:25:24 +00:00
b2eff135e6 FaceCellWave: Removed unnecessary intermediate MeshWave class 2022-03-25 12:41:50 +00:00
20ef804fa2 patchDistWave: Removed duplicate and unnecessary code 2022-03-25 12:14:45 +00:00
656162bb76 externalWallHeatFluxTemperatureFvPatchScalarField: Corrected h in mapping constructor 2022-03-24 19:01:30 +00:00
44f4b4c10a externalWallHeatFluxTemperatureFvPatchScalarField.H: Removed unnecessary private: 2022-03-23 19:34:24 +00:00
4c2c4bb43d fvMesh, pointMesh: Simplified field mapping using FOR_ALL_FIELD_TYPES macro 2022-03-23 19:33:47 +00:00
48a7f6716b src/meshTools/Make/files: Added rotatedBoxToFace.C 2022-03-23 16:38:01 +00:00
3306637c2e hexRef8: Added additional consistency check when writing cellLevel and pointLevel 2022-03-23 16:37:26 +00:00
08b67ff147 Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2022-03-23 16:36:25 +00:00
ddbf2d7853 fvMesh: fvSchemes and fvSolution are now demand-driven
fvMesh is no longer derived from fvSchemes and fvSolution, these are now
demand-driven and accessed by the member functions schemes() and solution()
respectively.  This means that the system/fvSchemes and system/fvSolution files
are no longer required during fvMesh constructions simplifying the mesh
generation and manipulation phase; theses files are read on the first call of
their access functions.

The fvSchemes member function names have also been simplified taking advantage
of the context in which they are called, for example

    mesh.ddtScheme(fieldName) -> mesh.schemes().ddt(fieldName)
2022-03-23 16:23:55 +00:00
19b3b2e563 tutorials: reverseBurner: Ignite with temperature constraint
This method of igniting is easier to control than a heat-source based
method. A suitable temperature at which the reaction will take is
typically fairly easy to estimate, whilst determining a heat source
value which achieves the same effect is difficult and is often requires
trial and error.

The new fractional control of value constraints has permitted the use of
fixedTemperatureConstraint in this way; both because it allows for
ramping and for limiting the duration over which the constraint is
applied.
2022-03-23 13:03:42 +00:00
32be464010 fixedValueConstraint, fixedTemperatureConstraint: Permit applying only a fraction of the constraint
An optional Function1 can now be supplied to a fixedValueConstraint
which controls what proportion of the constraint is applied. This can be
used to ramp, pulse, or limit the duration of the constraint. For
example, ramping up of the constraint could be specified as follows:

    scalarSource
    {
        type            fixedValueConstraint;

        selectionMode   points;
        points          ((0 0.1 0));

        fieldValues
        {
            s               1;
        }

        fraction
        {
            type            ramp;
            duration        0.1;
        }
    }
2022-03-23 12:58:33 +00:00
41433213cd multiphaseEulerFoam: populationBalance: Set terminal in test createGraph scripts
Patch contributed by Institute of Fluid Dynamics,
Helmholtz-Zentrum Dresden - Rossendorf (HZDR)
2022-03-22 14:56:28 +00:00
acd5528557 rotatedBoxToFace: New faceSource, the face equivalent of rotatedBoxToCell
Description
    A topoSetSource to select faces based on cell centres inside a rotated
    and/or skewed box.

    The box can be defined with an origin and three vectors; i, j, and k. The
    origin is one corner of the box, and the vectors are the edges connected to
    that corner.

    For example, the following defines a box rotated 45 degrees around the
    z-axis, with width and depth of 0.2, height of 200, and with a bottom left
    corner at (0.4 0.4 -100):

    \verbatim
        origin  (0.4 0.4 -100);
        i       (0.141421 0.141421 0);
        j       (-0.141421 0.141421 0);
        k       (0 0 200);
    \endverbatim

    Alternatively, the box can be defined using a non-rotated box and details
    of how it should be rotated. This syntax is triggered by the presence of
    the keyword "box". A standard bounding box is supplied, along with a centre
    of rotation and two vectors, n1 and n2. The rotation is taken to be that
    which transforms n1 onto n2.

    The above example can be equivalently specified in this alternative form as
    follows:

    \verbatim
        box     (0.4 0.4 -100) (0.6 0.6 100);
        centre  (0.4 0.4 0);
        n1      (1 0 0);
        n2      (1 1 0);
    \endverbatim
2022-03-21 10:37:42 +00:00
87855d849e tutorials/multiphase/interFoam/RAS/floatingObject: Added controlDict.sixDoF
to be used with dynamicMeshDict.sixDoF to test the deprecated
sixDoFRigidBodyMotion motion solver.
2022-03-19 09:54:13 +00:00
27596effc5 foamGet: search through links 2022-03-18 12:44:18 +00:00
fbf7374bef driftFluxFoam: Added MRF centrifugal acceleration effect to the relativeVelocityModels
This required changing the formulation of the relative velocity in terms of a
scalar velocity coefficient Vc rather than the velocity V0 such that

    V0 = Vc*g

where g is the acceleration due to gravity.  With MRF rotation

    V0 = Vc*(g + <MRF centrifugal acceleration>)
2022-03-17 17:35:15 +00:00
05cfe8445c csvSetWriter: Quote problematic fields and permit specification of a field separator 2022-03-17 13:14:28 +00:00
a578586c2c processorTopology: Un-templated
The template parameters were only ever polyBoundaryMesh and
processorPolyPatch. Un-templating makes mainteance and bug-fixing
quicker as it means minor modifications no longer cause a full rebuild
of OpenFOAM.
2022-03-17 11:58:06 +00:00
ec3187fa52 splitBaffles: Added support for hexRef8
so that the pointLevel file is updated for use by hexRef8 in subsequent mesh
manipulations, refinement/unrefinement etc.
2022-03-16 12:17:25 +00:00
0f88d03f5a tutorials/multiphase/interFoam/RAS/planingHullW3/Allmesh.*: Remove sets after refinement
otherwise renumberMesh fails due to the refinement sets being inconsistent with
the final mesh.
2022-03-16 10:43:27 +00:00
08b7a94452 mapFields, mapFieldsPar: Removed the subtract option and supporting complexity in meshToMesh0 and meshToMesh
The subtract option in mapFieldsPar was not implemented correctly and the
significant complexity in meshToMesh required to support it creates an
unwarranted maintenance overhead.  The equivalent functionality is now provided
by the more flexible, convenient and simpler subtract functionObject.
2022-03-15 23:21:32 +00:00
e9608d8f0f Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev 2022-03-15 14:51:55 +00:00
a08bb7bae1 meshQualityDict: Switch off the minVol control by default
It is not clear for what cases the minVol control is useful or necessary and for
some cases it causes problems with snapping and layer addition if not set to a
sufficiently small value.
2022-03-15 14:50:12 +00:00
b5b842c688 foamGet: include controlDict.orig file in case check 2022-03-15 08:21:58 +00:00
f2bf348ab2 tutorials/incompressible/icoFoam/cavity: Updated transportProperties -> physicalProperties 2022-03-14 13:50:30 +00:00
bbaba1a645 topoSetDict: Corrected/updated formatting
Patch contributed by Institute of Fluid Dynamics, Helmholtz-Zentrum
Dresden - Rossendorf (HZDR)
2022-03-14 13:49:07 +00:00
dfc28bb580 multiphaseEulerFoam: populationBalance: Updated and improved source code documentation
Patch contributed by Institute of Fluid Dynamics, Helmholtz-Zentrum
Dresden - Rossendorf (HZDR)
2022-03-11 09:13:03 +00:00
9de4c78614 points0MotionSolver: Move points0 field to the time directory
This means the field gets decomposed and reconstructed in the same way
as any other point field, and prevents issues with restart of cases
which feature both mesh motion and topology change.
2022-03-10 21:28:17 +00:00
3995456979 parallelProcessing: Various improvements
boundaryProcAddressing has been removed. This has not been needed for a
long time. decomposePar has been optimised for mininum IO, rather than
minimum memory usage. decomposePar has also been corrected so that it
can decompose sequences of time-varying meshes.
2022-03-10 20:31:30 +00:00
dc052dd20c functionObjectList: Added access to the PtrList<functionObject>::append function
to allow addition of case specific functionObjects during the run.
2022-03-10 08:58:43 +00:00
318f78b660 fluent3DMeshToFoam: Updated for Fluent R2021
Resolves feature request https://bugs.openfoam.org/view.php?id=3815
2022-03-09 11:11:53 +00:00
58dce31c79 cyclicPolyPatch: Added default-transform-is-none flag to constructor
This allows the patch to be derived into patches that have different
ideas about whether or not a default no-transformation is appropriate.
2022-03-08 12:04:04 +00:00
a5b70f0f90 cyclicFvPatchField: Use fvPatch addressing instead of polyPatch addressing
This is less indirection and permits derivations of the cyclicFvPatch to
override the addressing
2022-03-08 10:19:51 +00:00
a576b72356 processorCyclicPolyPatch: Fix to message tagging
The tagging is now correct for the case when there are two processor
interfaces connected in different directions across the same cyclic.
2022-03-08 10:19:51 +00:00
373c4993a8 externalWallHeatFluxTemperature: Removed "mode"
Heat power (Q), heat flux (q) and heat transfer coefficient (h)
can now all be specified simultaneously. Their effects will be summed
into a single heat transfer rate. The "mode" keyword is no longer
required.
2022-03-08 10:19:47 +00:00
e7aaae76ac tutorials: reverseBurner: Fix warnings about wedge geometry 2022-03-08 09:16:51 +00:00
18f4f2f9e7 Zoltan: Added alternative library location $ZOLTAN_ARCH_PATH/lib
to support linking to system installations of the Zoltan library.

Resolves the feature request https://bugs.openfoam.org/view.php?id=3814
2022-03-07 17:14:34 +00:00
16788ffc36 fvMeshDistributorsDistributor: Changed decompose call to support constraints
Resolves bug-report https://bugs.openfoam.org/view.php?id=3812
2022-03-04 18:34:32 +00:00
b37141932a functionObjects::timeControl: Corrected initialisation of executionIndex_
needed by the adjustableRunTime option for restarted cases.
2022-03-03 15:54:32 +00:00
aa02cd4d25 multiphaseEulerFoam::fractal: Corrected stabilisation of kappa including the influence of fi 2022-03-01 20:46:47 +00:00
8cecaa8b6e MultiComponentPhaseModel: Replaced local residualAlpha_ with phase.residualAlpha()
There is no clear need for a residualAlpha to be defined specifically for Yi and
read from the fvSolution dictionary, the phase.residualAlpha() should be
suitable to stabilise the Yi equations.
2022-03-01 18:00:06 +00:00
3df883d7e6 multiphaseEulerFoam: Improved stabilisation of Yi, fi and kappa when alpha -> 0
The new stabilisation approach avoids any conservation error where the
phase-fraction is greater than residualAlpha by only applying the stabilising
terms to the transport equations in regions where the phase-fraction is less
than residualAlpha.
2022-02-28 19:08:28 +00:00