Commit Graph

26497 Commits

Author SHA1 Message Date
a6e826bd55 Merge branch 'OpenFOAM-v2306-rc1' OpenFOAM-v2306 2023-06-30 14:43:29 +01:00
fbf00d6bf2 RELEASE: Updated version to v2306 2023-06-28 16:35:48 +01:00
763bf4674d RELEASE: Updated headers to v2306 2023-06-28 16:35:48 +01:00
2d145e070e COMP: chtMultiRegionTwoPhaseEulerFoam: compile local files only 2023-06-28 16:35:47 +01:00
beb0c910a0 REVERT: turbulentTemperatureRadCoupledMixed: remove merge-review updates (!609) 2023-06-28 16:35:47 +01:00
664e8e0060 DOC: Updated contibutor list 2023-06-27 14:28:22 +01:00
7b20e888a8 REGRESSION: inconsistent constructMap order in meshToMesh::calcProcMap
- commit fb69a54bc3 accidentally changed the constructMap compact
  order from linear ordering to local elements first order. Seems to
  interact poorly with other bookkeeping so doing a partial revert,
  but still replacing the old allGatherList with exchangeSizes.

Note:
   the processorLOD method does actually use a constructMap with local
   elements first ordering, so some inconsistency may still exist
   there
2023-06-27 13:20:07 +02:00
c4b4d1e03e BUG: expressions rand() ignores objectRegistry timeIndex (fixes #2923) 2023-06-26 17:49:18 +02:00
4d7c827bd7 ENH: checkMesh: report on processor patch if non-parallel. Fixes #698 2023-06-26 12:14:30 +01:00
d6d319d95a TUT: mixerVessel: update problematic entries 2023-06-26 10:28:58 +01:00
f93b4338d5 ENH: Added new limitTurbulenceViscosity fvOption
Corrects turbulence viscosity field (e.g. nut) within a specified
region by applying a maximum limit, set according to a coefficient
multiplied by the laminar viscosity:

    \nu_{t,max} = c \nu

Corrections applied to:

  nut  | Turbulence vicosity                   [m2/s2]

Usage
    Minimal example by using \c constant/fvOptions:
    \verbatim
    limitTurbulenceViscosity1
    {
        // Mandatory entries (unmodifiable)
        type            limitTurbulenceViscosity;

        // Optional entries (runtime modifiable)
        nut             nut;
        c               1e5;

        // Mandatory/Optional (inherited) entries
        ...
    }
2023-06-26 10:19:22 +01:00
c9645e61a6 ENH: AMI - added option to control area normailisation mode
The optional areaNormalisationMode entry determines how the area normalisation
is performed. Options are:

- `project`: tri face area dotted with patch face normal; same as v2212 (default)
- `mag`: tri face area magnitude (v2206 and earlier)

Example usage:

    AMI1
    {
        type            cyclicAMI;
        ...
        areaNormalisationMode mag;
        //areaNormalisationMode project;
    }
2023-06-26 10:19:22 +01:00
b264d2e913 CONFIG: reinstate FOAM_LD_LIBRARY_PATH adjustments (#2801)
- the special MacOS dlopen handling (commit f584ec97d0)
  did not fully solve the problem with SIP clearing.

  Eg, sourcing the RunFunctions (for runParallel) triggers SIP and
  clears DYLD_LIBRARY_PATH. With the cleared path it finds the dummy
  libraries: the dummy Pstream::init() fails.
2023-06-26 09:47:07 +02:00
c3660b4123 STYLE: AMI - updated output to show AMI patch names
Helps when running/debugging cases with multiple AMI patches

Example:

AMI: Creating AMI for source:AMI1 and target:AMI2
AMI: Patch source faces: 96
AMI: Patch target faces: 96
AMI: Patch source sum(weights) min:1 max:1 average:1
AMI: Patch target sum(weights) min:1 max:1 average:1
2023-06-25 16:49:11 +01:00
642d8a9dfa COMP: guards around #define OMPI_SKIP_MPICXX (avoids compiler warnings) 2023-06-23 16:05:19 +02:00
2afd2320ce ENH: yPlus: support disable of field writing (#2813)
- for simulations where the yPlus is needed for other purposes or
  just for obtaining information on the patches it can be useful
  to disable field writing and save disk space.

  The 'writeFields' flag (as per some other function objects)
  has been added control writing the yPlus volume field.

  If unspecified, the default value is 'true' so that the yPlus
  function object continues to work as before.
  However, this default may change to 'false' in the future to align
  with other function objects.

ENH: wallShearStress: support disable of field writing

- similar to yPlus, the write() method combines writing information
  and writing the fields. The 'writeFields' flag allows some
  separation of that logic.
2023-06-23 16:05:19 +02:00
7edacd3ab0 ENH: yPlus: eliminate field IO control of controlDict (fixes #2813) 2023-06-22 17:34:31 +01:00
6a1e56e6e9 SUBMODULE: updates for OpenQBMM
- https://github.com/OpenQBMM/OpenQBMM/releases/tag/OpenFOAM-v2306
2023-06-22 17:28:08 +02:00
360aad19dc DOC: document the NBX and PstreamBuffers parameters 2023-06-22 17:26:35 +02:00
a3e6af8fcf BUG: processorCyclic: cell->point interpolation. Fixes #2817 2023-06-22 15:10:04 +01:00
183e9511e5 Merge branch 'fix-processorCyclic_reducedSending' into 'develop'
ENH: improve send/recv robustness in the presence of processorCyclic (#2814)

See merge request Development/openfoam!614
2023-06-22 12:19:14 +00:00
c5c7f2b7fe ENH: reduce local overheads in send/recv bookkeeping (#2814)
- replace Map with a List or DynamicList to reduce the number of
  operations and allocations within the loops.

  Use polyBoundaryMesh::nProcessorPatches() for initial capacity
  to avoid reallocations.
2023-06-22 12:16:45 +00:00
d5ed01dc70 ENH: boundary mesh nProcessorPatches() method
- returns the number of processorPolyPatch patches (finiteVolume)
  or else the number of processorFaPatch patches (finiteArea).

  These can be useful when sizing lists etc.
2023-06-22 12:16:45 +00:00
3dee3438d5 ENH: improve send/recv robustness in the presence of processorCyclic (#2814)
- the changes introduced in f215ad15d1 aim to reduce unnecessary
  point-to-point communication. However, if there are also
  processorCyclic boundaries involved, there are multiple connections
  between any two processors, so simply skipping empty sends will cause
  synchronization problems.

  Eg,

    On the send side:
        patch0to1_a is zero (doesn't send) and patch0to1_b does send
        (to the same processor).

    On the receive side:
        patch1to0_a receives the data intended for patch1to0_b !

  Remedy
  ======
     Simply stream all of send data into PstreamBuffers
     (regardless if empty or non-empty) but track the sends
     as a bit operation: empty (0) or non-empty (1)

     Reset the buffer slots that were only sent empty data.
     This adds an additional local overhead but avoids communication
     as much as possible.
2023-06-22 12:16:45 +00:00
0411a75e24 BUG: purgeWrite: not working for overset. Fixes #2815 2023-06-22 12:27:45 +01:00
4a5f542cb4 Merge branch 'feature-snappyHexMesh-no-balance' into 'develop'
ENH: snappyHexMesh: enable late balancing. Fixes #2792

See merge request Development/openfoam!607
2023-06-21 14:25:17 +00:00
d3419e4e56 ENH: snappyHexMesh: enable late balancing. Fixes #2792 2023-06-21 14:25:17 +00:00
da98104a79 COMP: streamFunction: avoid over-eager optimisation (fixes #2603) 2023-06-21 15:03:18 +01:00
aaf1fcf460 SUBMODULE: updates for adios, avalanche, external-solver
- adios: minor updates
- avalanche: bug fixes, improvements, new solver
- external-solver: improved cache handling, error checks, etc
2023-06-21 15:31:47 +02:00
c6741f5073 CONFIG: update completion cache (csh)
- drop the '-doc-source' from csh completion (rarely used option)
- includes the '-mpi-thread' and other newer options
2023-06-21 15:14:21 +02:00
09edb23c1d BUG: collated fails with controlDict watch files
- files might have been set during token reading so only on
  known on master processor.
  Broadcast names to all processors (even alhough they are only
  checked on master) so that the watched states remain synchronised
2023-06-21 14:56:06 +02:00
32386d0b39 TUT: turbulentFlatPlate: tighten solver settings for epsilon (fixes #2810) 2023-06-20 17:33:39 +01:00
3de090e602 BUG: UPstream::shutdown misbehaves with external initialisation (fixes #2808)
- freeCommmunicatorComponents needs an additional bounds check.
  When MPI is initialized outside of OpenFOAM, there are no
  UPstream communicator equivalents
2023-06-20 09:10:47 +02:00
67bd9119ee CONFIG: update kahip (3.15) and petsc (3.19.2) versions
- kahip includes patches to compile with gcc-13,
  improved CMake MPI detection

- petsc is the latest production release
2023-06-19 17:47:03 +02:00
97459771ad ENH: more consistent handling/documentation of 'value' entry (#2703)
- for boundary conditions such as uniformFixed, uniformMixed etc the
  optional 'value' entry (optional) is used for the initial values and
  restarts.  Otherwise the various Function1 or PatchFunction1 entries
  are evaluated and used determine the boundary condition values.

  In most cases this is OK, but in some case such coded or expression
  entries with references to other fields it can be problematic since
  they may reference fields (eg, phi) that have not yet been created.

  For these cases the 'value' entry will be needed: documentation
  updated accordingly.

STYLE: eliminate some unneeded/unused declaration headers
2023-06-19 17:47:03 +02:00
fc86e52451 ENH: extrapolateInternal() method for patch fields
- provides a more succinct way of writing

      {fa,fv}PatchField<Type>::patchInternalField(*this)

  as well as a consistent naming that can be used for patches derived
  from valuePointPatchField

ENH: readGradientEntry helper method for fixedGradient conditions

- simplifies coding and logic.
- support different read construct modes for fixedGradient
2023-06-19 17:47:03 +02:00
e54ead28e8 BUG: zeroFixedValue pointPatch not set correctly (fixes #2807) 2023-06-19 17:47:03 +02:00
34f12219bd ENH: base-level construct patch field with value
- more consistent with fvPatchField
2023-06-19 17:47:02 +02:00
f9d0895707 ENH: avoid spurious library loading for decomposePar, redistributePar
- individual processor Time databases are purely for internal logistics
  and should not be introducing any new library symbols: these will
  already have been loaded in the outer loop.
2023-06-19 17:05:45 +02:00
4412566c58 ENH: support command-line specification of MPI threads (#2791)
- MPI_THREAD_MULTIPLE is usually undesirable for performance reasons,
  but in some cases may be necessary if a linked library expects it.
  Provide a '-mpi-threads' option to explicitly request it.

ENH: consolidate some looping logic within argList
2023-06-19 17:05:45 +02:00
b2217d5e6b ENH: simplify inheritances for fileOperationInitialise
- can be broadly categorised as 'unthreaded'
  or 'collated' (threading requirement depends on buffering)
  without other opaque inheritances.

CONFIG: add hostUncollated to bash completion prompt
2023-06-19 17:05:45 +02:00
66a2894da8 ENH: parProfiling: add few more functionality to test 2023-06-19 15:53:27 +01:00
979b5a20cd ENH: update Visual Studio Code settings for new vscode versions (fixes #2805) 2023-06-19 10:01:49 +01:00
41cb168649 TUT: scalarTransport: avoid excessive number of output directories (fixes #2806) 2023-06-19 09:01:37 +01:00
5894e6ee8b Merge branch 'feature-fan-curve-momentum-source' into 'develop'
Feature: Fan momentum source fvOption based on fan curve

See merge request Development/openfoam!604
2023-06-15 13:21:30 +00:00
0f2bbbcbbe Feature: Fan momentum source fvOption based on fan curve 2023-06-15 13:21:29 +00:00
4c86664aba Merge branch 'feature-axisymmetric-fvdom-bc' into 'develop'
ENH: specularRadiation: add axisymmetric fvDOM boundary condition

See merge request Development/openfoam!610
2023-06-15 12:34:18 +00:00
ee26a36add ENH: specularRadiation: add axisymmetric fvDOM boundary condition 2023-06-15 12:33:38 +00:00
8f46e47931 Merge branch 'feature-preconditioner-cache' into 'develop'
ENH: PCG: cache preconditioner

See merge request Development/openfoam!612
2023-06-15 12:33:25 +00:00
40d6ba19b1 ENH: PCG: cache preconditioner 2023-06-15 12:33:25 +00:00