[cig-commits] r20779 - in seismo/3D/FAULT_SOURCE/branches/new_fault_db: decompose_mesh_SCOTCH src

ampuero at geodynamics.org ampuero at geodynamics.org
Wed Sep 26 11:50:11 PDT 2012


Author: ampuero
Date: 2012-09-26 11:50:11 -0700 (Wed, 26 Sep 2012)
New Revision: 20779

Modified:
   seismo/3D/FAULT_SOURCE/branches/new_fault_db/decompose_mesh_SCOTCH/fault_scotch.f90
   seismo/3D/FAULT_SOURCE/branches/new_fault_db/src/create_regions_mesh.f90
Log:
added test for fault matching nodes in scotch

Modified: seismo/3D/FAULT_SOURCE/branches/new_fault_db/decompose_mesh_SCOTCH/fault_scotch.f90
===================================================================
--- seismo/3D/FAULT_SOURCE/branches/new_fault_db/decompose_mesh_SCOTCH/fault_scotch.f90	2012-09-26 08:51:29 UTC (rev 20778)
+++ seismo/3D/FAULT_SOURCE/branches/new_fault_db/decompose_mesh_SCOTCH/fault_scotch.f90	2012-09-26 18:50:11 UTC (rev 20779)
@@ -16,7 +16,9 @@
  
   integer, parameter :: long = SELECTED_INT_KIND(18)
 
-  double precision, parameter :: FAULT_GAP_TOLERANCE = 1.0d0
+  double precision, parameter :: FAULT_GAP_TOLERANCE = 1.0d0 
+                              ! must be larger than the fault offset in the mesh, 
+                              ! but smaller than the smallest element size
 
   public :: read_fault_files, fault_repartition, fault_repartition_parallel, close_faults, write_fault_database, &
             save_nodes_coords, nodes_coords_open, faults, reorder_fault_elements
@@ -175,9 +177,9 @@
           dist = xyz(1)*xyz(1) + xyz(2)*xyz(2) + xyz(3)*xyz(3)
           dist = sqrt(dist)
   
-       !jpa: Closing nodes that are already closed is not a problem
-       !jpa: I process them again to leave the loop as early as possible
-       !jpa: and to test if a facing node was found (See below). 
+         !jpa: Closing nodes that are already closed is not a problem
+         !jpa: I process them again to leave the loop as early as possible
+         !jpa: and to test if a facing node was found (see below). 
    
           if (dist <= FAULT_GAP_TOLERANCE) then
             xyz =  (xyz_1 + xyz_2)*0.5d0
@@ -191,13 +193,10 @@
         if (found_it) exit 
       enddo
 
+      ! jpa: If the two fault sides have been meshed independently they might not match. Test it here: 
+      if (.not.found_it) stop 'Inconsistent fault mesh: corresponding node in the other fault face was not found'
+
     enddo
-       ! if (.not.found_it) then
-       ! If the fault is very complicated (non-planar) the meshes of the two fault sides 
-       ! can be very unstructured and might not match (unless you enforce it in CUBIT). 
-       ! That is unlikely because the fault gap is tiny, but we never know.
-       !   stop 'Inconsistent fault mesh: corresponding node in the other fault face was not found'
-       ! endif
   enddo
   
   end subroutine close_fault_single

Modified: seismo/3D/FAULT_SOURCE/branches/new_fault_db/src/create_regions_mesh.f90
===================================================================
--- seismo/3D/FAULT_SOURCE/branches/new_fault_db/src/create_regions_mesh.f90	2012-09-26 08:51:29 UTC (rev 20778)
+++ seismo/3D/FAULT_SOURCE/branches/new_fault_db/src/create_regions_mesh.f90	2012-09-26 18:50:11 UTC (rev 20779)
@@ -189,7 +189,7 @@
                         elmnts_ext_mesh,nelmnts_ext_mesh)
   endif
 
- ! create ibool with faults open
+ ! create ibool and *store_dummy with faults open
   call sync_all()
   if (myrank == 0) write(IMAIN,*) '  ...indexing global points'
   if (ANY_FAULT_IN_THIS_PROC) then



More information about the CIG-COMMITS mailing list