mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
- added UPstream::allGatherValues() with a direct call to MPI_Allgather.
This enables possible benefit from a variety of internal algorithms
and simplifies the caller
Old:
labelList nPerProc
(
UPstream::listGatherValues<label>(patch_.size(), myComm)
);
Pstream::broadcast(nPerProc, myComm);
New:
const labelList nPerProc
(
UPstream::allGatherValues<label>(patch_.size(), myComm)
);
- Pstream::allGatherList uses MPI_Allgather for contiguous values
instead of the hand-rolled tree walking involved with
gatherList/scatterList.
-
- simplified the calling parameters for mpiGather/mpiScatter.
Since send/recv data types are identical, the send/recv count
is also always identical. Eliminates the possibility of any
discrepancies.
Since this is a low-level call, it does not affect much code.
Currently just Foam::profilingPstream and a UPstream internal.
BUG: call to MPI_Allgather had hard-coded MPI_BYTE (not the data type)
- a latent bug since it is currently only passed char data anyhow
2008-10-23 Contents: surfaceAdd - adds to surface files. (but does not intersect or anything) surfaceBooleanOp - Boolean operations (add, or, xor) on closed surfaces. Probably not working. surfaceCheck - checks surface for incorrect topology. Checks normals of neighbouring faces. surfaceCoarsen - Stan Melax coarsening algorithm surfaceConvert - Converts surfaces to/from various formats surfaceMeshExtract - Extracts mesh patches (or faceSets) and writes as a single surface. - foamToSurface duplicates this surfaceFind - Finds nearest vertex and face to given point. surfacePointMerge - Explicit point merge of surface. surfaceSetOutside - Orient normals on (closed) surface. surfaceSmooth - Laplacian smoothing on surface vertices surfaceSubset - Subsets surface surfaceToPatch - Applies region information of surfaces to mesh. Each external face of mesh gets region number of nearest surface triangle. ------------------------------------------------------------------------------- surfaceMeshConvert - Similar to surfaceConvert, but uses surfMesh library