[cig-commits] r21367 - in seismo/3D/SPECFEM3D/trunk: . src/specfem3D

ampuero at geodynamics.org ampuero at geodynamics.org
Thu Feb 14 14:57:33 PST 2013


Author: ampuero
Date: 2013-02-14 14:57:32 -0800 (Thu, 14 Feb 2013)
New Revision: 21367

Modified:
   seismo/3D/SPECFEM3D/trunk/src/specfem3D/fault_solver_dynamic.f90
   seismo/3D/SPECFEM3D/trunk/todo_list_please_dont_remove.txt
Log:
dynamic faults: added val argument to circle, circle-exp and ellipse distributions to set amplitude; added valh argument to circle-exp to set a background value

Modified: seismo/3D/SPECFEM3D/trunk/src/specfem3D/fault_solver_dynamic.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/specfem3D/fault_solver_dynamic.f90	2013-02-13 23:07:00 UTC (rev 21366)
+++ seismo/3D/SPECFEM3D/trunk/src/specfem3D/fault_solver_dynamic.f90	2013-02-14 22:57:32 UTC (rev 21367)
@@ -328,6 +328,8 @@
 
   do i=1,n
     shape = ''
+    val  = 0e0_CUSTOM_REAL
+    valh = 0e0_CUSTOM_REAL
     xc = 0e0_CUSTOM_REAL
     yc = 0e0_CUSTOM_REAL
     zc = 0e0_CUSTOM_REAL
@@ -336,21 +338,20 @@
     lx = 0e0_CUSTOM_REAL
     ly = 0e0_CUSTOM_REAL
     lz = 0e0_CUSTOM_REAL
-    valh  = 0e0_CUSTOM_REAL
 
     read(iin,DIST2D)
     select case(shape)
     case ('circle')
-      b = heaviside( r - sqrt((coord(1,:)-xc)**2 + (coord(2,:)-yc)**2 + (coord(3,:)-zc)**2 ) )
+      b = heaviside( r - sqrt((coord(1,:)-xc)**2 + (coord(2,:)-yc)**2 + (coord(3,:)-zc)**2 ) ) *val
     case ('circle-exp')
       r1 = sqrt((coord(1,:)-xc)**2 + (coord(2,:)-yc)**2 + (coord(3,:)-zc)**2 )
       where(r1<r)
-        b =exp(r1**2/(r1**2 - r**2) )
+        b =exp(r1**2/(r1**2 - r**2) ) *val + valh
       elsewhere
         b =0._CUSTOM_REAL
       endwhere
     case ('ellipse')
-      b = heaviside( 1e0_CUSTOM_REAL - sqrt( (coord(1,:)-xc)**2/lx**2 + (coord(2,:)-yc)**2/ly**2 + (coord(3,:)-zc)**2/lz**2 ) )
+      b = heaviside( 1e0_CUSTOM_REAL - sqrt( (coord(1,:)-xc)**2/lx**2 + (coord(2,:)-yc)**2/ly**2 + (coord(3,:)-zc)**2/lz**2 ) ) *val
     case ('square')
       b = heaviside((l/2._CUSTOM_REAL)-abs(coord(1,:)-xc)+SMALLVAL)  * & 
            heaviside((l/2._CUSTOM_REAL)-abs(coord(2,:)-yc)+SMALLVAL) * & 
@@ -369,7 +370,7 @@
       b = heaviside((lx/2._CUSTOM_REAL)-abs(coord(1,:)-xc)+SMALLVAL)  * &
            heaviside((ly/2._CUSTOM_REAL)-abs(coord(2,:)-yc)+SMALLVAL) * &
            heaviside((lz/2._CUSTOM_REAL)-abs(coord(3,:)-zc)+SMALLVAL) * &
-           (val + ( coord(3,:) - zc + lz/2._CUSTOM_REAL ) * ((valh-val)/lz))
+           (val + ( coord(3,:) - zc + lz/2._CUSTOM_REAL ) * (valh-val)/lz )
     case default
       stop 'bc_dynflt_3d::init_2d_distribution:: unknown shape'
     end select

Modified: seismo/3D/SPECFEM3D/trunk/todo_list_please_dont_remove.txt
===================================================================
--- seismo/3D/SPECFEM3D/trunk/todo_list_please_dont_remove.txt	2013-02-13 23:07:00 UTC (rev 21366)
+++ seismo/3D/SPECFEM3D/trunk/todo_list_please_dont_remove.txt	2013-02-14 22:57:32 UTC (rev 21367)
@@ -335,7 +335,9 @@
 
 + add snapshot outputs to kinematic solver (e.g. to export fault stresses for adjoint source inversion)
 
++ prepare automated tests
 
+
 Older to-do lists of SPECFEM2D, SPECFEM3D and SPECFEM3D_GLOBE (some items are probably still useful to implement):
 ------------------------------------------------------------------------------------------------------------------
 



More information about the CIG-COMMITS mailing list