- Jun 28, 2023
-
-
Andrew Heather authored
-
mattijs authored
-
Kutalmış Berçin authored
-
- Jun 27, 2023
-
-
Andrew Heather authored
-
Mark OLESEN authored
- commit fb69a54b 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
-
- Jun 26, 2023
-
-
Mark OLESEN authored
-
mattijs authored
-
Kutalmış Berçin authored
-
Andrew Heather authored
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 ... }
-
Andrew Heather authored
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; }
-
Mark OLESEN authored
- the special MacOS dlopen handling (commit f584ec97) 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.
-
- Jun 25, 2023
-
-
Andrew Heather authored
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
-
- Jun 23, 2023
-
-
Mark OLESEN authored
-
Mark OLESEN authored
- 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.
-
- Jun 22, 2023
-
-
Kutalmış Berçin authored
-
-
Mark OLESEN authored
-
mattijs authored
-
Andrew Heather authored
ENH: improve send/recv robustness in the presence of processorCyclic (#2814) See merge request !614
-
- 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.
-
- returns the number of processorPolyPatch patches (finiteVolume) or else the number of processorFaPatch patches (finiteArea). These can be useful when sizing lists etc.
-
- the changes introduced in f215ad15 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.
-
mattijs authored
-
- Jun 21, 2023
-
-
Andrew Heather authored
ENH: snappyHexMesh: enable late balancing. Fixes #2792 See merge request Development/openfoam!607
-
-
Kutalmış Berçin authored
-
Mark OLESEN authored
- adios: minor updates - avalanche: bug fixes, improvements, new solver - external-solver: improved cache handling, error checks, etc
-
Mark OLESEN authored
- drop the '-doc-source' from csh completion (rarely used option) - includes the '-mpi-thread' and other newer options
-
- 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
-
- Jun 20, 2023
-
-
Kutalmış Berçin authored
-
Mark OLESEN authored
- freeCommmunicatorComponents needs an additional bounds check. When MPI is initialized outside of OpenFOAM, there are no UPstream communicator equivalents
-
- Jun 19, 2023
-
-
Mark OLESEN authored
- kahip includes patches to compile with gcc-13, improved CMake MPI detection - petsc is the latest production release
-
Mark OLESEN authored
- 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
-
Mark OLESEN authored
- 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
-
Mark OLESEN authored
-
Mark OLESEN authored
- more consistent with fvPatchField
-
Mark OLESEN authored
- 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.
-
Mark OLESEN authored
- 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
-
Mark OLESEN authored
- can be broadly categorised as 'unthreaded' or 'collated' (threading requirement depends on buffering) without other opaque inheritances. CONFIG: add hostUncollated to bash completion prompt
-
mattijs authored
-