openfoam/applications/utilities/surface
Mark Olesen 5eebc75845 ENH: improved UPstream gather/scatter functionality
- 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
2023-05-22 17:18:35 +02:00
..
surfaceAdd ENH: add -verbose option to surface conversion, cleanup 2023-05-09 19:30:57 +02:00
surfaceBooleanFeatures COMP: fix library linkage (#2784), silence some unused variable warnings 2023-05-19 00:46:52 +02:00
surfaceCheck ENH: add -verbose option to surface conversion, cleanup 2023-05-09 19:30:57 +02:00
surfaceClean COMP: fix library linkage (#2784), silence some unused variable warnings 2023-05-19 00:46:52 +02:00
surfaceCoarsen ENH: improve consistency of fileName handling windows/non-windows (#2057) 2021-04-19 16:33:42 +00:00
surfaceConvert ENH: add -verbose option to surface conversion, cleanup 2023-05-09 19:30:57 +02:00
surfaceFeatureConvert ENH: adjust fileName methods for similarity to std::filesystem::path 2022-10-11 17:58:22 +02:00
surfaceFeatureExtract STYLE: prefer REGISTER/NO_REGISTER instead of true/false for IOobject 2023-03-10 14:16:32 +00:00
surfaceFind ENH: improve consistency of fileName handling windows/non-windows (#2057) 2021-04-19 16:33:42 +00:00
surfaceHookUp ENH: use simpler constructor forms for treeData types 2022-11-24 12:21:01 +00:00
surfaceInertia ENH: improve consistency of fileName handling windows/non-windows (#2057) 2021-04-19 16:33:42 +00:00
surfaceInflate ENH: use primitive fields when calculating triSurface fields (#2758) 2023-04-13 20:54:50 +02:00
surfaceLambdaMuSmooth ENH: improve consistency of fileName handling windows/non-windows (#2057) 2021-04-19 16:33:42 +00:00
surfaceMeshConvert ENH: add -verbose option to surface conversion, cleanup 2023-05-09 19:30:57 +02:00
surfaceMeshExport ENH: add -verbose option to surface conversion, cleanup 2023-05-09 19:30:57 +02:00
surfaceMeshExtract ENH: more consistent use of broadcast, combineReduce etc. 2022-11-08 16:48:08 +00:00
surfaceMeshImport ENH: add -verbose option to surface conversion, cleanup 2023-05-09 19:30:57 +02:00
surfaceMeshInfo ENH: improve consistency of fileName handling windows/non-windows (#2057) 2021-04-19 16:33:42 +00:00
surfaceOrient ENH: improve consistency of fileName handling windows/non-windows (#2057) 2021-04-19 16:33:42 +00:00
surfacePatch ENH: adjust fileName methods for similarity to std::filesystem::path 2022-10-11 17:58:22 +02:00
surfacePointMerge ENH: improve consistency of fileName handling windows/non-windows (#2057) 2021-04-19 16:33:42 +00:00
surfaceRedistributePar ENH: improved UPstream gather/scatter functionality 2023-05-22 17:18:35 +02:00
surfaceRefineRedGreen ENH: improve consistency of fileName handling windows/non-windows (#2057) 2021-04-19 16:33:42 +00:00
surfaceSplitByPatch ENH: improve consistency of fileName handling windows/non-windows (#2057) 2021-04-19 16:33:42 +00:00
surfaceSplitByTopology ENH: improve consistency of fileName handling windows/non-windows (#2057) 2021-04-19 16:33:42 +00:00
surfaceSplitNonManifolds ENH: improve consistency of fileName handling windows/non-windows (#2057) 2021-04-19 16:33:42 +00:00
surfaceSubset ENH: improve consistency of fileName handling windows/non-windows (#2057) 2021-04-19 16:33:42 +00:00
surfaceToPatch STYLE: use polyPatchList instead of List<polyPatch*> in more places 2022-09-26 18:03:23 +02:00
surfaceTransformPoints ENH: use cmptMag, cmptMultiply instead of replacing field components 2023-01-31 12:36:41 +01:00
README GIT: remove leading/trailing blank lines, trailing whitespace 2020-06-17 10:46:26 +02:00

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