1. petsc
  2. PETSc
  3. petsc
  4. Branches

Branches

mlange/plex-vertex-partitioning

View source
mlange/plex-vertex-partitioning
  • Contributors
    1. Loading...
Author Commit Message Date Builds
250+ commits behind master.
Michael Lange
Plex: Enable overlap and closure generation for vertex-partitions DMPlexEnlargePartition now uses the correct adjacency and DMPlexCreatePartitionClosure closes vertex-partitions correctly. The latter is done by going through the adjacency of each vertex and including the closure of the adjacent point iff all vertices in that closure are contained in the original vertex partition.
Michael Lange
Plex: Enable partitioning graphs from vertices This commit introduces a partitioning height (height of the stratum used to create the graph for the partitioner)) and re-implements DMPlexCreateNeighborCSR to only use DMPlexGetAdjacency() when generating graphs. The partitioning height is 0 (cells) if we're using cone adjacency and dim (vertices) otherwise.
Michael Lange
Plex: Fix DMPlexGetDimension->DMGetDimension in DMPlexDistribute
Matthew Knepley
Merge branch 'knepley/feature-dm-dimension-handling' into mlange/plex-redistribute * knepley/feature-dm-dimension-handling: TS ex11: Fixed calls to DMSetCoordinateSection() DM: FIxed DMClone() to copy dimension Plex+DA: Now cell geometry routine can take a PetscFE in order to evaluate at quadrature points - We evaluate isoparametrically at the quadrature points - Changed DMDAComputeCellGeometry() --> DMDAComputeCellGeometryFEM() - Changed DMPlexComputeCellGeometry() --> DM…
Michael Lange
Plex: Establish correct pointSF for re-sized halos in DMPlexRedistribute() Instead of voting on the point ownership via the SF created from the partitioning (DMPlexDistribute_CreatePointSF) we can simply derive the new pointSF from the old pointSF when shrinking halos.
Michael Lange
Plex: Use global max(nleaves) as new nroots in PetscSFCreateInverseSF()
Michael Lange
Plex: Bug fix for parallel pointSF derivation Derive closure of original partition from sequential DM before entering DMPlexDistribute_CreatePointSF().
Michael Lange
Plex: Build the pointSF for the re-sized DM in DMPlexRedistribute() Again re-factor this code into a private utility function.
Michael Lange
Plex: Build a "re-sized" parallel Plex in DMPlexRedistribute() This commit re-factors the data migration parts of DMPlexDistribute() into a utility function, so we can re-use them for DMPlexRedistribute().
Michael Lange
Plex: Use maxlocal as the number of leaves in PetscSFCreateInverseSF(). This fixes a bug in the case where the original SF has sparse leafs.
Michael Lange
Plex: First implementation of DMPlexRedistribute() This should do the same as DMPlexDistribute, but starting from an already distributed Plex. The initial version will only be able to re-size the overlap region; full parallel re-partitioning is the next step. This commit implements the re-building of the partitioning based on the PointSF, given that the old overlap spans the new one.
Michael Lange
Plex: Enable multi-level overlap regions in DMPlexDistribute() When creating partitions apply DMPlexEnlargePartition() repeatedly to grow overlap to the desired level.