[cig-commits] r20965 - seismo/3D/SPECFEM3D/trunk/src/decompose_mesh
dkomati1 at geodynamics.org
dkomati1 at geodynamics.org
Sat Oct 27 17:32:16 PDT 2012
Author: dkomati1
Date: 2012-10-27 17:32:16 -0700 (Sat, 27 Oct 2012)
New Revision: 20965
Modified:
seismo/3D/SPECFEM3D/trunk/src/decompose_mesh/decompose_mesh.F90
Log:
added logical flags to repartition interfaces only if needed, to avoid breaking load balancing if not strictly necessary
Modified: seismo/3D/SPECFEM3D/trunk/src/decompose_mesh/decompose_mesh.F90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/decompose_mesh/decompose_mesh.F90 2012-10-28 00:18:00 UTC (rev 20964)
+++ seismo/3D/SPECFEM3D/trunk/src/decompose_mesh/decompose_mesh.F90 2012-10-28 00:32:16 UTC (rev 20965)
@@ -43,6 +43,11 @@
include 'scotchf.h'
+!! DK DK added this because poroelastic repartitioning routine of Christina Morency is currently broken
+! implement mesh repartitioning of poroelastic-elastic interface
+! (the risk being to break the nice load balancing created by the domain decomposer for high-performance computing)
+ logical, parameter :: PORO_INTERFACE_REPARTITIONING = .false.
+
! number of partitions
integer :: nparts
@@ -849,17 +854,22 @@
! integer :: nfaces_coupled
! integer, dimension(:,:), pointer :: faces_coupled
! TODO: supposed to rebalance, but currently broken
- call poro_elastic_repartitioning (nspec, nnodes, elmnts, &
- count_def_mat, num_material , mat_prop, &
- sup_neighbour, nsize, &
- nparts, part, NGNOD)
+!! DK DK added this because poroelastic repartitioning routine of Christina Morency is currently broken
+! implement mesh repartitioning of poroelastic-elastic interface
+! (the risk being to break the nice load balancing created by the domain decomposer for high-performance computing)
+ if(PORO_INTERFACE_REPARTITIONING) &
+ call poro_elastic_repartitioning (nspec, nnodes, elmnts, &
+ count_def_mat, num_material , mat_prop, &
+ sup_neighbour, nsize, &
+ nparts, part, NGNOD)
deallocate(num_material)
! re-partitioning puts moho-surface coupled elements into same partition
- call moho_surface_repartitioning (nspec, nnodes, elmnts, &
- sup_neighbour, nsize, nparts, part, &
- nspec2D_moho,ibelm_moho,nodes_ibelm_moho, NGNOD, NGNOD2D)
+! (the risk being to break the nice load balancing created by the domain decomposer for high-performance computing)
+ if(SAVE_MOHO_MESH) call moho_surface_repartitioning (nspec, nnodes, elmnts, &
+ sup_neighbour, nsize, nparts, part, &
+ nspec2D_moho,ibelm_moho,nodes_ibelm_moho, NGNOD, NGNOD2D)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!! DK DK added this in Oct 2012 to see if we first do 4 and then 1
More information about the CIG-COMMITS
mailing list