[cig-commits] r21376 - seismo/2D/SPECFEM2D/trunk/src/specfem2D

dkomati1 at geodynamics.org dkomati1 at geodynamics.org
Tue Feb 19 02:04:33 PST 2013


Author: dkomati1
Date: 2013-02-19 02:04:33 -0800 (Tue, 19 Feb 2013)
New Revision: 21376

Modified:
   seismo/2D/SPECFEM2D/trunk/src/specfem2D/attenuation_model.f90
   seismo/2D/SPECFEM2D/trunk/src/specfem2D/compute_forces_viscoelastic.F90
Log:
added comments about how we fixed the attenuation equations that are non causal in Carcione's 1993 article.


Modified: seismo/2D/SPECFEM2D/trunk/src/specfem2D/attenuation_model.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/src/specfem2D/attenuation_model.f90	2013-02-18 11:46:23 UTC (rev 21375)
+++ seismo/2D/SPECFEM2D/trunk/src/specfem2D/attenuation_model.f90	2013-02-19 10:04:33 UTC (rev 21376)
@@ -81,6 +81,10 @@
 
 ! array index (1) is the first standard linear solid, (2) is the second etc.
 
+! When implementing viscoelasticity according to the Carcione 1993 paper, attenuation is
+! non-causal rather than causal. We fixed the problem by using equations in Carcione's
+! 2004 paper and his 2007 book. See also file doc/problem_attenuation_reference_Specfem2D_fixed_by_Xie_Zhinan.pdf
+
 ! from J. M. Carcione, Seismic modeling in viscoelastic media, Geophysics,
 ! vol. 58(1), p. 110-120 (1993) for two memory-variable mechanisms (page 112).
 ! Beware: these values implement specific values of the quality factors:

Modified: seismo/2D/SPECFEM2D/trunk/src/specfem2D/compute_forces_viscoelastic.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/src/specfem2D/compute_forces_viscoelastic.F90	2013-02-18 11:46:23 UTC (rev 21375)
+++ seismo/2D/SPECFEM2D/trunk/src/specfem2D/compute_forces_viscoelastic.F90	2013-02-19 10:04:33 UTC (rev 21376)
@@ -950,16 +950,19 @@
                  ! J. M. Carcione, D. Kosloff and R. Kosloff, Wave propagation simulation in a linear
                  ! viscoelastic medium, Geophysical Journal International, vol. 95, p. 597-611 (1988).
 
-                 ! When implementing viscoelasticity according to Carcione 1993 paper, the attenuation is
+                 ! When implementing viscoelasticity according to the Carcione 1993 paper, attenuation is
                  ! non-causal rather than causal. We fixed the problem by using equations in Carcione's
-                 ! 2004 paper and his 2007 book.
+                 ! 2004 paper and his 2007 book. See also file doc/problem_attenuation_reference_Specfem2D_fixed_by_Xie_Zhinan.pdf
 
-                 !J. M. Carcione, H B. Helle, The physics and simulation of wave propagation at the ocean
+                 ! J. M. Carcione, H B. Helle, The physics and simulation of wave propagation at the ocean
                  ! bottom, Geophysics, vol. 69(3), p. 825-839, 2004
-                 !J. M. Carcione, Wave fields in real media: wave propagation in anisotropic, anelastic
+                 ! J. M. Carcione, Wave fields in real media: wave propagation in anisotropic, anelastic
                  ! and porous media, Elsevier, p. 124-125, 2007
 
-                 ! compute unrelaxed elastic coefficients from formulas in Carcione 2007 page 125
+                 ! compute unrelaxed elastic coefficients from formulas in Carcione 2007 page 125.
+                 ! When implementing viscoelasticity according to the Carcione 1993 paper, attenuation is
+                 ! non-causal rather than causal. We fixed the problem by using equations in Carcione's
+                 ! 2004 paper and his 2007 book. See also file doc/problem_attenuation_reference_Specfem2D_fixed_by_Xie_Zhinan.pdf
                  lambdal_relaxed_viscoelastic = (lambdal_unrelaxed_elastic + 2._CUSTOM_REAL*mul_unrelaxed_elastic/3._CUSTOM_REAL)&
                                                 / Mu_nu1(i,j,ispec) &
                                                 - (2._CUSTOM_REAL*mul_unrelaxed_elastic/3._CUSTOM_REAL) / Mu_nu2(i,j,ispec)
@@ -967,12 +970,18 @@
                  lambdalplusmul_relaxed_viscoel = lambdal_relaxed_viscoelastic + mul_relaxed_viscoelastic
 
                  ! compute the stress using the unrelaxed Lame parameters (Carcione 2007 page 125)
+                 ! When implementing viscoelasticity according to the Carcione 1993 paper, attenuation is
+                 ! non-causal rather than causal. We fixed the problem by using equations in Carcione's
+                 ! 2004 paper and his 2007 book. See also file doc/problem_attenuation_reference_Specfem2D_fixed_by_Xie_Zhinan.pdf
                  sigma_xx = lambdaplus2mu_unrelaxed_elastic*dux_dxl + lambdal_unrelaxed_elastic*duz_dzl
                  sigma_xz = mul_unrelaxed_elastic*(duz_dxl + dux_dzl)
                  sigma_zz = lambdaplus2mu_unrelaxed_elastic*duz_dzl + lambdal_unrelaxed_elastic*dux_dxl
 
                  ! add the memory variables using the relaxed parameters (Carcione 2007 page 125)
-                 ! beware: there is a bug in Carcione's equation (2c) of his 1993 paper for sigma_zz, we fixed it in the code below
+                 ! beware: there is a bug in Carcione's equation (2c) of his 1993 paper for sigma_zz, we fixed it in the code below.
+                 ! When implementing viscoelasticity according to the Carcione 1993 paper, attenuation is
+                 ! non-causal rather than causal. We fixed the problem by using equations in Carcione's
+                 ! 2004 paper and his 2007 book. See also file doc/problem_attenuation_reference_Specfem2D_fixed_by_Xie_Zhinan.pdf
                  e1_sum = 0._CUSTOM_REAL
                  e11_sum = 0._CUSTOM_REAL
                  e13_sum = 0._CUSTOM_REAL



More information about the CIG-COMMITS mailing list