[cig-commits] r22161 - seismo/3D/SPECFEM3D/trunk/src/specfem3D

xie.zhinan at geodynamics.org xie.zhinan at geodynamics.org
Wed May 29 04:45:06 PDT 2013


Author: xie.zhinan
Date: 2013-05-29 04:45:05 -0700 (Wed, 29 May 2013)
New Revision: 22161

Modified:
   seismo/3D/SPECFEM3D/trunk/src/specfem3D/pml_allocate_arrays.f90
   seismo/3D/SPECFEM3D/trunk/src/specfem3D/pml_compute_memory_variables.f90
   seismo/3D/SPECFEM3D/trunk/src/specfem3D/pml_par.f90
Log:
remove some useless arrays when using PML


Modified: seismo/3D/SPECFEM3D/trunk/src/specfem3D/pml_allocate_arrays.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/specfem3D/pml_allocate_arrays.f90	2013-05-29 03:58:35 UTC (rev 22160)
+++ seismo/3D/SPECFEM3D/trunk/src/specfem3D/pml_allocate_arrays.f90	2013-05-29 11:45:05 UTC (rev 22161)
@@ -95,18 +95,18 @@
      if(ier /= 0) stop 'error allocating rmemory_dux_dyl_x array'
      allocate(rmemory_dux_dzl_x(NGLLX,NGLLY,NGLLZ,NSPEC_CPML,2),stat=ier)
      if(ier /= 0) stop 'error allocating rmemory_dux_dzl_x array'
-     allocate(rmemory_duy_dxl_x(NGLLX,NGLLY,NGLLZ,NSPEC_CPML,2),stat=ier)
+     allocate(rmemory_duy_dxl_x(NGLLX,NGLLY,NGLLZ,NSPEC_CPML),stat=ier)
      if(ier /= 0) stop 'error allocating rmemory_duy_dxl_x array'
-     allocate(rmemory_duy_dyl_x(NGLLX,NGLLY,NGLLZ,NSPEC_CPML,2),stat=ier)
+     allocate(rmemory_duy_dyl_x(NGLLX,NGLLY,NGLLZ,NSPEC_CPML),stat=ier)
      if(ier /= 0) stop 'error allocating rmemory_duy_dyl_x array'
-     allocate(rmemory_duz_dxl_x(NGLLX,NGLLY,NGLLZ,NSPEC_CPML,2),stat=ier)
+     allocate(rmemory_duz_dxl_x(NGLLX,NGLLY,NGLLZ,NSPEC_CPML),stat=ier)
      if(ier /= 0) stop 'error allocating rmemory_duz_dxl_x array'
-     allocate(rmemory_duz_dzl_x(NGLLX,NGLLY,NGLLZ,NSPEC_CPML,2),stat=ier)
+     allocate(rmemory_duz_dzl_x(NGLLX,NGLLY,NGLLZ,NSPEC_CPML),stat=ier)
      if(ier /= 0) stop 'error allocating rmemory_duz_dzl_x array'
 
-     allocate(rmemory_dux_dxl_y(NGLLX,NGLLY,NGLLZ,NSPEC_CPML,2),stat=ier)
+     allocate(rmemory_dux_dxl_y(NGLLX,NGLLY,NGLLZ,NSPEC_CPML),stat=ier)
      if(ier /= 0) stop 'error allocating rmemory_dux_dxl_y array'
-     allocate(rmemory_dux_dyl_y(NGLLX,NGLLY,NGLLZ,NSPEC_CPML,2),stat=ier)
+     allocate(rmemory_dux_dyl_y(NGLLX,NGLLY,NGLLZ,NSPEC_CPML),stat=ier)
      if(ier /= 0) stop 'error allocating rmemory_dux_dyl_y array'
      allocate(rmemory_duy_dxl_y(NGLLX,NGLLY,NGLLZ,NSPEC_CPML,2),stat=ier)
      if(ier /= 0) stop 'error allocating rmemory_duy_dxl_y array'
@@ -114,18 +114,18 @@
      if(ier /= 0) stop 'error allocating rmemory_duy_dyl_y array'
      allocate(rmemory_duy_dzl_y(NGLLX,NGLLY,NGLLZ,NSPEC_CPML,2),stat=ier)
      if(ier /= 0) stop 'error allocating rmemory_duy_dzl_y array'
-     allocate(rmemory_duz_dyl_y(NGLLX,NGLLY,NGLLZ,NSPEC_CPML,2),stat=ier)
+     allocate(rmemory_duz_dyl_y(NGLLX,NGLLY,NGLLZ,NSPEC_CPML),stat=ier)
      if(ier /= 0) stop 'error allocating rmemory_duz_dyl_y array'
-     allocate(rmemory_duz_dzl_y(NGLLX,NGLLY,NGLLZ,NSPEC_CPML,2),stat=ier)
+     allocate(rmemory_duz_dzl_y(NGLLX,NGLLY,NGLLZ,NSPEC_CPML),stat=ier)
      if(ier /= 0) stop 'error allocating rmemory_duz_dzl_y array'
 
-     allocate(rmemory_dux_dxl_z(NGLLX,NGLLY,NGLLZ,NSPEC_CPML,2),stat=ier)
+     allocate(rmemory_dux_dxl_z(NGLLX,NGLLY,NGLLZ,NSPEC_CPML),stat=ier)
      if(ier /= 0) stop 'error allocating rmemory_dux_dxl_z array'
-     allocate(rmemory_dux_dzl_z(NGLLX,NGLLY,NGLLZ,NSPEC_CPML,2),stat=ier)
+     allocate(rmemory_dux_dzl_z(NGLLX,NGLLY,NGLLZ,NSPEC_CPML),stat=ier)
      if(ier /= 0) stop 'error allocating rmemory_dux_dzl_z array'
-     allocate(rmemory_duy_dyl_z(NGLLX,NGLLY,NGLLZ,NSPEC_CPML,2),stat=ier)
+     allocate(rmemory_duy_dyl_z(NGLLX,NGLLY,NGLLZ,NSPEC_CPML),stat=ier)
      if(ier /= 0) stop 'error allocating rmemory_duy_dyl_z array'
-     allocate(rmemory_duy_dzl_z(NGLLX,NGLLY,NGLLZ,NSPEC_CPML,2),stat=ier)
+     allocate(rmemory_duy_dzl_z(NGLLX,NGLLY,NGLLZ,NSPEC_CPML),stat=ier)
      if(ier /= 0) stop 'error allocating rmemory_duy_dzl_z array'
      allocate(rmemory_duz_dxl_z(NGLLX,NGLLY,NGLLZ,NSPEC_CPML,2),stat=ier)
      if(ier /= 0) stop 'error allocating rmemory_duz_dxl_z array'
@@ -210,23 +210,23 @@
      rmemory_dux_dxl_x(:,:,:,:,:) = 0._CUSTOM_REAL
      rmemory_dux_dyl_x(:,:,:,:,:) = 0._CUSTOM_REAL
      rmemory_dux_dzl_x(:,:,:,:,:) = 0._CUSTOM_REAL
-     rmemory_duy_dxl_x(:,:,:,:,:) = 0._CUSTOM_REAL
-     rmemory_duy_dyl_x(:,:,:,:,:) = 0._CUSTOM_REAL
-     rmemory_duz_dxl_x(:,:,:,:,:) = 0._CUSTOM_REAL
-     rmemory_duz_dzl_x(:,:,:,:,:) = 0._CUSTOM_REAL
+     rmemory_duy_dxl_x(:,:,:,:) = 0._CUSTOM_REAL
+     rmemory_duy_dyl_x(:,:,:,:) = 0._CUSTOM_REAL
+     rmemory_duz_dxl_x(:,:,:,:) = 0._CUSTOM_REAL
+     rmemory_duz_dzl_x(:,:,:,:) = 0._CUSTOM_REAL
 
-     rmemory_dux_dxl_y(:,:,:,:,:) = 0._CUSTOM_REAL
-     rmemory_dux_dyl_y(:,:,:,:,:) = 0._CUSTOM_REAL
+     rmemory_dux_dxl_y(:,:,:,:) = 0._CUSTOM_REAL
+     rmemory_dux_dyl_y(:,:,:,:) = 0._CUSTOM_REAL
      rmemory_duy_dxl_y(:,:,:,:,:) = 0._CUSTOM_REAL
      rmemory_duy_dyl_y(:,:,:,:,:) = 0._CUSTOM_REAL
      rmemory_duy_dzl_y(:,:,:,:,:) = 0._CUSTOM_REAL
-     rmemory_duz_dyl_y(:,:,:,:,:) = 0._CUSTOM_REAL
-     rmemory_duz_dzl_y(:,:,:,:,:) = 0._CUSTOM_REAL
+     rmemory_duz_dyl_y(:,:,:,:) = 0._CUSTOM_REAL
+     rmemory_duz_dzl_y(:,:,:,:) = 0._CUSTOM_REAL
 
-     rmemory_dux_dxl_z(:,:,:,:,:) = 0._CUSTOM_REAL
-     rmemory_dux_dzl_z(:,:,:,:,:) = 0._CUSTOM_REAL
-     rmemory_duy_dyl_z(:,:,:,:,:) = 0._CUSTOM_REAL
-     rmemory_duy_dzl_z(:,:,:,:,:) = 0._CUSTOM_REAL
+     rmemory_dux_dxl_z(:,:,:,:) = 0._CUSTOM_REAL
+     rmemory_dux_dzl_z(:,:,:,:) = 0._CUSTOM_REAL
+     rmemory_duy_dyl_z(:,:,:,:) = 0._CUSTOM_REAL
+     rmemory_duy_dzl_z(:,:,:,:) = 0._CUSTOM_REAL
      rmemory_duz_dxl_z(:,:,:,:,:) = 0._CUSTOM_REAL
      rmemory_duz_dyl_z(:,:,:,:,:) = 0._CUSTOM_REAL
      rmemory_duz_dzl_z(:,:,:,:,:) = 0._CUSTOM_REAL

Modified: seismo/3D/SPECFEM3D/trunk/src/specfem3D/pml_compute_memory_variables.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/specfem3D/pml_compute_memory_variables.f90	2013-05-29 03:58:35 UTC (rev 22160)
+++ seismo/3D/SPECFEM3D/trunk/src/specfem3D/pml_compute_memory_variables.f90	2013-05-29 11:45:05 UTC (rev 22161)
@@ -61,13 +61,14 @@
   real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ), intent(out) :: tempy1,tempy2,tempy3
   real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ), intent(out) :: tempz1,tempz2,tempz3
   real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CPML,2) ::  &
-                          rmemory_dux_dxl_x, rmemory_duy_dyl_x, rmemory_duz_dzl_x, &
-                          rmemory_dux_dyl_x, rmemory_dux_dzl_x, rmemory_duz_dxl_x, rmemory_duy_dxl_x, &
-                          rmemory_dux_dxl_y, rmemory_duz_dzl_y, rmemory_duy_dyl_y, &
-                          rmemory_duy_dxl_y, rmemory_duy_dzl_y, rmemory_duz_dyl_y, rmemory_dux_dyl_y, &
-                          rmemory_dux_dxl_z, rmemory_duy_dyl_z, rmemory_duz_dzl_z, &
-                          rmemory_duz_dxl_z, rmemory_duz_dyl_z, rmemory_duy_dzl_z, rmemory_dux_dzl_z
+                          rmemory_dux_dxl_x, rmemory_dux_dyl_x, rmemory_dux_dzl_x, &
+                          rmemory_duy_dxl_y, rmemory_duy_dyl_y, rmemory_duy_dzl_y, &
+                          rmemory_duz_dxl_z, rmemory_duz_dyl_z, rmemory_duz_dzl_z  
 
+  real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CPML) ::  &
+                          rmemory_duy_dyl_x, rmemory_duz_dzl_x, rmemory_duz_dxl_x, rmemory_duy_dxl_x, &
+                          rmemory_dux_dxl_y, rmemory_duz_dzl_y, rmemory_duz_dyl_y, rmemory_dux_dyl_y, &
+                          rmemory_dux_dxl_z, rmemory_duy_dyl_z, rmemory_duy_dzl_z, rmemory_dux_dzl_z
   ! local parameters
   integer :: i,j,k
   real(kind=CUSTOM_REAL) :: xixl,xiyl,xizl,etaxl,etayl,etazl,gammaxl,gammayl,gammazl,jacobianl
@@ -203,54 +204,36 @@
                  coef2_1 = deltat/2.0d0
               endif
 
-              rmemory_duz_dzl_y(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duz_dzl_y(i,j,k,ispec_CPML,1) &
+              rmemory_duz_dzl_y(i,j,k,ispec_CPML) = coef0_1 * rmemory_duz_dzl_y(i,j,k,ispec_CPML) &
                    + PML_duz_dzl_new(i,j,k) * coef1_1 + PML_duz_dzl(i,j,k) * coef2_1
-              rmemory_duz_dzl_y(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_duz_dyl_y(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duz_dyl_y(i,j,k,ispec_CPML,1) &
+              rmemory_duz_dyl_y(i,j,k,ispec_CPML) = coef0_1 * rmemory_duz_dyl_y(i,j,k,ispec_CPML) &
                    + PML_duz_dyl_new(i,j,k) * coef1_1 + PML_duz_dyl(i,j,k) * coef2_1
-              rmemory_duz_dyl_y(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_duy_dzl_z(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duy_dzl_z(i,j,k,ispec_CPML,1) &
+              rmemory_duy_dzl_z(i,j,k,ispec_CPML) = coef0_1 * rmemory_duy_dzl_z(i,j,k,ispec_CPML) &
                    + PML_duy_dzl_new(i,j,k) * coef1_1 + PML_duy_dzl(i,j,k) * coef2_1
-              rmemory_duy_dzl_z(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_duy_dyl_z(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duy_dyl_z(i,j,k,ispec_CPML,1) &
+              rmemory_duy_dyl_z(i,j,k,ispec_CPML) = coef0_1 * rmemory_duy_dyl_z(i,j,k,ispec_CPML) &
                    + PML_duy_dyl_new(i,j,k) * coef1_1 + PML_duy_dyl(i,j,k) * coef2_1
-              rmemory_duy_dyl_z(i,j,k,ispec_CPML,2) = 0.d0
 
               !---------------------- A17 and A18 --------------------------
               A17 = 1.d0
               A18 = 0.0
 
-              rmemory_duz_dzl_x(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_duz_dzl_x(i,j,k,ispec_CPML,2) = 0.d0
+              rmemory_duz_dzl_x(i,j,k,ispec_CPML) = 0.d0
+              rmemory_duz_dxl_x(i,j,k,ispec_CPML) = 0.d0
+              rmemory_dux_dzl_z(i,j,k,ispec_CPML) = 0.d0
+              rmemory_dux_dxl_z(i,j,k,ispec_CPML) = 0.d0
 
-              rmemory_duz_dxl_x(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_duz_dxl_x(i,j,k,ispec_CPML,2) = 0.d0
-
-              rmemory_dux_dzl_z(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_dux_dzl_z(i,j,k,ispec_CPML,2) = 0.d0
-
-              rmemory_dux_dxl_z(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_dux_dxl_z(i,j,k,ispec_CPML,2) = 0.d0
-
               !---------------------- A19 and A20 --------------------------
               A19 = 1.d0
               A20 = 0.0
 
-              rmemory_duy_dyl_x(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_duy_dyl_x(i,j,k,ispec_CPML,2) = 0.d0
+              rmemory_duy_dyl_x(i,j,k,ispec_CPML) = 0.d0
+              rmemory_duy_dxl_x(i,j,k,ispec_CPML) = 0.d0
+              rmemory_dux_dyl_y(i,j,k,ispec_CPML) = 0.d0
+              rmemory_dux_dxl_y(i,j,k,ispec_CPML) = 0.d0
 
-              rmemory_duy_dxl_x(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_duy_dxl_x(i,j,k,ispec_CPML,2) = 0.d0
-
-              rmemory_dux_dyl_y(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_dux_dyl_y(i,j,k,ispec_CPML,2) = 0.d0
-
-              rmemory_dux_dxl_y(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_dux_dxl_y(i,j,k,ispec_CPML,2) = 0.d0
-
             else if( CPML_regions(ispec_CPML) == CPML_Y_ONLY ) then
               !------------------------------------------------------------------------------
               !---------------------------- Y-surface C-PML ---------------------------------
@@ -344,18 +327,11 @@
               A15 = 1.d0
               A16 = 0.d0
 
-              rmemory_duz_dzl_y(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_duz_dzl_y(i,j,k,ispec_CPML,2) = 0.d0
+              rmemory_duz_dzl_y(i,j,k,ispec_CPML) = 0.d0
+              rmemory_duz_dyl_y(i,j,k,ispec_CPML) = 0.d0
+              rmemory_duy_dzl_z(i,j,k,ispec_CPML) = 0.d0
+              rmemory_duy_dyl_z(i,j,k,ispec_CPML) = 0.d0
 
-              rmemory_duz_dyl_y(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_duz_dyl_y(i,j,k,ispec_CPML,2) = 0.d0
-
-              rmemory_duy_dzl_z(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_duy_dzl_z(i,j,k,ispec_CPML,2) = 0.d0
-
-              rmemory_duy_dyl_z(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_duy_dyl_z(i,j,k,ispec_CPML,2) = 0.d0
-
               !---------------------- A17 and A18 --------------------------
               A17 = k_store_y(i,j,k,ispec_CPML)
               A18 = d_store_y(i,j,k,ispec_CPML)
@@ -371,38 +347,27 @@
                  coef2_1 = deltat/2.0d0
               endif
 
-              rmemory_duz_dzl_x(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duz_dzl_x(i,j,k,ispec_CPML,1) &
+              rmemory_duz_dzl_x(i,j,k,ispec_CPML) = coef0_1 * rmemory_duz_dzl_x(i,j,k,ispec_CPML) &
                    + PML_duz_dzl_new(i,j,k) * coef1_1 + PML_duz_dzl(i,j,k) * coef2_1
-              rmemory_duz_dzl_x(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_duz_dxl_x(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duz_dxl_x(i,j,k,ispec_CPML,1) &
+              rmemory_duz_dxl_x(i,j,k,ispec_CPML) = coef0_1 * rmemory_duz_dxl_x(i,j,k,ispec_CPML) &
                    + PML_duz_dxl_new(i,j,k) * coef1_1 + PML_duz_dxl(i,j,k) * coef2_1
-              rmemory_duz_dxl_x(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_dux_dzl_z(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_dux_dzl_z(i,j,k,ispec_CPML,1) &
+              rmemory_dux_dzl_z(i,j,k,ispec_CPML) = coef0_1 * rmemory_dux_dzl_z(i,j,k,ispec_CPML) &
                    + PML_dux_dzl_new(i,j,k) * coef1_1 + PML_dux_dzl(i,j,k) * coef2_1
-              rmemory_dux_dzl_z(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_dux_dxl_z(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_dux_dxl_z(i,j,k,ispec_CPML,1) &
+              rmemory_dux_dxl_z(i,j,k,ispec_CPML) = coef0_1 * rmemory_dux_dxl_z(i,j,k,ispec_CPML) &
                    + PML_dux_dxl_new(i,j,k) * coef1_1 + PML_dux_dxl(i,j,k) * coef2_1
-              rmemory_dux_dxl_z(i,j,k,ispec_CPML,2) = 0.d0
 
               !---------------------- A19 and A20--------------------------
               A19 = 1.d0
               A20 = 0.0
 
-              rmemory_duy_dyl_x(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_duy_dyl_x(i,j,k,ispec_CPML,2) = 0.d0
+              rmemory_duy_dyl_x(i,j,k,ispec_CPML) = 0.d0
+              rmemory_duy_dxl_x(i,j,k,ispec_CPML) = 0.d0
+              rmemory_dux_dyl_y(i,j,k,ispec_CPML) = 0.d0
+              rmemory_dux_dxl_y(i,j,k,ispec_CPML) = 0.d0
 
-              rmemory_duy_dxl_x(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_duy_dxl_x(i,j,k,ispec_CPML,2) = 0.d0
-
-              rmemory_dux_dyl_y(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_dux_dyl_y(i,j,k,ispec_CPML,2) = 0.d0
-
-              rmemory_dux_dxl_y(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_dux_dxl_y(i,j,k,ispec_CPML,2) = 0.d0
-
             else if( CPML_regions(ispec_CPML) == CPML_Z_ONLY ) then
 
               !------------------------------------------------------------------------------
@@ -497,34 +462,20 @@
               A15 = 1.d0
               A16 = 0.d0
 
-              rmemory_duz_dzl_y(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_duz_dzl_y(i,j,k,ispec_CPML,2) = 0.d0
+              rmemory_duz_dzl_y(i,j,k,ispec_CPML) = 0.d0
+              rmemory_duz_dyl_y(i,j,k,ispec_CPML) = 0.d0
+              rmemory_duy_dzl_z(i,j,k,ispec_CPML) = 0.d0
+              rmemory_duy_dyl_z(i,j,k,ispec_CPML) = 0.d0
 
-              rmemory_duz_dyl_y(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_duz_dyl_y(i,j,k,ispec_CPML,2) = 0.d0
-
-              rmemory_duy_dzl_z(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_duy_dzl_z(i,j,k,ispec_CPML,2) = 0.d0
-
-              rmemory_duy_dyl_z(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_duy_dyl_z(i,j,k,ispec_CPML,2) = 0.d0
-
               !---------------------- A17 and A18 --------------------------
               A17 = 1.d0
               A18 = 0.d0
 
-              rmemory_duz_dzl_x(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_duz_dzl_x(i,j,k,ispec_CPML,2) = 0.d0
+              rmemory_duz_dzl_x(i,j,k,ispec_CPML) = 0.d0
+              rmemory_duz_dxl_x(i,j,k,ispec_CPML) = 0.d0
+              rmemory_dux_dzl_z(i,j,k,ispec_CPML) = 0.d0
+              rmemory_dux_dxl_z(i,j,k,ispec_CPML) = 0.d0
 
-              rmemory_duz_dxl_x(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_duz_dxl_x(i,j,k,ispec_CPML,2) = 0.d0
-
-              rmemory_dux_dzl_z(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_dux_dzl_z(i,j,k,ispec_CPML,2) = 0.d0
-
-              rmemory_dux_dxl_z(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_dux_dxl_z(i,j,k,ispec_CPML,2) = 0.d0
-
               !---------------------- A19 and A20 --------------------------
               A19 = k_store_z(i,j,k,ispec_CPML)
               A20 = d_store_z(i,j,k,ispec_CPML)
@@ -540,21 +491,17 @@
                  coef2_1 = deltat/2.0d0
               endif
 
-              rmemory_duy_dyl_x(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duy_dyl_x(i,j,k,ispec_CPML,1) &
+              rmemory_duy_dyl_x(i,j,k,ispec_CPML) = coef0_1 * rmemory_duy_dyl_x(i,j,k,ispec_CPML) &
                    + PML_duy_dyl_new(i,j,k) * coef1_1 + PML_duy_dyl(i,j,k) * coef2_1
-              rmemory_duy_dyl_x(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_duy_dxl_x(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duy_dxl_x(i,j,k,ispec_CPML,1) &
+              rmemory_duy_dxl_x(i,j,k,ispec_CPML) = coef0_1 * rmemory_duy_dxl_x(i,j,k,ispec_CPML) &
                    + PML_duy_dxl_new(i,j,k) * coef1_1 + PML_duy_dxl(i,j,k) * coef2_1
-              rmemory_duy_dxl_x(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_dux_dyl_y(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_dux_dyl_y(i,j,k,ispec_CPML,1) &
+              rmemory_dux_dyl_y(i,j,k,ispec_CPML) = coef0_1 * rmemory_dux_dyl_y(i,j,k,ispec_CPML) &
                    + PML_dux_dyl_new(i,j,k) * coef1_1 + PML_dux_dyl(i,j,k) * coef2_1
-              rmemory_dux_dyl_y(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_dux_dxl_y(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_dux_dxl_y(i,j,k,ispec_CPML,1) &
+              rmemory_dux_dxl_y(i,j,k,ispec_CPML) = coef0_1 * rmemory_dux_dxl_y(i,j,k,ispec_CPML) &
                    + PML_dux_dxl_new(i,j,k) * coef1_1 + PML_dux_dxl(i,j,k) * coef2_1
-              rmemory_dux_dxl_y(i,j,k,ispec_CPML,2) = 0.d0
 
             else if( CPML_regions(ispec_CPML) == CPML_XY_ONLY ) then
 
@@ -673,21 +620,17 @@
                  coef2_1 = deltat/2.0d0
               endif
 
-              rmemory_duz_dzl_y(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duz_dzl_y(i,j,k,ispec_CPML,1) &
+              rmemory_duz_dzl_y(i,j,k,ispec_CPML) = coef0_1 * rmemory_duz_dzl_y(i,j,k,ispec_CPML) &
                    + PML_duz_dzl_new(i,j,k) * coef1_1 + PML_duz_dzl(i,j,k) * coef2_1
-              rmemory_duz_dzl_y(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_duz_dyl_y(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duz_dyl_y(i,j,k,ispec_CPML,1) &
+              rmemory_duz_dyl_y(i,j,k,ispec_CPML) = coef0_1 * rmemory_duz_dyl_y(i,j,k,ispec_CPML) &
                    + PML_duz_dyl_new(i,j,k) * coef1_1 + PML_duz_dyl(i,j,k) * coef2_1
-              rmemory_duz_dyl_y(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_duy_dzl_z(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duy_dzl_z(i,j,k,ispec_CPML,1) &
+              rmemory_duy_dzl_z(i,j,k,ispec_CPML) = coef0_1 * rmemory_duy_dzl_z(i,j,k,ispec_CPML) &
                    + PML_duy_dzl_new(i,j,k) * coef1_1 + PML_duy_dzl(i,j,k) * coef2_1
-              rmemory_duy_dzl_z(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_duy_dyl_z(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duy_dyl_z(i,j,k,ispec_CPML,1) &
+              rmemory_duy_dyl_z(i,j,k,ispec_CPML) = coef0_1 * rmemory_duy_dyl_z(i,j,k,ispec_CPML) &
                    + PML_duy_dyl_new(i,j,k) * coef1_1 + PML_duy_dyl(i,j,k) * coef2_1
-              rmemory_duy_dyl_z(i,j,k,ispec_CPML,2) = 0.d0
 
               !---------------------- A17 and A18 --------------------------
               A17 = k_store_y(i,j,k,ispec_CPML)
@@ -704,38 +647,27 @@
                  coef2_1 = deltat/2.0d0
               endif
 
-              rmemory_duz_dzl_x(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duz_dzl_x(i,j,k,ispec_CPML,1) &
+              rmemory_duz_dzl_x(i,j,k,ispec_CPML) = coef0_1 * rmemory_duz_dzl_x(i,j,k,ispec_CPML) &
                    + PML_duz_dzl_new(i,j,k) * coef1_1 + PML_duz_dzl(i,j,k) * coef2_1
-              rmemory_duz_dzl_x(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_duz_dxl_x(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duz_dxl_x(i,j,k,ispec_CPML,1) &
+              rmemory_duz_dxl_x(i,j,k,ispec_CPML) = coef0_1 * rmemory_duz_dxl_x(i,j,k,ispec_CPML) &
                    + PML_duz_dxl_new(i,j,k) * coef1_1 + PML_duz_dxl(i,j,k) * coef2_1
-              rmemory_duz_dxl_x(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_dux_dzl_z(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_dux_dzl_z(i,j,k,ispec_CPML,1) &
+              rmemory_dux_dzl_z(i,j,k,ispec_CPML) = coef0_1 * rmemory_dux_dzl_z(i,j,k,ispec_CPML) &
                    + PML_dux_dzl_new(i,j,k) * coef1_1 + PML_dux_dzl(i,j,k) * coef2_1
-              rmemory_dux_dzl_z(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_dux_dxl_z(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_dux_dxl_z(i,j,k,ispec_CPML,1) &
+              rmemory_dux_dxl_z(i,j,k,ispec_CPML) = coef0_1 * rmemory_dux_dxl_z(i,j,k,ispec_CPML) &
                    + PML_dux_dxl_new(i,j,k) * coef1_1 + PML_dux_dxl(i,j,k) * coef2_1
-              rmemory_dux_dxl_z(i,j,k,ispec_CPML,2) = 0.d0
 
               !---------------------- A19 and A20--------------------------
               A19 = 1.d0
               A20 = 0.0
 
-              rmemory_duy_dyl_x(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_duy_dyl_x(i,j,k,ispec_CPML,2) = 0.d0
+              rmemory_duy_dyl_x(i,j,k,ispec_CPML) = 0.d0
+              rmemory_duy_dxl_x(i,j,k,ispec_CPML) = 0.d0
+              rmemory_dux_dyl_y(i,j,k,ispec_CPML) = 0.d0
+              rmemory_dux_dxl_y(i,j,k,ispec_CPML) = 0.d0
 
-              rmemory_duy_dxl_x(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_duy_dxl_x(i,j,k,ispec_CPML,2) = 0.d0
-
-              rmemory_dux_dyl_y(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_dux_dyl_y(i,j,k,ispec_CPML,2) = 0.d0
-
-              rmemory_dux_dxl_y(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_dux_dxl_y(i,j,k,ispec_CPML,2) = 0.d0
-
             else if( CPML_regions(ispec_CPML) == CPML_XZ_ONLY ) then
 
               !------------------------------------------------------------------------------
@@ -852,38 +784,27 @@
                  coef2_1 = deltat/2.0d0
               endif
 
-              rmemory_duz_dzl_y(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duz_dzl_y(i,j,k,ispec_CPML,1) &
+              rmemory_duz_dzl_y(i,j,k,ispec_CPML) = coef0_1 * rmemory_duz_dzl_y(i,j,k,ispec_CPML) &
                    + PML_duz_dzl_new(i,j,k) * coef1_1 + PML_duz_dzl(i,j,k) * coef2_1
-              rmemory_duz_dzl_y(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_duz_dyl_y(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duz_dyl_y(i,j,k,ispec_CPML,1) &
+              rmemory_duz_dyl_y(i,j,k,ispec_CPML) = coef0_1 * rmemory_duz_dyl_y(i,j,k,ispec_CPML) &
                    + PML_duz_dyl_new(i,j,k) * coef1_1 + PML_duz_dyl(i,j,k) * coef2_1
-              rmemory_duz_dyl_y(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_duy_dzl_z(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duy_dzl_z(i,j,k,ispec_CPML,1) &
+              rmemory_duy_dzl_z(i,j,k,ispec_CPML) = coef0_1 * rmemory_duy_dzl_z(i,j,k,ispec_CPML) &
                    + PML_duy_dzl_new(i,j,k) * coef1_1 + PML_duy_dzl(i,j,k) * coef2_1
-              rmemory_duy_dzl_z(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_duy_dyl_z(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duy_dyl_z(i,j,k,ispec_CPML,1) &
+              rmemory_duy_dyl_z(i,j,k,ispec_CPML) = coef0_1 * rmemory_duy_dyl_z(i,j,k,ispec_CPML) &
                    + PML_duy_dyl_new(i,j,k) * coef1_1 + PML_duy_dyl(i,j,k) * coef2_1
-              rmemory_duy_dyl_z(i,j,k,ispec_CPML,2) = 0.d0
 
               !---------------------- A17 and A18 --------------------------
               A17 = 1.0d0
               A18 = 0.d0
 
-              rmemory_duz_dzl_x(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_duz_dzl_x(i,j,k,ispec_CPML,2) = 0.d0
+              rmemory_duz_dzl_x(i,j,k,ispec_CPML) = 0.d0
+              rmemory_duz_dxl_x(i,j,k,ispec_CPML) = 0.d0
+              rmemory_dux_dzl_z(i,j,k,ispec_CPML) = 0.d0
+              rmemory_dux_dxl_z(i,j,k,ispec_CPML) = 0.d0
 
-              rmemory_duz_dxl_x(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_duz_dxl_x(i,j,k,ispec_CPML,2) = 0.d0
-
-              rmemory_dux_dzl_z(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_dux_dzl_z(i,j,k,ispec_CPML,2) = 0.d0
-
-              rmemory_dux_dxl_z(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_dux_dxl_z(i,j,k,ispec_CPML,2) = 0.d0
-
               !---------------------- A19 and A20 --------------------------
               A19 = k_store_z(i,j,k,ispec_CPML)
               A20 = d_store_z(i,j,k,ispec_CPML)
@@ -899,21 +820,17 @@
                  coef2_1 = deltat/2.0d0
               endif
 
-              rmemory_duy_dyl_x(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duy_dyl_x(i,j,k,ispec_CPML,1) &
+              rmemory_duy_dyl_x(i,j,k,ispec_CPML) = coef0_1 * rmemory_duy_dyl_x(i,j,k,ispec_CPML) &
                    + PML_duy_dyl_new(i,j,k) * coef1_1 + PML_duy_dyl(i,j,k) * coef2_1
-              rmemory_duy_dyl_x(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_duy_dxl_x(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duy_dxl_x(i,j,k,ispec_CPML,1) &
+              rmemory_duy_dxl_x(i,j,k,ispec_CPML) = coef0_1 * rmemory_duy_dxl_x(i,j,k,ispec_CPML) &
                    + PML_duy_dxl_new(i,j,k) * coef1_1 + PML_duy_dxl(i,j,k) * coef2_1
-              rmemory_duy_dxl_x(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_dux_dyl_y(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_dux_dyl_y(i,j,k,ispec_CPML,1) &
+              rmemory_dux_dyl_y(i,j,k,ispec_CPML) = coef0_1 * rmemory_dux_dyl_y(i,j,k,ispec_CPML) &
                    + PML_dux_dyl_new(i,j,k) * coef1_1 + PML_dux_dyl(i,j,k) * coef2_1
-              rmemory_dux_dyl_y(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_dux_dxl_y(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_dux_dxl_y(i,j,k,ispec_CPML,1) &
+              rmemory_dux_dxl_y(i,j,k,ispec_CPML) = coef0_1 * rmemory_dux_dxl_y(i,j,k,ispec_CPML) &
                    + PML_dux_dxl_new(i,j,k) * coef1_1 + PML_dux_dxl(i,j,k) * coef2_1
-              rmemory_dux_dxl_y(i,j,k,ispec_CPML,2) = 0.d0
 
             else if( CPML_regions(ispec_CPML) == CPML_YZ_ONLY ) then
 
@@ -1020,17 +937,13 @@
               A15 = 1.0d0
               A16 = 0.0d0
 
-              rmemory_duz_dzl_y(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_duz_dzl_y(i,j,k,ispec_CPML,2) = 0.d0
+              rmemory_duz_dzl_y(i,j,k,ispec_CPML) = 0.d0
 
-              rmemory_duz_dyl_y(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_duz_dyl_y(i,j,k,ispec_CPML,2) = 0.d0
+              rmemory_duz_dyl_y(i,j,k,ispec_CPML) = 0.d0
 
-              rmemory_duy_dzl_z(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_duy_dzl_z(i,j,k,ispec_CPML,2) = 0.d0
+              rmemory_duy_dzl_z(i,j,k,ispec_CPML) = 0.d0
 
-              rmemory_duy_dyl_z(i,j,k,ispec_CPML,1) = 0.d0
-              rmemory_duy_dyl_z(i,j,k,ispec_CPML,2) = 0.d0
+              rmemory_duy_dyl_z(i,j,k,ispec_CPML) = 0.d0
 
               !---------------------- A17 and A18 --------------------------
               A17 = k_store_y(i,j,k,ispec_CPML)
@@ -1047,21 +960,17 @@
                  coef2_1 = deltat/2.0d0
               endif
 
-              rmemory_duz_dzl_x(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duz_dzl_x(i,j,k,ispec_CPML,2) &
+              rmemory_duz_dzl_x(i,j,k,ispec_CPML) = coef0_1 * rmemory_duz_dzl_x(i,j,k,ispec_CPML) &
                    + PML_duz_dzl_new(i,j,k) * coef1_1 + PML_duz_dzl(i,j,k) * coef2_1
-              rmemory_duz_dzl_x(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_duz_dxl_x(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duz_dxl_x(i,j,k,ispec_CPML,1) &
+              rmemory_duz_dxl_x(i,j,k,ispec_CPML) = coef0_1 * rmemory_duz_dxl_x(i,j,k,ispec_CPML) &
                    + PML_duz_dxl_new(i,j,k) * coef1_1 + PML_duz_dxl(i,j,k) * coef2_1
-              rmemory_duz_dxl_x(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_dux_dzl_z(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_dux_dzl_z(i,j,k,ispec_CPML,1) &
+              rmemory_dux_dzl_z(i,j,k,ispec_CPML) = coef0_1 * rmemory_dux_dzl_z(i,j,k,ispec_CPML) &
                    + PML_dux_dzl_new(i,j,k) * coef1_1 + PML_dux_dzl(i,j,k) * coef2_1
-              rmemory_dux_dzl_z(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_dux_dxl_z(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_dux_dxl_z(i,j,k,ispec_CPML,1) &
+              rmemory_dux_dxl_z(i,j,k,ispec_CPML) = coef0_1 * rmemory_dux_dxl_z(i,j,k,ispec_CPML) &
                    + PML_dux_dxl_new(i,j,k) * coef1_1 + PML_dux_dxl(i,j,k) * coef2_1
-              rmemory_dux_dxl_z(i,j,k,ispec_CPML,2) = 0.d0
 
               !---------------------- A19 and A20--------------------------
               A19 = k_store_z(i,j,k,ispec_CPML)
@@ -1078,21 +987,17 @@
                  coef2_1 = deltat/2.0d0
               endif
 
-              rmemory_duy_dyl_x(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duy_dyl_x(i,j,k,ispec_CPML,1) &
+              rmemory_duy_dyl_x(i,j,k,ispec_CPML) = coef0_1 * rmemory_duy_dyl_x(i,j,k,ispec_CPML) &
                    + PML_duy_dyl_new(i,j,k) * coef1_1 + PML_duy_dyl(i,j,k) * coef2_1
-              rmemory_duy_dyl_x(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_duy_dxl_x(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duy_dxl_x(i,j,k,ispec_CPML,1) &
+              rmemory_duy_dxl_x(i,j,k,ispec_CPML) = coef0_1 * rmemory_duy_dxl_x(i,j,k,ispec_CPML) &
                    + PML_duy_dxl_new(i,j,k) * coef1_1 + PML_duy_dxl(i,j,k) * coef2_1
-              rmemory_duy_dxl_x(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_dux_dyl_y(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_dux_dyl_y(i,j,k,ispec_CPML,1) &
+              rmemory_dux_dyl_y(i,j,k,ispec_CPML) = coef0_1 * rmemory_dux_dyl_y(i,j,k,ispec_CPML) &
                    + PML_dux_dyl_new(i,j,k) * coef1_1 + PML_dux_dyl(i,j,k) * coef2_1
-              rmemory_dux_dyl_y(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_dux_dxl_y(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_dux_dxl_y(i,j,k,ispec_CPML,1) &
+              rmemory_dux_dxl_y(i,j,k,ispec_CPML) = coef0_1 * rmemory_dux_dxl_y(i,j,k,ispec_CPML) &
                    + PML_dux_dxl_new(i,j,k) * coef1_1 + PML_dux_dxl(i,j,k) * coef2_1
-              rmemory_dux_dxl_y(i,j,k,ispec_CPML,2) = 0.d0
 
             else if( CPML_regions(ispec_CPML) == CPML_XYZ ) then
 
@@ -1302,21 +1207,17 @@
                  coef2_1 = deltat/2.0d0
               endif
 
-              rmemory_duz_dzl_y(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duz_dzl_y(i,j,k,ispec_CPML,1) &
+              rmemory_duz_dzl_y(i,j,k,ispec_CPML) = coef0_1 * rmemory_duz_dzl_y(i,j,k,ispec_CPML) &
                    + PML_duz_dzl_new(i,j,k) * coef1_1 + PML_duz_dzl(i,j,k) * coef2_1
-              rmemory_duz_dzl_y(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_duz_dyl_y(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duz_dyl_y(i,j,k,ispec_CPML,1) &
+              rmemory_duz_dyl_y(i,j,k,ispec_CPML) = coef0_1 * rmemory_duz_dyl_y(i,j,k,ispec_CPML) &
                    + PML_duz_dyl_new(i,j,k) * coef1_1 + PML_duz_dyl(i,j,k) * coef2_1
-              rmemory_duz_dyl_y(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_duy_dzl_z(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duy_dzl_z(i,j,k,ispec_CPML,1) &
+              rmemory_duy_dzl_z(i,j,k,ispec_CPML) = coef0_1 * rmemory_duy_dzl_z(i,j,k,ispec_CPML) &
                    + PML_duy_dzl_new(i,j,k) * coef1_1 + PML_duy_dzl(i,j,k) * coef2_1
-              rmemory_duy_dzl_z(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_duy_dyl_z(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duy_dyl_z(i,j,k,ispec_CPML,1) &
+              rmemory_duy_dyl_z(i,j,k,ispec_CPML) = coef0_1 * rmemory_duy_dyl_z(i,j,k,ispec_CPML) &
                    + PML_duy_dyl_new(i,j,k) * coef1_1 + PML_duy_dyl(i,j,k) * coef2_1
-              rmemory_duy_dyl_z(i,j,k,ispec_CPML,2) = 0.d0
 
               !---------------------- A17 and A18 --------------------------
               A17 = k_store_y(i,j,k,ispec_CPML)
@@ -1333,21 +1234,17 @@
                  coef2_1 = deltat/2.0d0
               endif
 
-              rmemory_duz_dzl_x(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duz_dzl_x(i,j,k,ispec_CPML,1) &
+              rmemory_duz_dzl_x(i,j,k,ispec_CPML) = coef0_1 * rmemory_duz_dzl_x(i,j,k,ispec_CPML) &
                    + PML_duz_dzl_new(i,j,k) * coef1_1 + PML_duz_dzl(i,j,k) * coef2_1
-              rmemory_duz_dzl_x(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_duz_dxl_x(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duz_dxl_x(i,j,k,ispec_CPML,1) &
+              rmemory_duz_dxl_x(i,j,k,ispec_CPML) = coef0_1 * rmemory_duz_dxl_x(i,j,k,ispec_CPML) &
                    + PML_duz_dxl_new(i,j,k) * coef1_1 + PML_duz_dxl(i,j,k) * coef2_1
-              rmemory_duz_dxl_x(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_dux_dzl_z(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_dux_dzl_z(i,j,k,ispec_CPML,1) &
+              rmemory_dux_dzl_z(i,j,k,ispec_CPML) = coef0_1 * rmemory_dux_dzl_z(i,j,k,ispec_CPML) &
                    + PML_dux_dzl_new(i,j,k) * coef1_1 + PML_dux_dzl(i,j,k) * coef2_1
-              rmemory_dux_dzl_z(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_dux_dxl_z(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_dux_dxl_z(i,j,k,ispec_CPML,1) &
+              rmemory_dux_dxl_z(i,j,k,ispec_CPML) = coef0_1 * rmemory_dux_dxl_z(i,j,k,ispec_CPML) &
                    + PML_dux_dxl_new(i,j,k) * coef1_1 + PML_dux_dxl(i,j,k) * coef2_1
-              rmemory_dux_dxl_z(i,j,k,ispec_CPML,2) = 0.d0
 
               !---------------------- A19 and A20 --------------------------
               A19 = k_store_z(i,j,k,ispec_CPML)
@@ -1364,21 +1261,17 @@
                  coef2_1 = deltat/2.0d0
               endif
 
-              rmemory_duy_dyl_x(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duy_dyl_x(i,j,k,ispec_CPML,1) &
+              rmemory_duy_dyl_x(i,j,k,ispec_CPML) = coef0_1 * rmemory_duy_dyl_x(i,j,k,ispec_CPML) &
                    + PML_duy_dyl_new(i,j,k) * coef1_1 + PML_duy_dyl(i,j,k) * coef2_1
-              rmemory_duy_dyl_x(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_duy_dxl_x(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_duy_dxl_x(i,j,k,ispec_CPML,1) &
+              rmemory_duy_dxl_x(i,j,k,ispec_CPML) = coef0_1 * rmemory_duy_dxl_x(i,j,k,ispec_CPML) &
                    + PML_duy_dxl_new(i,j,k) * coef1_1 + PML_duy_dxl(i,j,k) * coef2_1
-              rmemory_duy_dxl_x(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_dux_dyl_y(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_dux_dyl_y(i,j,k,ispec_CPML,1) &
+              rmemory_dux_dyl_y(i,j,k,ispec_CPML) = coef0_1 * rmemory_dux_dyl_y(i,j,k,ispec_CPML) &
                    + PML_dux_dyl_new(i,j,k) * coef1_1 + PML_dux_dyl(i,j,k) * coef2_1
-              rmemory_dux_dyl_y(i,j,k,ispec_CPML,2) = 0.d0
 
-              rmemory_dux_dxl_y(i,j,k,ispec_CPML,1) = coef0_1 * rmemory_dux_dxl_y(i,j,k,ispec_CPML,1) &
+              rmemory_dux_dxl_y(i,j,k,ispec_CPML) = coef0_1 * rmemory_dux_dxl_y(i,j,k,ispec_CPML) &
                    + PML_dux_dxl_new(i,j,k) * coef1_1 + PML_dux_dxl(i,j,k) * coef2_1
-              rmemory_dux_dxl_y(i,j,k,ispec_CPML,2) = 0.d0
 
             else
               stop 'wrong PML flag in PML memory variable calculation routine'
@@ -1390,14 +1283,10 @@
                  + A10 * rmemory_dux_dyl_x(i,j,k,ispec_CPML,1) + A11 * rmemory_dux_dyl_x(i,j,k,ispec_CPML,2)
             duxdzl_x = A12 * PML_dux_dzl(i,j,k)  &
                  + A13 * rmemory_dux_dzl_x(i,j,k,ispec_CPML,1) + A14 * rmemory_dux_dzl_x(i,j,k,ispec_CPML,2)
-            duzdzl_x = A17 * PML_duz_dzl(i,j,k)  &
-                 + A18 * rmemory_duz_dzl_x(i,j,k,ispec_CPML,1) + rmemory_duz_dzl_x(i,j,k,ispec_CPML,2)
-            duzdxl_x = A17 * PML_duz_dxl(i,j,k)  &
-                 + A18 * rmemory_duz_dxl_x(i,j,k,ispec_CPML,1) + rmemory_duz_dxl_x(i,j,k,ispec_CPML,2)
-            duydyl_x = A19 * PML_duy_dyl(i,j,k)  &
-                 + A20 * rmemory_duy_dyl_x(i,j,k,ispec_CPML,1) + rmemory_duy_dyl_x(i,j,k,ispec_CPML,2)
-            duydxl_x = A19 * PML_duy_dxl(i,j,k)  &
-                 + A20 * rmemory_duy_dxl_x(i,j,k,ispec_CPML,1) + rmemory_duy_dxl_x(i,j,k,ispec_CPML,2)
+            duzdzl_x = A17 * PML_duz_dzl(i,j,k) + A18 * rmemory_duz_dzl_x(i,j,k,ispec_CPML)
+            duzdxl_x = A17 * PML_duz_dxl(i,j,k) + A18 * rmemory_duz_dxl_x(i,j,k,ispec_CPML)
+            duydyl_x = A19 * PML_duy_dyl(i,j,k) + A20 * rmemory_duy_dyl_x(i,j,k,ispec_CPML)
+            duydxl_x = A19 * PML_duy_dxl(i,j,k) + A20 * rmemory_duy_dxl_x(i,j,k,ispec_CPML)
 
             duydxl_y = A6 * PML_duy_dxl(i,j,k)  &
                  + A7 * rmemory_duy_dxl_y(i,j,k,ispec_CPML,1) + A8 * rmemory_duy_dxl_y(i,j,k,ispec_CPML,2)
@@ -1405,14 +1294,10 @@
                  + A10 * rmemory_duy_dyl_y(i,j,k,ispec_CPML,1) + A11 * rmemory_duy_dyl_y(i,j,k,ispec_CPML,2)
             duydzl_y = A12 * PML_duy_dzl(i,j,k)  &
                  + A13 * rmemory_duy_dzl_y(i,j,k,ispec_CPML,1) + A14 * rmemory_duy_dzl_y(i,j,k,ispec_CPML,2)
-            duzdzl_y = A15 * PML_duz_dzl(i,j,k)  &
-                 + A16 * rmemory_duz_dzl_y(i,j,k,ispec_CPML,1) + rmemory_duz_dzl_y(i,j,k,ispec_CPML,2)
-            duzdyl_y = A15 * PML_duz_dyl(i,j,k)  &
-                 + A16 * rmemory_duz_dyl_y(i,j,k,ispec_CPML,1) + rmemory_duz_dyl_y(i,j,k,ispec_CPML,2)
-            duxdyl_y = A19 * PML_dux_dyl(i,j,k)  &
-                 + A20 * rmemory_dux_dyl_y(i,j,k,ispec_CPML,1) + rmemory_dux_dyl_y(i,j,k,ispec_CPML,2)
-            duxdxl_y = A19 * PML_dux_dxl(i,j,k)  &
-                 + A20 * rmemory_dux_dxl_y(i,j,k,ispec_CPML,1) + rmemory_dux_dxl_y(i,j,k,ispec_CPML,2)
+            duzdzl_y = A15 * PML_duz_dzl(i,j,k) + A16 * rmemory_duz_dzl_y(i,j,k,ispec_CPML)
+            duzdyl_y = A15 * PML_duz_dyl(i,j,k) + A16 * rmemory_duz_dyl_y(i,j,k,ispec_CPML)
+            duxdyl_y = A19 * PML_dux_dyl(i,j,k) + A20 * rmemory_dux_dyl_y(i,j,k,ispec_CPML)
+            duxdxl_y = A19 * PML_dux_dxl(i,j,k) + A20 * rmemory_dux_dxl_y(i,j,k,ispec_CPML)
 
             duzdxl_z = A6 * PML_duz_dxl(i,j,k)  &
                  + A7 * rmemory_duz_dxl_z(i,j,k,ispec_CPML,1) + A8 * rmemory_duz_dxl_z(i,j,k,ispec_CPML,2)
@@ -1420,14 +1305,10 @@
                  + A10 * rmemory_duz_dyl_z(i,j,k,ispec_CPML,1) + A11 * rmemory_duz_dyl_z(i,j,k,ispec_CPML,2)
             duzdzl_z = A12 * PML_duz_dzl(i,j,k)  &
                  + A13 * rmemory_duz_dzl_z(i,j,k,ispec_CPML,1) + A14 * rmemory_duz_dzl_z(i,j,k,ispec_CPML,2)
-            duydzl_z = A15 * PML_duy_dzl(i,j,k)  &
-                 + A16 * rmemory_duy_dzl_z(i,j,k,ispec_CPML,1) + rmemory_duy_dzl_z(i,j,k,ispec_CPML,2)
-            duydyl_z = A15 * PML_duy_dyl(i,j,k)  &
-                 + A16 * rmemory_duy_dyl_z(i,j,k,ispec_CPML,1) + rmemory_duy_dyl_z(i,j,k,ispec_CPML,2)
-            duxdzl_z = A17 * PML_dux_dzl(i,j,k)  &
-                 + A18 * rmemory_dux_dzl_z(i,j,k,ispec_CPML,1) + rmemory_dux_dzl_z(i,j,k,ispec_CPML,2)
-            duxdxl_z = A17 * PML_dux_dxl(i,j,k)  &
-                 + A18 * rmemory_dux_dxl_z(i,j,k,ispec_CPML,1) + rmemory_dux_dxl_z(i,j,k,ispec_CPML,2)
+            duydzl_z = A15 * PML_duy_dzl(i,j,k) + A16 * rmemory_duy_dzl_z(i,j,k,ispec_CPML)
+            duydyl_z = A15 * PML_duy_dyl(i,j,k) + A16 * rmemory_duy_dyl_z(i,j,k,ispec_CPML)
+            duxdzl_z = A17 * PML_dux_dzl(i,j,k) + A18 * rmemory_dux_dzl_z(i,j,k,ispec_CPML)
+            duxdxl_z = A17 * PML_dux_dxl(i,j,k) + A18 * rmemory_dux_dxl_z(i,j,k,ispec_CPML)
 
             ! compute stress sigma
             sigma_xx = lambdalplus2mul*duxdxl_x + lambdal*duydyl_x + lambdal*duzdzl_x

Modified: seismo/3D/SPECFEM3D/trunk/src/specfem3D/pml_par.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/specfem3D/pml_par.f90	2013-05-29 03:58:35 UTC (rev 22160)
+++ seismo/3D/SPECFEM3D/trunk/src/specfem3D/pml_par.f90	2013-05-29 11:45:05 UTC (rev 22161)
@@ -78,15 +78,15 @@
 
   ! C-PML memory variables
   real(kind=CUSTOM_REAL), dimension(:,:,:,:,:), allocatable :: rmemory_dux_dxl_x,rmemory_dux_dyl_x,rmemory_dux_dzl_x
-  real(kind=CUSTOM_REAL), dimension(:,:,:,:,:), allocatable :: rmemory_duy_dxl_x,rmemory_duy_dyl_x
-  real(kind=CUSTOM_REAL), dimension(:,:,:,:,:), allocatable :: rmemory_duz_dxl_x,rmemory_duz_dzl_x
+  real(kind=CUSTOM_REAL), dimension(:,:,:,:), allocatable :: rmemory_duy_dxl_x,rmemory_duy_dyl_x
+  real(kind=CUSTOM_REAL), dimension(:,:,:,:), allocatable :: rmemory_duz_dxl_x,rmemory_duz_dzl_x
 
-  real(kind=CUSTOM_REAL), dimension(:,:,:,:,:), allocatable :: rmemory_dux_dxl_y,rmemory_dux_dyl_y
+  real(kind=CUSTOM_REAL), dimension(:,:,:,:), allocatable :: rmemory_dux_dxl_y,rmemory_dux_dyl_y
   real(kind=CUSTOM_REAL), dimension(:,:,:,:,:), allocatable :: rmemory_duy_dxl_y,rmemory_duy_dyl_y,rmemory_duy_dzl_y
-  real(kind=CUSTOM_REAL), dimension(:,:,:,:,:), allocatable :: rmemory_duz_dzl_y,rmemory_duz_dyl_y
+  real(kind=CUSTOM_REAL), dimension(:,:,:,:), allocatable :: rmemory_duz_dzl_y,rmemory_duz_dyl_y
 
-  real(kind=CUSTOM_REAL), dimension(:,:,:,:,:), allocatable :: rmemory_dux_dxl_z,rmemory_dux_dzl_z
-  real(kind=CUSTOM_REAL), dimension(:,:,:,:,:), allocatable :: rmemory_duy_dyl_z,rmemory_duy_dzl_z
+  real(kind=CUSTOM_REAL), dimension(:,:,:,:), allocatable :: rmemory_dux_dxl_z,rmemory_dux_dzl_z
+  real(kind=CUSTOM_REAL), dimension(:,:,:,:), allocatable :: rmemory_duy_dyl_z,rmemory_duy_dzl_z
   real(kind=CUSTOM_REAL), dimension(:,:,:,:,:), allocatable :: rmemory_duz_dxl_z,rmemory_duz_dyl_z,rmemory_duz_dzl_z
 
   real(kind=CUSTOM_REAL), dimension(:,:,:,:,:), allocatable :: rmemory_dpotential_dxl



More information about the CIG-COMMITS mailing list