[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