[cig-commits] r19378 - seismo/2D/SPECFEM2D/trunk/src/specfem2D
cmorency at geodynamics.org
cmorency at geodynamics.org
Tue Jan 17 09:40:39 PST 2012
Author: cmorency
Date: 2012-01-17 09:40:39 -0800 (Tue, 17 Jan 2012)
New Revision: 19378
Modified:
seismo/2D/SPECFEM2D/trunk/src/specfem2D/compute_forces_poro_fluid.f90
seismo/2D/SPECFEM2D/trunk/src/specfem2D/compute_forces_poro_solid.f90
seismo/2D/SPECFEM2D/trunk/src/specfem2D/specfem2D.F90
Log:
Added reference to Carcione 2007 for viscous attenuation based on memory variables (poroelastic part)
Modified: seismo/2D/SPECFEM2D/trunk/src/specfem2D/compute_forces_poro_fluid.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/src/specfem2D/compute_forces_poro_fluid.f90 2012-01-17 04:58:34 UTC (rev 19377)
+++ seismo/2D/SPECFEM2D/trunk/src/specfem2D/compute_forces_poro_fluid.f90 2012-01-17 17:40:39 UTC (rev 19378)
@@ -490,6 +490,9 @@
bl_unrelaxed_elastic(3) = etal_f*invpermlzz
if(ATTENUATION_PORO_FLUID_PART) then
+! viscous attenuation is implemented following the memory variable formulation of
+! J. M. Carcione Wave fields in real media: wave propagation in anisotropic,
+! anelastic and porous media, Elsevier, p. 304-305, 2007
bl_relaxed_viscoelastic(1) = etal_f*invpermlxx*theta_e/theta_s
bl_relaxed_viscoelastic(2) = etal_f*invpermlxz*theta_e/theta_s
bl_relaxed_viscoelastic(3) = etal_f*invpermlzz*theta_e/theta_s
Modified: seismo/2D/SPECFEM2D/trunk/src/specfem2D/compute_forces_poro_solid.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/src/specfem2D/compute_forces_poro_solid.f90 2012-01-17 04:58:34 UTC (rev 19377)
+++ seismo/2D/SPECFEM2D/trunk/src/specfem2D/compute_forces_poro_solid.f90 2012-01-17 17:40:39 UTC (rev 19378)
@@ -509,6 +509,9 @@
bl_unrelaxed_elastic(3) = etal_f*invpermlzz
if(ATTENUATION_PORO_FLUID_PART) then
+! viscous attenuation is implemented following the memory variable formulation of
+! J. M. Carcione Wave fields in real media: wave propagation in anisotropic,
+! anelastic and porous media, Elsevier, p. 304-305, 2007
bl_relaxed_viscoelastic(1) = etal_f*invpermlxx*theta_e/theta_s
bl_relaxed_viscoelastic(2) = etal_f*invpermlxz*theta_e/theta_s
bl_relaxed_viscoelastic(3) = etal_f*invpermlzz*theta_e/theta_s
Modified: seismo/2D/SPECFEM2D/trunk/src/specfem2D/specfem2D.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/src/specfem2D/specfem2D.F90 2012-01-17 04:58:34 UTC (rev 19377)
+++ seismo/2D/SPECFEM2D/trunk/src/specfem2D/specfem2D.F90 2012-01-17 17:40:39 UTC (rev 19378)
@@ -3913,6 +3913,9 @@
! Precompute Runge Kutta coefficients if viscous attenuation
if(ATTENUATION_PORO_FLUID_PART) then
+! viscous attenuation is implemented following the memory variable formulation of
+! J. M. Carcione Wave fields in real media: wave propagation in anisotropic,
+! anelastic and porous media, Elsevier, p. 304-305, 2007
theta_e = (sqrt(Q0**2+1.d0) +1.d0)/(2.d0*pi*freq0*Q0)
theta_s = (sqrt(Q0**2+1.d0) -1.d0)/(2.d0*pi*freq0*Q0)
More information about the CIG-COMMITS
mailing list