[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