- Dec 24, 2024
-
-
Andrew Heather authored
-
Andrew Heather authored
-
- Dec 16, 2024
-
-
Mark OLESEN authored
- README updated to v2412, project-version updated to v2412
-
- Dec 12, 2024
-
-
Mattijs Janssens authored
-
- Nov 21, 2024
-
-
mattijs authored
-
- Oct 24, 2024
-
-
- Sep 18, 2024
-
-
mattijs authored
-
- Jun 24, 2024
-
-
Andrew Heather authored
-
Andrew Heather authored
-
- Jun 20, 2024
-
-
Mark OLESEN authored
-
- Jun 13, 2024
-
-
Mark OLESEN authored
- README updated to v2406, project-version updated to v2406
-
Mark OLESEN authored
- adios: 2.9.2 -> 2.10.1 - paraview: 5.11.2 -> 5.12.1 Ancillary libs: - hdf5: 1.14.4.3 - hypre: 2.23.0 -> 2.31.0 - petsc: 3.19.2 -> 3.21.2
-
- Jun 12, 2024
-
-
mattijs authored
-
- Jun 11, 2024
-
-
Andrew Heather authored
-
- May 07, 2024
-
-
Mark OLESEN authored
- the maxCommsSize variable is used to 'chunk' large data transfers (eg, with PstreamBuffers) into a multi-pass send/recv sequence. The send/recv windows for chunk-wise transfers: iter data window ---- ----------- 0 [0, 1*chunk] 1 [1*chunk, 2*chunk] 2 [2*chunk, 3*chunk] ... Since we mostly send/recv in bytes, the current internal limit for MPI counts (INT_MAX) can be hit rather quickly. The chunking limit should thus also be INT_MAX, but since it is rather tedious to specify such large numbers, can instead use maxCommsSize = -1 to specify (INT_MAX-1) as the limit. The default value of maxCommsSize = 0 (ie, no chunking). Note ~~~~ In previous versions, the number of chunks was determined by the sender sizes. This required an additional MPI_Allreduce to establish an overall consistent number of chunks to walk. This additional overhead each time meant that max...
-
- Apr 29, 2024
-
-
Mark OLESEN authored
- "buffered" corresponds to MPI_Bsend (buffered send), whereas the old name "blocking" is misleading since the regular MPI_Send also blocks until completion (ie, buffer can be reused). ENH: IPstream::read() returns std::streamsize instead of label (#3152) - previously returned a 'label' but std::streamsize is consistent with the input parameter and will help with later adjustments. - use <label> instead of <int> for internal accounting of the message size, for consistency with the underyling List<char> buffers used. - improve handling for corner case of IPstream receive with non-blocking, although this combination is not used anywhere
-
- Mar 27, 2024
-
-
mattijs authored
-
- Mar 10, 2024
-
-
Mark OLESEN authored
- provide no_topology() characteristic to avoid triggering potentially expensive mesh connectivity calculations when they are not required. - remove/deprecate unused pointField references from the renumber methods. These appear to have crept in from outer similarities with decompositionMethod, but have no meaning for renumbering. - remove/deprecate various unused aggregation renumberings since these have been previously replaced by pre-calling calcCellCells, or using bandCompression directly. - make regionFaceOrder for block-wise renumbering optional and treat as experimental (ie, default is now disabled). The original idea was to sort the intra-region and inter-region faces separately. However, this will mostly lead to non-upper triangular ordering between regions, which checkMesh and others don't really like. ENH: add timing information for various renumberMesh stages ENH: add reset of clockTime and cpuTime increment ...
-
- Mar 06, 2024
-
-
Mark OLESEN authored
- renumberMesh now has -dry-run, -write-maps, -no-fields, -renumber-method, -renumber-coeffs options. * Use -dry-run with -write-maps to visualize the before/after effects of renumbering (creates a VTK file). * -no-fields to renumber the mesh only. This is useful and faster when the input fields are uniform and the -overwrite option is specified. * -renumber-method allows a quick means of specifying a different default renumber method (instead of Cuthill-McKee). The -renumber-coeffs option allows passing of dictionary content for the method. Examples, // Different ways to specify reverse Cuthill-McKee * -renumber-method RCM * -renumber-coeffs 'reverse true;' * -renumber-method CuthillMcKee * -renumber-coeffs 'reverse true;' * -renumber-coeffs 'method CuthillMcKee; reverse true;' // Other (without dictionary coefficients) * renumberMesh -renu...
-
- Feb 28, 2024
-
-
mattijs authored
-
- Feb 22, 2024
-
-
mattijs authored
-
- Feb 07, 2024
-
-
Mark OLESEN authored
- consistent with etc/controlDict default STYLE: update banner message for collated
-
- Feb 06, 2024
-
-
Mark OLESEN authored
- on Darwin _foamAddLib() also checks the library path existence so passing in "path1:path2" together fails.
-
- Jan 23, 2024
-
-
- Jan 09, 2024
-
-
- reduces code clutter, simplifies modification for new types. Handled classes: Function1, PatchFunction1, coordinateRotation, coordinateSystem, particle, liquidProperties, solidProperties
-
- Dec 21, 2023
-
-
Andrew Heather authored
-
- Dec 20, 2023
-
-
-
-
mattijs authored
-
- Dec 15, 2023
-
-
Mark OLESEN authored
- for clang-based compilers the default linker may be lld or simply ld. Support '+link-ld' to explicitly select use of the ld linker. - consolidate linker rules into single files STYLE: adjust SPDX Identifier
-
- Dec 11, 2023
-
-
Mark OLESEN authored
-
- Nov 24, 2023
-
-
- Nov 20, 2023
-
-
Mark OLESEN authored
- was previously limited to 'char' whereas gatherv/scatterv already supported various integer and float types STYLE: rebundle allToAll declarations with macros ENH: provide a version of allToAllConsensus returning the Map - simplifies use and avoids ambiguities in the send/recv parameters - the Map version will now also transmit zero value data if they exist in the Map. Unlike the List version, zero values are not necessary to signal connectivity with a Map. COMP: forwarding template parameters for NBX routines ENH: consolidate PstreamBuffers size exchange options - had a variety of nearly identical backends for all-to-all, gather/scatter. Now combined internally with a dispatch enumeration which provides better control over which size exchange algorithm is used. DEFEATURE: remove experimental full-NBX PstreamBuffers variant - no advantages seen compared to the hybrid NBX/PEX approach. Removal reduces some code cruft. DEFEATURE: remove experimental "double non-blocking" NBX version - the idea was to avoid blocking receives for very large data transfers, but that is usually better accomplished with a hybrid NBX/PEX approach like PstreamBuffers allows
-
- Nov 16, 2023
-
-
- Oct 20, 2023
-
-
Mark OLESEN authored
-
- Oct 17, 2023
-
-
Mark OLESEN authored
- retain group information when copying zones - support construct empty (add details later) - improve consistency for zone and boundaryMesh construction - support front/back/both selection for faceZoneToCell STYLE: prefer faceZone patch() method instead of operator() STYLE: use std::unique_ptr instead of manual pointer management - for zones and core patch types. Easier data management, allows default destructors (for example)
-
- Sep 14, 2023
-
-
mattijs authored
-
- Aug 21, 2023
-
-
Mark OLESEN authored
- selected with '+strict' in WM_COMPILE_CONTROL or 'wmake -strict', it enables the FOAM_DEPRECATED_STRICT() macro, which can be used to mark methods that are implicitly deprecated, but are not yet marked as full deprecated (eg, API modification is too recent, generates too many warnings). Can be considered a developer option.
-
- Aug 18, 2023
-
-
Mark OLESEN authored
- adding in +xcrun into WM_COMPILE_CONTROL changes the compiler settings as follows (for MacOS) cc := xcrun cc CC := xcrun c++ -std=c++14
-
- since the Apple SIP (System Integrity Protection) clears environment variables such as DYLD_LIBRARY_PATH, a number of workarounds have been used to provide shadow values. However, for a more robust installation using -rpath at compilation time appears to be the better solution. In addition to the usual -rpath specification with absolute file paths, MacOS supports (@loader_path, @executable_path) as well. Now default to link with rpath information for MacOS, which can be disabled by adding `~rpath` in WM_COMPILE_CONTROL Explicit library paths handled: - FOAM_FOAM_EXT_LIBBIN, FOAM_EXT_LIBBIN/FOAM_MPI The executable rpaths are handled assuming a structure of install-path/bin install-path/lib/$(FOAM_MPI) install-path/lib Absolute compile-time paths for FOAM_USER_LIBBIN, FOAM_SITE_LIBBIN and FOAM_LIBBIN are not handled since these are either too fragile (FOAM_USER_LIBBIN and FOAM_SITE_LIBBIN values) or covered via @loader_path anyhow (FOAM_LIBBIN). Since the value of FOAM_MPI is a compile-time value, this rpath treatment makes the installation less suitable for runtime changes to the MPI vendor/version. Note: no rpath added for c-only compilations since there are currently no c-only libraries or executables with dynamic loading
-