[cig-commits] r20955 - in seismo/3D/FAULT_SOURCE: . branches/new_fault_db branches/new_fault_db/src

ampuero at geodynamics.org ampuero at geodynamics.org
Fri Oct 26 23:08:13 PDT 2012


Author: ampuero
Date: 2012-10-26 23:08:13 -0700 (Fri, 26 Oct 2012)
New Revision: 20955

Modified:
   seismo/3D/FAULT_SOURCE/TO_DO
   seismo/3D/FAULT_SOURCE/branches/new_fault_db/README_SPECFEM3D_FAULT
   seismo/3D/FAULT_SOURCE/branches/new_fault_db/src/prepare_timerun.f90
Log:
fixed readme

Modified: seismo/3D/FAULT_SOURCE/TO_DO
===================================================================
--- seismo/3D/FAULT_SOURCE/TO_DO	2012-10-27 03:47:14 UTC (rev 20954)
+++ seismo/3D/FAULT_SOURCE/TO_DO	2012-10-27 06:08:13 UTC (rev 20955)
@@ -6,8 +6,6 @@
 	- in fault_solver.f90: parallelize dataT outputs
 	- set parallel version as default
 
-+ improve documentation of mesh generation
-
 + fault_solver:
 	- many hard-coded ad hoc features need to be set instead as user options
 

Modified: seismo/3D/FAULT_SOURCE/branches/new_fault_db/README_SPECFEM3D_FAULT
===================================================================
--- seismo/3D/FAULT_SOURCE/branches/new_fault_db/README_SPECFEM3D_FAULT	2012-10-27 03:47:14 UTC (rev 20954)
+++ seismo/3D/FAULT_SOURCE/branches/new_fault_db/README_SPECFEM3D_FAULT	2012-10-27 06:08:13 UTC (rev 20955)
@@ -3,7 +3,7 @@
 modified by J.-P. Ampuero (Caltech Seismolab) and P. Galvez (ETH Zurich) 
 to model dynamic earthquake rupture on non-planar faults with slip-weakening friction. 
 The main modifications are encapsulated in the following new modules: 
-	decompose_mesh_SCOTCH/fault_scotch.f90. 
+	decompose_mesh_SCOTCH/fault_scotch.f90
 	src/fault_generate_databases.f90 
 	src/fault_solver_dynamic.f90 
 	src/fault_solver_kinematic.f90 
@@ -20,8 +20,10 @@
 Contents:
 	Download and updates
 	Installation
+	Mesh generation with split nodes
 	Running a simulation
 	Examples
+	Sign convention for fault quantities
 	Input files
 	Output files
 	Post-processing and visualization
@@ -29,8 +31,8 @@
 
 
 
-0. DOWNLOAD AND UPDATES
------------------------
+DOWNLOAD AND UPDATES
+---------------------
 
 To download the package for the first time run the following Subversion comand:
 
@@ -46,8 +48,8 @@
 files if needed. Files that you generated and were not originally in the package will not be touched.
 
 
-I. INSTALLATION
-----------------
+INSTALLATION
+-------------
 
 1. Copy the start-up and source files to the root directory:
 
@@ -107,10 +109,45 @@
 
 
 
+MESH GENERATION WITH SPLIT NODES
+---------------------------------
 
-II. RUNNING A SIMULATION
--------------------------
+Faults need to be handled in a special way during mesh generation.
+A fault surface must lie at the interface between elements (the mesh
+must honor the fault surfaces). Moreover, a fault is made of two surfaces 
+in contact. Each of these two surfaces needs a separate set of nodes. 
+This approach is known as "split nodes".
+To facilitate the mesh generation with split nodes in Cubit, we need to
+separate the two fault surfaces by a small distance, effectively 
+creating a tiny opening of the fault. Note that only the interior of
+the fault must be opened, its edges must remain closed (except the edge
+on the free surface). The fault is automatically closed later by SPECFEM3D.
 
+Here is an example Cubit script to generate a mesh with split nodes
+for a buried vertical strike-slip fault:
+
+reset
+brick x 10 y 10 z 10
+webcut volume all with plane xplane
+webcut volume all with plane yplane
+webcut volume all with plane xplane offset 3
+webcut volume all with plane zplane offset 3
+webcut volume all with plane zplane offset -3
+imprint all
+merge all
+unmerge surf 160
+mesh vol all
+set node constraint off
+node in surf 168 move X 0 Y 0.01 Z 0
+node in surf 160 move X 0 Y -0.01 Z 0
+
+For more complicated meshes, please refer to the Cubit scripts (*.jou and *.py) in EXAMPLES.
+
+
+
+RUNNING A SIMULATION
+---------------------
+
 1. Copy the input files to the work directory:
 
 	>> cd ~/SPECFEM3D
@@ -121,11 +158,12 @@
   (If you have not installed CUBIT yet skip this step and use the mesh files included 
   with the examples.)
 
-  	Move to the directory CUBIT, open the cubit GUI, run a CUBIT script: 
+  See the previous section "MESH GENERATION WITH SPLIT NODES" or
+  move to the directory CUBIT, open the cubit GUI, run a CUBIT script: 
     	>> cd ~/SPECFEM3D/CUBIT
     	>> cubit
-    	In CUBIT's menu "Tools", select "Play Journal File" and select a script file, 
-    	for instance:
+  In CUBIT's menu "Tools", select "Play Journal File" and select a script file, 
+  for instance:
 	EXAMPLES/splay_faults/splay_faults.py
 
   This creates several mesh files in directory CUBIT/MESH/:     
@@ -195,8 +233,8 @@
 
 
 
-III. EXAMPLES 
---------------
+EXAMPLES 
+---------
 
 The package includes examples, the SCEC benchmark problems: 
 	+ TPV5, a planar vertical strike-slip fault
@@ -220,9 +258,36 @@
 
 
 
-IV. INPUT FILES
-----------------
+SIGN CONVENTION FOR FAULT QUANTITIES
+-------------------------------------
 
+During mesh generation, the fault is defined by two surfaces in contact.
+Let's denote as "side 1" the first surface declared by the user in the call 
+to the python function "fault_input", and the second surface as "side 2".
+The local coordinate system on the fault is defined as the right-handed coordinate system
+defined by (strike, dip, normal), where "normal" is the normal vector outgoing
+from side 1, "dip" is parallel to the along-dip direction pointing downwards,
+and "strike" is the horizontal along-strike vector such that the system is right-handed.
+
+Slip is defined as displacement on side 2 minus displacement on side 1.
+In the local coordinate system on the fault, 
+positive along-strike slip is right-lateral
+and positive along-dip slip is thrust if side 1 is on the hanging wall
+(normal faulting if side 1 is on the foot wall).
+
+Traction is defined as the stress induced on side 1 by side 2,
+which is the stress tensor times the normal vector outgoing from side 1.
+In the local coordinate system on the fault, 
+the normal traction is negative in compression,
+positive along-strike traction generates right-lateral slip
+and positive along-dip traction generates thrust slip if side 1 is on the hanging wall
+(normal faulting if side 1 is on the foot wall).
+
+
+
+INPUT FILES
+------------
+
 DATA/Par_file	See SPECFEM3D manual page 17.
              	A first version of this file is generated by ./configure.
 
@@ -252,21 +317,6 @@
 	  &SWF mus, mud, dc [, nmus, nmud, ndc] /
           followed by (nmus+nmud+ndc) &DIST2D blocks
 
- 	We adopt the usual coordinate system in seismology: (strike,dip,normal) where
-	the dip direction points downwards. This implies that the normal direction points out of 
-	the footwall. See the figure below:
-
-	             ^(normal)
-	           . 
-		 .
-	       ___________ . . > (strike)
-	       |         |
-	       |  Fault  |
-	       |_________|
-	       . 
-	       . 
-	       v (dip)
-
         The &INIT_STRESS input block sets the initial fault stresses relative to the foot-wall side of 
 	the fault. Initial stresses are composed of a constant background value possibly overwritten 
 	in prescribed regions by heterogeneous distributions (see &DIST2D blocks below):
@@ -376,8 +426,8 @@
 
 
 
-IV. OUTPUT FILES
------------------
+OUTPUT FILES
+-------------
 
 Several output files are saved in ~/SPECFEM3D/OUTPUT_FILES:
 
@@ -414,8 +464,8 @@
    These can be read in Matlab with the function Post-processing/FSEM3D_snapshot.m
 
 
-V. POST-PROCESSING AND VISUALIZATION
--------------------------------------
+POST-PROCESSING AND VISUALIZATION
+----------------------------------
 
 Some Matlab functions for post-processing and visualization are included in directory
 Post-processing. The functions are internally documented (see their matlab help).
@@ -427,8 +477,8 @@
 
 
 
-VI. RUNNING ON FRAM (THE CALTECH GPS CLUSTER)
----------------------------------------------
+RUNNING ON FRAM (THE CALTECH GPS CLUSTER)
+------------------------------------------
 
 Getting started with Fram:
   http://hpc.caltech.edu/hel/citerrafram-new-user-guide/
@@ -455,47 +505,3 @@
 Other useful options to qsub are: 
         -N simulation_name 
         -m bae -M your at email.address 
-
-
-
-
-
-VII. MESH GENERATION WITH SPLIT NODES
----------------------------------------
-Vertical strike-slip embedded fault.  For more complicated meshes, please refer to EXAMPLES
-Note : There has to be at least one webcut honoring the fault plane
-
-reset
-brick x 10 y 10 z 10
-webcut volume all with plane xplane
-webcut volume all with plane yplane
-webcut volume all with plane xplane offset 3
-webcut volume all with plane zplane offset 3
-webcut volume all with plane zplane offset -3
-imprint all
-merge all
-unmerge surf 160
-mesh vol all
-
-set node constraint off
-node in surf 168 move X 0 Y 0.01 Z 0
-node in surf 160 move X 0 Y -0.01 Z 0
-
-
-
-
-VIII. SIGN CONVENTION FOR FAULT QUANTITIES
----------------------------------------
-Fault in X-Z plane
-Assuming side with y-coord +ve is given as first side during mesh generation with CUBIT,
-   strike : pointing to x<0
-   dip    : pointing z<0
-   normal : pointing y<0
-
-slip      = u(x,0-,z) - u(x,0+,z)
-slip-rate = v(x,0-,z) - v(x,0+,z)
-Traction  = sigma . n
-
-sigma (normal stress) is negative in compression
-
-

Modified: seismo/3D/FAULT_SOURCE/branches/new_fault_db/src/prepare_timerun.f90
===================================================================
--- seismo/3D/FAULT_SOURCE/branches/new_fault_db/src/prepare_timerun.f90	2012-10-27 03:47:14 UTC (rev 20954)
+++ seismo/3D/FAULT_SOURCE/branches/new_fault_db/src/prepare_timerun.f90	2012-10-27 06:08:13 UTC (rev 20955)
@@ -32,7 +32,7 @@
   use specfem_par_elastic
   use specfem_par_poroelastic
   use specfem_par_movie
-  use fault_solver, only : BC_DYNFLT_init, RATE_AND_STATE
+  use fault_solver_dynamic, only : BC_DYNFLT_init, RATE_AND_STATE
   use fault_solver_kinematic, only : BC_KINFLT_init  
 
   implicit none



More information about the CIG-COMMITS mailing list