[cig-commits] r21061 - seismo/3D/FAULT_SOURCE/branches/new_fault_db/src

percygalvez at geodynamics.org percygalvez at geodynamics.org
Wed Nov 21 00:22:13 PST 2012


Author: percygalvez
Date: 2012-11-21 00:22:13 -0800 (Wed, 21 Nov 2012)
New Revision: 21061

Modified:
   seismo/3D/FAULT_SOURCE/branches/new_fault_db/src/fault_generate_databases.f90
Log:
Fixing bug for multiple faults in parallel version

Modified: seismo/3D/FAULT_SOURCE/branches/new_fault_db/src/fault_generate_databases.f90
===================================================================
--- seismo/3D/FAULT_SOURCE/branches/new_fault_db/src/fault_generate_databases.f90	2012-11-20 15:52:59 UTC (rev 21060)
+++ seismo/3D/FAULT_SOURCE/branches/new_fault_db/src/fault_generate_databases.f90	2012-11-21 08:22:13 UTC (rev 21061)
@@ -22,7 +22,6 @@
 ! 51 franklin street, fifth floor, boston, ma 02110-1301 usa.
 !
 !===============================================================================================================
-
 ! This module was written by:
 ! Percy Galvez, Jean-Paul Ampuero and Tarje Nissen-Meyer
 
@@ -31,7 +30,6 @@
 module fault_generate_databases
   
   use create_regions_mesh_ext_par, only: NGLLX,NGLLY,NGLLZ,NGLLSQUARE,NGNOD2D,NDIM,CUSTOM_REAL
-! these variables are defined in 'constants.h', which is included in create_regions_mesh_ext_par
 
   implicit none
   private 
@@ -55,7 +53,7 @@
   integer, save :: nnodes_coords_open
   logical, save :: ANY_FAULT_IN_THIS_PROC = .false.
   logical, save :: ANY_FAULT = .false.
-  logical, parameter :: PARALLEL_FAULT = .false.
+  logical, parameter :: PARALLEL_FAULT = .true.
   
   ! corners indices of reference cube faces
   integer,dimension(3,4),parameter :: iface1_corner_ijk = &
@@ -110,6 +108,8 @@
   close(IIN)
 
  ! read fault database file
+ ! Percy,prname : This is the name path of the processors that assign proc slide .
+ ! Percy, at this point this file each processor is assigned to its own file.
   open(unit=IIN,file=prname(1:len_trim(prname))//'Database_fault', &
        status='old',action='read',form='formatted',iostat=ier)
   if( ier /= 0 ) then
@@ -177,6 +177,8 @@
   if (.not. ANY_FAULT_IN_THIS_PROC ) return
 
   do iflt=1,size(fault_db)
+
+    if (fault_db(iflt)%nspec == 0) cycle
     !NOTE: the small fault opening in *_dummy does not affect this subroutine (see get_element_face_id)
     call setup_iface(fault_db(iflt),nnodes_ext_mesh,nodes_coords_ext_mesh,nspec,nglob,ibool)
 



More information about the CIG-COMMITS mailing list