Commit Graph

26439 Commits

Author SHA1 Message Date
188c303a27 ENH: finiteArea: enable cache-gradient mechanism 2023-06-14 14:21:27 +00:00
528c5ed8eb CONFIG: set API level to 2306 (pre-release state)
- README updated to v2306
2023-06-14 13:55:38 +02:00
f584ec97d0 ENH: reimplement Foam::dlOpen() for macOS (#2801)
- The Apple SIP (System Integrity Protection) clears environment
  variables, which affects the behaviour of dynamic library loading
  (the DYLD_LIBRARY_PATH env variable).

  OpenFOAM shadows this variable as FOAM_LD_LIBRARY_PATH, which has
  been used to restore DYLD_LIBRARY_PATH (eg, in RunFunctions script).

  However, this solution is not quite complete, as it
    (a) requires sourcing of RunFunctions file,
    (b) additional errors appear depending on a user workflow.

  This changeset alleviates the problem by also iterating through
  paths stored in the shadow variable when loading dynamic libraries
  (if the DYLD_LIBRARY_PATH is empty).
2023-06-14 13:55:38 +02:00
83b1ebee6f COMP: replace sprintf with snprintf (MacOS), add note about vfork 2023-06-14 13:55:38 +02:00
ffbd05f72a DOC: add deprecation notes for exprFixed/exprMixed BCs (#2703)
- this functionality can now be handled directly within
  uniformMixedFvPatchField etc, which are also more flexible.
2023-06-14 13:55:38 +02:00
9489a5a101 COMP: replace selfComm/globalComm variables with functions instead (#2799)
- with C++11, static constexpr variables apparently also require
  definition in a translation unit and not just as inlined quantities.
  Mostly not an issue, however gcc with -O0 does not do the inlining
  and thus actually requires them to be defined in a translation unit
  as well.

  These variables were provided for symmetry with worldComm, but only
  used in low-level internal code. Changing to inlined functions
  solves the linkage issue and also aligns with the commWorld()
  function naming.

Mnemonics:
   MPI_COMM_SELF           => UPstream::commSelf()
   overall MPI_COMM_WORLD  => UPstream::commGlobal(), sometimes commWorld()
   local COMM_WORLD        => UPstream::commWorld()
2023-06-14 13:55:38 +02:00
a8cec219c3 ENH: add UPstream request cancellation (#2800)
- useful when speculative receives have been initiated but are no
  longer required.

  Combines MPI_Cancel() + MPI_Request_free() for consistent resource
  management. Currently no feedback provided if the request was
  satisfied by a completed send/recv or by cancellation (can be added
  later if required).
2023-06-14 13:52:58 +02:00
f4df00a4e9 ENH: support alternative registration name for solution "data" (#2797) 2023-06-13 20:41:53 +02:00
1cdba9b269 ENH: make checkMesh writing of bad edges optional (#2771)
- primarily relevant for finite-area meshes, in which case they can be
  considered to be an additional, detailed diagnositic that is
  normally not needed (clutters the file system).

  Writing can be enabled with the `-write-edges` option.
2023-06-13 20:41:53 +02:00
b87db82c05 ENH: particleTracks - reinstated label field output 2023-06-13 14:13:58 +01:00
dbba89fc92 ENH: InterfaceCompositionModel: add new combination 2023-06-13 09:04:27 +01:00
e92975075a ENH: sum reduction of nPoints/nFaces/nCells in a single call (globalMeshData)
STYLE: use labelRange instead of identity(...) for communicator
2023-06-12 15:39:05 +02:00
f096c34a80 REVERT: unstable MPI_Mprobe/MPI_Mrecv on intelmpi + PMI-2 (#2796)
- reverts commit c6f528588b
2023-06-12 15:32:06 +02:00
57c50bda79 CONFIG: re-export FOAM_DYLD_LIBRARY_PATH in foamJob (#2793) 2023-06-12 14:15:47 +02:00
b13c2c042f COMP: resolve clang/MacOS size ambiguities (fixes #2778) 2023-06-12 13:59:48 +02:00
1c9ea038d0 MISC: additional -repeat option for testing MPI_Comm leakage (#1598) 2023-06-12 13:59:47 +02:00
60fc3906dc Merge remote-tracking branch 'origin/master' into develop 2023-06-12 13:59:19 +02:00
2ac4e5f4d6 ENH: MGridGen: adapt to new GAMGAgglomeration API. Fixes #2795 2023-06-09 18:15:59 +01:00
3455d67d7f COMP: word: using uintptr_t needs <cstdint> 2023-06-07 20:22:13 +01:00
7bc3bc9194 DOC: Scalar: fix the comment (fixes #2794) 2023-06-07 15:09:48 +01:00
68c44f3219 COMP: distributedDILU: solveScalar support 2023-06-05 09:51:34 +01:00
9b5b5ecc75 BUG: DarcyForchheimer: fix debug condition for start times (fixes #2787) 2023-06-02 20:22:17 +01:00
f55adf6c5d Merge branch 'feature-distributedDIC' into 'develop'
Feature distributed DIC/DILU preconditioners

See merge request Development/openfoam!608
2023-06-01 16:21:00 +00:00
c8e224b598 ENH: lduMatrix: parallel version of DIC,DILU 2023-06-01 16:21:00 +00:00
ddf96afdfe Merge branch 'feature-particle-histogram' into 'develop'
ENH: ParticleHistogram: refactor PatchParticleHistogram function object

See merge request Development/openfoam!595
2023-06-01 08:24:29 +00:00
2eb2de5f8e ENH: ParticlePostProcessing: refactor PatchPostProcessing function object
- enable 'faceZones' support.
- enable 'writeFile' support to better control file output.
- rename 'PatchPostProcessing' as 'ParticlePostProcessing' for better clarity.
- fix #1808
2023-06-01 08:22:57 +00:00
c177637db2 ENH: ParticleHistogram: refactor PatchParticleHistogram function object
- enable 'faceZone' support.
- introduce 'cloudFunctionObjectTools' to simplify collection of particle info
  on patches or face zones.
- enable 'writeFile' support to better control file output.
- rename 'PatchParticleHistogram' as 'ParticleHistogram' for better clarity.
2023-06-01 08:22:57 +00:00
f0fca75726 Merge branch 'feature-masterCoarsest-restart' into 'develop'
Restarting local agglomeration inside masterCoarsets processor agglomeration

See merge request Development/openfoam!600
2023-06-01 08:19:05 +00:00
e566142f8a ENH: materCoarsest: input renaming 2023-06-01 08:17:58 +00:00
6a66a15b8f ENH: generalise masterCoarsest restart (GAMG) 2023-06-01 08:17:58 +00:00
0680d0c553 Merge branch 'feature-evaluation-check-bugfix-only' into 'develop'
ENH: coupled: enforce consistency. See #2783

See merge request Development/openfoam!606
2023-06-01 08:17:08 +00:00
adc38d55ac ENH: coupled: enforce consistency. See #2783 2023-06-01 08:14:42 +00:00
113fe48d0e ENH: faceAreaWeightAMI - report centre of problenm face. Fixes #2730 2023-05-30 18:00:21 +01:00
d94744e9f7 BUG: parcel injection models - corrected volume calculations. Fixes #2708 2023-05-30 12:07:33 +01:00
dcf005508b BUG: ReversibleReaction::kr - replaced 1e-6 by VSMALL. Fixes #2704 2023-05-30 11:53:47 +01:00
fcbfa40b0b ENH: checkMesh: small message change 2023-05-30 10:41:15 +01:00
30dc465615 ENH: update timeActivatedFileUpdate with distributed fileHandler 2023-05-23 15:03:23 +02:00
4984153d2d ENH: Update faMeshTools and fvMeshTools for read handler
- extend the loadOrCreateMesh functionality to work in conjunction
  with file handlers. This allows selective loading of the mesh parts
  without the ugly workaround of writing zero-sized meshes to disk and
  then reading them back.

Co-authored-by: Mark Olesen <>
2023-05-23 15:03:23 +02:00
8d2bf3fc2e ENH: soft update of autoPtr<fileOperation> to refPtr<fileOperation>
Co-authored-by: mattijs <mattijs>
2023-05-23 15:03:23 +02:00
8a060e87cb ENH: fileHandler support for faMeshDistributor and field distributors
- fatten the interface to continue allowing write control with a bool
  or with a dedicated file handler. This may slim down in the future.

Co-authored-by: mattijs <mattijs>
2023-05-23 15:01:09 +02:00
d34dfbe0b7 ENH: dummy fileOperation: placeholder for interfaces taking a reference
STYLE: align readOnProc/writeOnProc naming within masterUncollated
2023-05-23 11:12:37 +02:00
a34262966b STYLE: use fileOperation nProcs() instead of setNProcs() 2023-05-22 18:04:21 +02:00
5284bc3019 ENH: add fileOperation::New with a subset of ranks
- replicate the given fileHandler properties with
  a subset of (global) ranks
2023-05-22 18:02:43 +02:00
73f6c7fe28 ENH: centralise handling of fileOperations communicator subset
- use local function for the decision making, whether worldComm or a
  dedicated communicator is needed (and which sibling ranks are
  involved)

Co-authored-by: mattijs <mattijs>
2023-05-22 18:02:41 +02:00
401c6646be ENH: support fileHandler in fieldsDistributor 2023-05-22 18:00:06 +02:00
821d395259 ENH: use refPtr fileHandler in decomposeFaFields, faMeshReconstructor 2023-05-22 17:59:33 +02:00
06147dabe7 ENH: more flexible handling of FOAM_IORANKS
- accept plain lists (space or comma separated) as well as the
  traditional OpenFOAM lists. This simplifies argument handling
  with job scripts.

  For example,
     simpleFoam -ioRanks 0,4,8 ...
  vs
     simpleFoam -ioRanks '(0 4 8)'  ...

  It is also possible to select the IO ranks on a per-host basis:

     simpleFoam -ioRanks host  ...

- expose rank/subrank handling as static fileOperation methods
2023-05-22 17:59:30 +02:00
336422e00b ENH: check managed communicator upon construction of fileOperation
- previously checked on destruction, but it is robuster to check for a
  locally defined communicator during construction

- add InfoProxy output for fileOperation

ENH: add fileOperation::storeComm()

- transfers management of the communicator from external to internal.
  Use with caution
2023-05-22 17:54:33 +02:00
abc60d4d20 ENH: use refPtr to manage current fileHandler
- for special cases it can simplify sharing of processor communication
  patterns, but no visible change for most code.

- make fileHandler communicator modifiable (mutable), for special
  cases. The changes from 9711b7f1b9 now make this safer to do.

Continue to support legacy global function using an autoPtr:

   autoPtr<fileOperation> Foam::fileHandler(autoPtr<fileOperation>&&);

However, new code using refPtr uses the following static method since
swapping out file handlers is an infrequent operation that should
also stand out a bit more.

    fileOperation::fileHandler(...);
2023-05-22 17:51:14 +02:00
19254d0cf2 ENH: parallel-consistent check for dynamic library loading
- consolidate file synchronization checks in dynamicCode

STYLE: report missing library on master only (not every rank)

- avoid flooding the output with messages

Co-authored-by: mattijs <mattijs>
2023-05-22 17:49:21 +02:00