[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