[cig-commits] r22919 - seismo/2D/SPECFEM2D/trunk/src/specfem2D
xie.zhinan at geodynamics.org
xie.zhinan at geodynamics.org
Thu Oct 3 02:53:40 PDT 2013
Author: xie.zhinan
Date: 2013-10-03 02:53:40 -0700 (Thu, 03 Oct 2013)
New Revision: 22919
Modified:
seismo/2D/SPECFEM2D/trunk/src/specfem2D/compute_forces_acoustic.f90
seismo/2D/SPECFEM2D/trunk/src/specfem2D/compute_forces_viscoelastic.F90
seismo/2D/SPECFEM2D/trunk/src/specfem2D/specfem2D.F90
Log:
fix the time_n computation needed in implementation of ADE PML formulation with LDDRK
Modified: seismo/2D/SPECFEM2D/trunk/src/specfem2D/compute_forces_acoustic.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/src/specfem2D/compute_forces_acoustic.f90 2013-10-03 09:25:55 UTC (rev 22918)
+++ seismo/2D/SPECFEM2D/trunk/src/specfem2D/compute_forces_acoustic.f90 2013-10-03 09:53:40 UTC (rev 22919)
@@ -59,7 +59,7 @@
K_x_store,K_z_store,d_x_store,d_z_store,alpha_x_store,alpha_z_store,&
rmemory_potential_acoustic,&
rmemory_acoustic_dux_dx,rmemory_acoustic_dux_dz,&
- rmemory_potential_acoust_LDDRK,alpha_LDDRK,beta_LDDRK, &
+ rmemory_potential_acoust_LDDRK,alpha_LDDRK,beta_LDDRK,c_LDDRK, &
rmemory_acoustic_dux_dx_LDDRK,rmemory_acoustic_dux_dz_LDDRK,&
deltat,PML_BOUNDARY_CONDITIONS,STACEY_BOUNDARY_CONDITIONS)
@@ -154,14 +154,18 @@
!coefficients and memory variables when using CPML with LDDRK
integer :: stage_time_scheme,i_stage
- real(kind=CUSTOM_REAL), dimension(Nstages) :: alpha_LDDRK,beta_LDDRK
+ real(kind=CUSTOM_REAL), dimension(Nstages) :: alpha_LDDRK,beta_LDDRK,c_LDDRK
real(kind=CUSTOM_REAL), dimension(2,NGLLX,NGLLZ,nspec_PML) :: rmemory_potential_acoust_LDDRK
real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLZ,nspec_PML,2) :: rmemory_acoustic_dux_dx_LDDRK,rmemory_acoustic_dux_dz_LDDRK
ifirstelem = 1
ilastelem = nspec
- time_n = (it-1) * deltat
- time_nsub1 = (it-2) * deltat
+ if(stage_time_scheme == 1) then
+ time_n = (it-1) * deltat
+ time_nsub1 = (it-2) * deltat
+ elseif(stage_time_scheme == 6) then
+ time_n = (it-1) * deltat + c_LDDRK(i_stage) * deltat
+ endif
if( PML_BOUNDARY_CONDITIONS ) then
potential_dot_dot_acoustic_PML = 0._CUSTOM_REAL
Modified: seismo/2D/SPECFEM2D/trunk/src/specfem2D/compute_forces_viscoelastic.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/src/specfem2D/compute_forces_viscoelastic.F90 2013-10-03 09:25:55 UTC (rev 22918)
+++ seismo/2D/SPECFEM2D/trunk/src/specfem2D/compute_forces_viscoelastic.F90 2013-10-03 09:53:40 UTC (rev 22919)
@@ -51,7 +51,7 @@
density,poroelastcoef,xix,xiz,gammax,gammaz, &
jacobian,vpext,vsext,rhoext,c11ext,c13ext,c15ext,c33ext,c35ext,c55ext,c12ext,c23ext,c25ext,anisotropic,anisotropy, &
source_time_function,sourcearray,adj_sourcearrays, &
- e1,e11,e13,e1_LDDRK,e11_LDDRK,e13_LDDRK,alpha_LDDRK,beta_LDDRK, &
+ e1,e11,e13,e1_LDDRK,e11_LDDRK,e13_LDDRK,alpha_LDDRK,beta_LDDRK,c_LDDRK, &
e1_initial_rk,e11_initial_rk,e13_initial_rk,e1_force_RK, e11_force_RK, e13_force_RK, &
hprime_xx,hprimewgll_xx,hprime_zz,hprimewgll_zz,wxgll,wzgll, &
inv_tau_sigma_nu1,phi_nu1,inv_tau_sigma_nu2,phi_nu2,Mu_nu1,Mu_nu2,N_SLS, &
@@ -146,7 +146,7 @@
real(kind=CUSTOM_REAL), dimension(NGLLZ) :: wzgll
! Parameter for LDDRK time scheme
- real(kind=CUSTOM_REAL), dimension(Nstages) :: alpha_LDDRK,beta_LDDRK
+ real(kind=CUSTOM_REAL), dimension(Nstages) :: alpha_LDDRK,beta_LDDRK,c_LDDRK
!temp variable
real(kind=CUSTOM_REAL) :: weight_rk
@@ -377,8 +377,12 @@
ifirstelem = 1
ilastelem = nspec
- time_n = (it-1) * deltat
- time_nsub1 = (it-2) * deltat
+ if(stage_time_scheme == 1) then
+ time_n = (it-1) * deltat
+ time_nsub1 = (it-2) * deltat
+ elseif(stage_time_scheme == 6) then
+ time_n = (it-1) * deltat + c_LDDRK(i_stage) * deltat
+ endif
! loop over spectral elements
do ispec = ifirstelem,ilastelem
Modified: seismo/2D/SPECFEM2D/trunk/src/specfem2D/specfem2D.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/src/specfem2D/specfem2D.F90 2013-10-03 09:25:55 UTC (rev 22918)
+++ seismo/2D/SPECFEM2D/trunk/src/specfem2D/specfem2D.F90 2013-10-03 09:53:40 UTC (rev 22919)
@@ -5189,7 +5189,7 @@
K_x_store,K_z_store,d_x_store,d_z_store,alpha_x_store,alpha_z_store,&
rmemory_potential_acoustic,&
rmemory_acoustic_dux_dx,rmemory_acoustic_dux_dz,&
- rmemory_potential_acoust_LDDRK,alpha_LDDRK,beta_LDDRK, &
+ rmemory_potential_acoust_LDDRK,alpha_LDDRK,beta_LDDRK,c_LDDRK, &
rmemory_acoustic_dux_dx_LDDRK,rmemory_acoustic_dux_dz_LDDRK,&
deltat,PML_BOUNDARY_CONDITIONS,STACEY_BOUNDARY_CONDITIONS)
@@ -5233,7 +5233,7 @@
K_x_store,K_z_store,d_x_store,d_z_store,alpha_x_store,alpha_z_store,&
rmemory_potential_acoustic,&
rmemory_acoustic_dux_dx,rmemory_acoustic_dux_dz,&
- rmemory_potential_acoust_LDDRK,alpha_LDDRK,beta_LDDRK, &
+ rmemory_potential_acoust_LDDRK,alpha_LDDRK,beta_LDDRK,c_LDDRK, &
rmemory_acoustic_dux_dx_LDDRK,rmemory_acoustic_dux_dz_LDDRK,&
! deltat,PML_BOUNDARY_CONDITIONS)
deltat,.false.,STACEY_BOUNDARY_CONDITIONS,b_potential_dot_acoustic)
@@ -5750,7 +5750,7 @@
density,poroelastcoef,xix,xiz,gammax,gammaz, &
jacobian,vpext,vsext,rhoext,c11ext,c13ext,c15ext,c33ext,c35ext,c55ext,c12ext,c23ext,c25ext,anisotropic,anisotropy, &
source_time_function,sourcearray,adj_sourcearrays, &
- e1,e11,e13,e1_LDDRK,e11_LDDRK,e13_LDDRK,alpha_LDDRK,beta_LDDRK, &
+ e1,e11,e13,e1_LDDRK,e11_LDDRK,e13_LDDRK,alpha_LDDRK,beta_LDDRK,c_LDDRK, &
e1_initial_rk,e11_initial_rk,e13_initial_rk,e1_force_rk, e11_force_rk, e13_force_rk, &
hprime_xx,hprimewgll_xx,hprime_zz,hprimewgll_zz,wxgll,wzgll,&
inv_tau_sigma_nu1,phi_nu1,inv_tau_sigma_nu2,phi_nu2,Mu_nu1,Mu_nu2,N_SLS, &
@@ -5806,7 +5806,7 @@
density,poroelastcoef,xix,xiz,gammax,gammaz, &
jacobian,vpext,vsext,rhoext,c11ext,c13ext,c15ext,c33ext,c35ext,c55ext,c12ext,c23ext,c25ext,anisotropic,anisotropy, &
source_time_function,sourcearray,adj_sourcearrays, &
- e1,e11,e13,e1_LDDRK,e11_LDDRK,e13_LDDRK,alpha_LDDRK,beta_LDDRK, &
+ e1,e11,e13,e1_LDDRK,e11_LDDRK,e13_LDDRK,alpha_LDDRK,beta_LDDRK,c_LDDRK, &
e1_initial_rk,e11_initial_rk,e13_initial_rk,e1_force_rk, e11_force_rk, e13_force_rk, &
hprime_xx,hprimewgll_xx,hprime_zz,hprimewgll_zz,wxgll,wzgll, &
inv_tau_sigma_nu1,phi_nu1,inv_tau_sigma_nu2,phi_nu2,Mu_nu1,Mu_nu2,N_SLS, &
More information about the CIG-COMMITS
mailing list