27532 Commits

Author SHA1 Message Date
b050cd9480 BUG: missed removal of pointMesh/boundaryProcAddressing (fixes #3412) 2025-08-14 11:00:09 +02:00
e73c13466b ENH: pointConstraint: work in binary mode 2025-07-31 14:55:39 +01:00
d2c145d7a4 COMP: resolve label 64 compilation ambiguity for Mingw (fixes #3390)
COMP: restrict HashTable maxTableSize to int32 range

- avoids compiler warning about possible overflow (left-shift
  operation) for label 64 compilations and we don't need anything
  larger than int32 HashTable capacity anyhow.

ENH: make nearest power-of-two non-branching (previously brute-force)
2025-07-31 11:36:50 +02:00
95a5dfacc7 BUG: AMIInterpolation: keep old geomComm. See #3372
Correcting bug introduced when trying to keep the old communicator.
We do not need local communicator if all ranks of comm have
some faces. Not all ranks of the already local communicator.
2025-07-15 13:53:54 +01:00
615aae61d7 RELEASE: Updated config to v2506 OpenFOAM-v2506 2025-06-27 09:47:59 +01:00
fabb1c2ce5 RELEASE: Updated headers to v2506 2025-06-27 09:46:28 +01:00
9f47957df5 CONFIG: updated completions cache 2025-06-27 09:45:58 +01:00
50b1c0be53 ENH: refine handling of AMI local communicator
- previous handling of forced inclusion of the master would taint the
  logic about single vs multiple ranks.

- be fussier about avoing creation of a local communicator when not
  needed.

STYLE: rename internal switch from localComm_ to useLocalComm_

- less confusing (it is a switch, not the communicator itself)
2025-06-27 09:43:15 +01:00
2e475793bc FIX: avoid setting warnComm for single-world mappedPatches
- setting the warnComm is useful for diagnosing multi-world issues but
  triggers many false warnings when used in combination with AMI local
  communicators.
2025-06-27 09:43:08 +01:00
b46b3356bc FIX: hard-coded communicator in mappedPatchFieldBase (fixes #3375) 2025-06-27 09:42:58 +01:00
453efa7ca8 COMP: minor changes for gcc-15
COMP: unresolved pTraits<long int> for reductions on i586 systems

- now always just use int64_t instead of off_t and time_t
  for master reductions.

  Note that this is not the only place where the off_t definition
  causes compilation issues (cf. fileOperation::broadcastCopy)
2025-06-27 09:42:51 +01:00
4d702d25a6 Merge remote-tracking branch 'origin/master' into develop 2025-06-27 09:41:03 +01:00
bf0eb9bede TUT: mixerVessel2D: avoid sensitivity issues when writing mesh data to disk 2025-06-26 14:05:24 +01:00
1cdf7d0b00 Merge branch 'feature-field-statistics' into 'develop'
ENH: fieldStatistics: New function object for statistics of input fields

See merge request Development/openfoam!732
2025-06-24 16:11:29 +00:00
053f895b2e ENH: fieldStatistics: new function object
- calculates various statistics (min, max, mean, variance)
  of specified fields
2025-06-24 15:52:32 +02:00
ec7ab996c5 CONFIG: set API level to 2506 (initial pre-release state)
- README updated to v2506, project-version updated to v2506
2025-06-23 16:56:30 +02:00
5f580f547f ENH: reuse AMI local communicator between timesteps (#3372)
- in many cases the local communicator has the same communication
  pattern for several timesteps so it can be reused instead of being
  recreated. Avoids repeated MPI_Comm_free()/MPI_Comm_group() calls

- STYLE: eliminate bitSet intermediate when determining the sub-ranks
2025-06-23 16:51:50 +02:00
36d1d9b79d SUBMODULE: update cfmesh (SLList changes) 2025-06-23 13:09:11 +02:00
9e9c90ddb2 SUBMODULE: update data-community and turbulence-community 2025-06-20 14:32:34 +01:00
45f8d847b0 Merge branch 'feature-bladeForces' into 'develop'
ENH: Added new bladeForces function object

See merge request Development/openfoam!746
2025-06-20 11:27:00 +00:00
1078234f18 ENH: Added new bladeForces function object
Calculates thrust, drag, torque and lift/drag/pressure coefficients
of single or multiple blades (eg, propeller, turbine blades)

This function object differs from the propellerInfo and forces
function objects in that all forces are calculated within the local
cylindrical coordinate system, which yields thrust and drag values
within the expected reference frame.

The output comprises:
- coefficients per radial bin
- area-weighted total coefficients
- integrated forces and torque

For convenient post-processing, the results are also written in a VTK
(.vtp) output format. All surface results are registered internally,
which makes them available for other function objects.
2025-06-18 21:16:03 +02:00
3c4e226130 COMP: reduce off_t as int64 for windows compilation
- avoids unresolved pTraits<long int> for reductions
2025-06-18 20:28:58 +02:00
7021b073cf DOC: repeat the documentation about function objects "error" enums
- originally only listed in functionObjectList, now also list the same
  information under namespace functionObjects so it is more likely to
  be found.  Document the behaviour as a table to make it more
  immediately visible than the text form.
2025-06-18 20:28:58 +02:00
cdd1e19f68 Merge branch 'feature-GAMGAgglomeration-name' into 'develop'
ENH: GAMGAgglomeration: optional name. Fixes #3332

See merge request Development/openfoam!749
2025-06-18 18:25:48 +00:00
09beb5571a ENH: GAMGAgglomeration: optional name. Fixes #3332 2025-06-18 18:23:37 +00:00
23adebdb86 FIX: missing specialisations for transformF[av]PatchField
- fix for 25139e492e
2025-06-18 11:07:28 +01:00
2b0e4dc97a ENH: potentialFoam: allow swirl bc. See #3211
Bypasses the constraint override. Contentious -
does field algebra or boundary constraints take
priority.
2025-06-16 17:13:31 +01:00
e803646228 Merge branch 'consistent-handling-of-filtered-names' into 'develop'
consistent handling of filtered patch/zone names. More inGroups handling for utilities etc.

See merge request Development/openfoam!748
2025-06-13 14:17:48 +01:00
be278abcc0 ENH: revise patch group selection to ensightMesh
- supports inGroup while also respecting allow/deny semantics

- support inGroup for cellZone/faceZone selection
2025-06-13 10:29:32 +02:00
93f980834b ENH: support patch group selection
- vtkWrite, foamToVTK, surfaceMeshExtract
2025-06-13 10:29:32 +02:00
e8dce32b0a ENH: consistent handling of filtered patch/zone names
- the indices(const wordRes& allow, const wordRes& deny) methods
  were not defined consistently with the wordRes::filter handling.

  wordRes::filter - allow/deny both empty:
      = no filtering (ie, accept everything)

  indices(allow,deny) - allow/deny both empty:
     = return identity list (NEW behaviour)
     = return empty list (OLD behaviour)

  Consider the old behaviour a minor bug since the limited number of
  callers had their own checks that avoided the poor behaviour.

  Example of the inconsistent behaviour:

     pbm.indices(wordRes(), wordRes({"non-existent"}))
        --> identity list (old, new behaviour)

     pbm.indices(wordRes(), wordRes())
         --> identity list (new behaviour)
         --> empty list    (old behaviour)
2025-06-13 09:15:58 +02:00
91925871d9 Merge branch 'fix-3374-questionable-const_cast' into 'develop'
avoid casting workarounds for syncTools::syncBoundaryFaceList

See merge request Development/openfoam!747
2025-06-12 12:49:26 +00:00
a5090c37a3 ENH: minor improvements to UPstream::communicator wrapper class
- robuster reset() method that handles self-assignment
- additional swap() and constCast() methods

STYLE: relocate UPstream::communicator declarations within header
2025-06-12 13:13:26 +02:00
0d7816b7fd ENH: avoid questionable const_cast of SubList (#3374) 2025-06-12 13:13:26 +02:00
9bdb75eeef ENH: add ListOps::equal() function
- tests for list equality with different but compatible data types.
  Eg, when comparing lists of int32 and int64 values.

STYLE: pass UList instead of List references into ListOps functors
2025-06-12 13:13:26 +02:00
a860d48637 ENH: make some vectorTensorTransform methods inplace
- avoids intermediate allocation and re-assignment to self (#3374)

BUG: checkMesh (application) with questionable memory handling (#3374)

- move the contents of the new points instead of attempting to transfer
  the entire list

COMP: replace mapDistribute specializations with if constexpr handling

- simplify future maintenance
2025-06-12 13:13:26 +02:00
97296043c0 ENH: snappyHexMesh: more warnings. See #3377
This one only tackles the per-region for refinementSurfaces.
Other ones tbd.
2025-06-12 10:10:16 +01:00
6bdceaf29f BUG: AMI: local communicators. Fixes #3376 2025-06-11 16:39:48 +01:00
34df4eaf40 ENH: ensightWrite: allow inGroup names in patches and excludePatches 2025-06-11 13:36:14 +01:00
75b2d0b656 BUG: masterStream forwards without communicator (fixes #3373)
- in messageStream::masterStream(int), it forwarded to stream()
  without the communicator, which meant it would incorrectly check
  UPstream::master(worldComm) and possibly not produce any output (or
  block).
2025-06-10 15:20:11 +02:00
9bc6f2f91f ENH: support 'rpm' input for propeller functionObject (as per rotorDisk)
- update code style for forces/propeller.
- simplify coordinate handling in propeller functionObject
2025-06-10 10:32:03 +02:00
96872f031f Merge branch 'feature-orientedSurface' into 'develop'
ENH: snappyHexMesh: work better on non-manifold. Fixes ##3361

See merge request Development/openfoam!740
2025-06-09 15:12:47 +00:00
55d89ac4d6 ENH: snappyHexMesh: work better on non-manifold. Fixes ##3361 2025-06-09 15:12:47 +00:00
fe0ba07a7a SUBMODULE: update OpenQBMM for v2506 2025-06-05 16:06:56 +02:00
164a3e8330 ENH: IOstream::unsetf() now returns old flags (eg, for toggling)
ENH: align MPI_Probe non-blocking handling with header description

- the header states that the commsType is non-blocking or not,
  but the implementation actually checked for 'buffered' or not.

STYLE: fix some spacing and some documentation
2025-06-05 16:06:56 +02:00
2f6581133c ENH: preserve matrix manipulation state in boundary consistency check
- add placeholder methods in faPatchField and move setter functions
  from protected to public access.
2025-06-05 15:09:25 +02:00
9e8e14e448 TUT: minor tutorial cleanup
- use functionObject writeInterval not timeInterval.
  No change in behaviour since the missing writeInterval is treated
  as '1' anyhow when using 'timeStep' for the writeControl

- consistent use of 'adjustable' vs 'adjustableRunTime'

- prefer '#eval{ vector(...) }' to calling '#eval' multiple times
2025-06-04 16:39:34 +02:00
ffea136955 BUG: correct constant definition in sigma LES model (fixes #3371) 2025-06-03 20:04:17 +01:00
5dbc2e5890 Merge branch 'patch_specializations' into 'develop'
Simplify specialization of patch fields, consolidate boundary evaluation

See merge request Development/openfoam!743
2025-05-29 11:20:25 +00:00
1be6991d3f CONFIG: set API level to 2502
- changes in patchField signatures
2025-05-28 17:50:55 +02:00