mlange/plex-redistribute

View source
mlange/plex-redistribute
  • Contributors
    1. Loading...
Author Commit Message Date Builds
250+ commits behind master.
Michael Lange
Plex: Returning migration SF in DMPlexRedistribute
Michael Lange
Plex: Hack to correct the root space of halo-shrinking SF PetscSFConvertPartition builds the migration SF via inverting a send SF, which can result in the wrong root space when shrinking halos. This hack enforces the correct nroots on the migration SF to prevent memory corruption.
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.