[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