[cig-commits] r21976 - in seismo/3D/SPECFEM3D/trunk/src: generate_databases specfem3D
xie.zhinan at geodynamics.org
xie.zhinan at geodynamics.org
Fri May 3 02:45:52 PDT 2013
Author: xie.zhinan
Date: 2013-05-03 02:45:52 -0700 (Fri, 03 May 2013)
New Revision: 21976
Modified:
seismo/3D/SPECFEM3D/trunk/src/generate_databases/create_mass_matrices.f90
seismo/3D/SPECFEM3D/trunk/src/generate_databases/pml_set_local_dampingcoeff.f90
seismo/3D/SPECFEM3D/trunk/src/specfem3D/pml_compute_memory_variables.f90
Log:
fix errors detected by Daniel and clean the pml code a little
Modified: seismo/3D/SPECFEM3D/trunk/src/generate_databases/create_mass_matrices.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/generate_databases/create_mass_matrices.f90 2013-05-03 09:13:19 UTC (rev 21975)
+++ seismo/3D/SPECFEM3D/trunk/src/generate_databases/create_mass_matrices.f90 2013-05-03 09:45:52 UTC (rev 21976)
@@ -428,15 +428,16 @@
subroutine create_mass_matrices_pml_elastic(nspec,ibool)
- use generate_databases_par, only: is_CPML,CPML_regions,d_store_x,d_store_y,d_store_z, &
- K_store_x,K_store_y,K_store_z,nspec_cpml,CPML_to_spec,DT
+ use generate_databases_par, only: NGLLX,NGLLY,NGLLZ,SIZE_REAL,CUSTOM_REAL,DT,&
+ is_CPML,CPML_regions,d_store_x,d_store_y,d_store_z, &
+ K_store_x,K_store_y,K_store_z,nspec_cpml,CPML_to_spec,&
+ CPML_X_ONLY,CPML_Y_ONLY,CPML_Z_ONLY, &
+ CPML_XY_ONLY,CPML_XZ_ONLY,CPML_YZ_ONLY,CPML_XYZ
+ use create_regions_mesh_ext_par,only : rmass,rhostore,jacobianstore,wxgll,wygll,wzgll,ispec_is_elastic
- use create_regions_mesh_ext_par
-
implicit none
integer, intent(in) :: nspec
-
integer, dimension(NGLLX,NGLLY,NGLLZ,nspec), intent(in) :: ibool
! local parameters
@@ -459,9 +460,7 @@
do i=1,NGLLX
! defines the material coefficient associated to the domain
mat_coef = rhostore(i,j,k,ispec)
-
iglob = ibool(i,j,k,ispec)
-
weight = wxgll(i)*wygll(j)*wzgll(k)
jacobianl = jacobianstore(i,j,k,ispec)
@@ -484,15 +483,13 @@
if( is_CPML(ispec) .and. ispec_is_elastic(ispec) ) then
! X_surface C-PML
- if( CPML_regions(ispec_CPML) == 1 ) then
+ if( CPML_regions(ispec_CPML) == CPML_X_ONLY ) then
do k=1,NGLLZ
do j=1,NGLLY
do i=1,NGLLX
! defines the material coefficient associated to the domain
mat_coef = rhostore(i,j,k,ispec)
-
iglob = ibool(i,j,k,ispec)
-
weight = wxgll(i)*wygll(j)*wzgll(k)
jacobianl = jacobianstore(i,j,k,ispec)
@@ -510,15 +507,13 @@
enddo
! Y_surface C-PML
- else if( CPML_regions(ispec_CPML) == 2 ) then
+ else if( CPML_regions(ispec_CPML) == CPML_Y_ONLY ) then
do k=1,NGLLZ
do j=1,NGLLY
do i=1,NGLLX
! defines the material coefficient associated to the domain
mat_coef = rhostore(i,j,k,ispec)
-
iglob = ibool(i,j,k,ispec)
-
weight = wxgll(i)*wygll(j)*wzgll(k)
jacobianl = jacobianstore(i,j,k,ispec)
@@ -536,15 +531,13 @@
enddo
! Z_surface C-PML
- else if( CPML_regions(ispec_CPML) == 3 ) then
+ else if( CPML_regions(ispec_CPML) == CPML_Z_ONLY ) then
do k=1,NGLLZ
do j=1,NGLLY
do i=1,NGLLX
! defines the material coefficient associated to the domain
mat_coef = rhostore(i,j,k,ispec)
-
iglob = ibool(i,j,k,ispec)
-
weight = wxgll(i)*wygll(j)*wzgll(k)
jacobianl = jacobianstore(i,j,k,ispec)
@@ -562,15 +555,13 @@
enddo
! XY_edge C-PML
- else if( CPML_regions(ispec_CPML) == 4 ) then
+ else if( CPML_regions(ispec_CPML) == CPML_XY_ONLY ) then
do k=1,NGLLZ
do j=1,NGLLY
do i=1,NGLLX
! defines the material coefficient associated to the domain
mat_coef = rhostore(i,j,k,ispec)
-
iglob = ibool(i,j,k,ispec)
-
weight = wxgll(i)*wygll(j)*wzgll(k)
jacobianl = jacobianstore(i,j,k,ispec)
@@ -592,15 +583,13 @@
enddo
! XZ_edge C-PML
- else if( CPML_regions(ispec_CPML) == 5 ) then
+ else if( CPML_regions(ispec_CPML) == CPML_XZ_ONLY ) then
do k=1,NGLLZ
do j=1,NGLLY
do i=1,NGLLX
! defines the material coefficient associated to the domain
mat_coef = rhostore(i,j,k,ispec)
-
iglob = ibool(i,j,k,ispec)
-
weight = wxgll(i)*wygll(j)*wzgll(k)
jacobianl = jacobianstore(i,j,k,ispec)
@@ -622,15 +611,13 @@
enddo
! YZ_edge C-PML
- else if( CPML_regions(ispec_CPML) == 6 ) then
+ else if( CPML_regions(ispec_CPML) == CPML_YZ_ONLY ) then
do k=1,NGLLZ
do j=1,NGLLY
do i=1,NGLLX
! defines the material coefficient associated to the domain
mat_coef = rhostore(i,j,k,ispec)
-
iglob = ibool(i,j,k,ispec)
-
weight = wxgll(i)*wygll(j)*wzgll(k)
jacobianl = jacobianstore(i,j,k,ispec)
@@ -652,15 +639,13 @@
enddo
! XYZ_corner C-PML
- else if( CPML_regions(ispec_CPML) == 7 ) then
+ else if( CPML_regions(ispec_CPML) == CPML_XYZ ) then
do k=1,NGLLZ
do j=1,NGLLY
do i=1,NGLLX
! defines the material coefficient associated to the domain
mat_coef = rhostore(i,j,k,ispec)
-
iglob = ibool(i,j,k,ispec)
-
weight = wxgll(i)*wygll(j)*wzgll(k)
jacobianl = jacobianstore(i,j,k,ispec)
@@ -686,6 +671,8 @@
enddo
enddo
enddo
+ else
+ stop 'error in PML mesh file'
endif
endif
enddo ! do ispec_CPML=1,nspec_cpml
@@ -698,15 +685,16 @@
subroutine create_mass_matrices_pml_acoustic(nspec,ibool)
- use generate_databases_par, only: is_CPML,CPML_regions,d_store_x,d_store_y,d_store_z, &
- K_store_x,K_store_y,K_store_z,nspec_cpml,CPML_to_spec,DT
+ use generate_databases_par, only: NGLLX,NGLLY,NGLLZ,SIZE_REAL,CUSTOM_REAL,DT,&
+ is_CPML,CPML_regions,d_store_x,d_store_y,d_store_z, &
+ K_store_x,K_store_y,K_store_z,nspec_cpml,CPML_to_spec,&
+ CPML_X_ONLY,CPML_Y_ONLY,CPML_Z_ONLY, &
+ CPML_XY_ONLY,CPML_XZ_ONLY,CPML_YZ_ONLY,CPML_XYZ
+ use create_regions_mesh_ext_par,only : rmass_acoustic,kappastore,jacobianstore,wxgll,wygll,wzgll,ispec_is_acoustic
- use create_regions_mesh_ext_par
-
implicit none
integer, intent(in) :: nspec
-
integer, dimension(NGLLX,NGLLY,NGLLZ,nspec), intent(in) :: ibool
! local parameters
@@ -729,9 +717,7 @@
do i=1,NGLLX
! defines the material coefficient associated to the domain
mat_coef = 1.d0 / kappastore(i,j,k,ispec)
-
iglob = ibool(i,j,k,ispec)
-
weight = wxgll(i)*wygll(j)*wzgll(k)
jacobianl = jacobianstore(i,j,k,ispec)
@@ -754,15 +740,13 @@
if( is_CPML(ispec) .and. ispec_is_acoustic(ispec) ) then
! X_surface C-PML
- if( CPML_regions(ispec_CPML) == 1 ) then
+ if( CPML_regions(ispec_CPML) == CPML_X_ONLY ) then
do k=1,NGLLZ
do j=1,NGLLY
do i=1,NGLLX
! defines the material coefficient associated to the domain
mat_coef = 1.d0 / kappastore(i,j,k,ispec)
-
iglob = ibool(i,j,k,ispec)
-
weight = wxgll(i)*wygll(j)*wzgll(k)
jacobianl = jacobianstore(i,j,k,ispec)
@@ -780,15 +764,13 @@
enddo
! Y_surface C-PML
- else if( CPML_regions(ispec_CPML) == 2 ) then
+ else if( CPML_regions(ispec_CPML) == CPML_Y_ONLY ) then
do k=1,NGLLZ
do j=1,NGLLY
do i=1,NGLLX
! defines the material coefficient associated to the domain
mat_coef = 1.d0 / kappastore(i,j,k,ispec)
-
iglob = ibool(i,j,k,ispec)
-
weight = wxgll(i)*wygll(j)*wzgll(k)
jacobianl = jacobianstore(i,j,k,ispec)
@@ -806,15 +788,13 @@
enddo
! Z_surface C-PML
- else if( CPML_regions(ispec_CPML) == 3 ) then
+ else if( CPML_regions(ispec_CPML) == CPML_Z_ONLY ) then
do k=1,NGLLZ
do j=1,NGLLY
do i=1,NGLLX
! defines the material coefficient associated to the domain
mat_coef = 1.d0 / kappastore(i,j,k,ispec)
-
iglob = ibool(i,j,k,ispec)
-
weight = wxgll(i)*wygll(j)*wzgll(k)
jacobianl = jacobianstore(i,j,k,ispec)
@@ -832,15 +812,13 @@
enddo
! XY_edge C-PML
- else if( CPML_regions(ispec_CPML) == 4 ) then
+ else if( CPML_regions(ispec_CPML) == CPML_XY_ONLY ) then
do k=1,NGLLZ
do j=1,NGLLY
do i=1,NGLLX
! defines the material coefficient associated to the domain
mat_coef = 1.d0 / kappastore(i,j,k,ispec)
-
iglob = ibool(i,j,k,ispec)
-
weight = wxgll(i)*wygll(j)*wzgll(k)
jacobianl = jacobianstore(i,j,k,ispec)
@@ -862,15 +840,13 @@
enddo
! XZ_edge C-PML
- else if( CPML_regions(ispec_CPML) == 5 ) then
+ else if( CPML_regions(ispec_CPML) == CPML_XZ_ONLY ) then
do k=1,NGLLZ
do j=1,NGLLY
do i=1,NGLLX
! defines the material coefficient associated to the domain
mat_coef = 1.d0 / kappastore(i,j,k,ispec)
-
iglob = ibool(i,j,k,ispec)
-
weight = wxgll(i)*wygll(j)*wzgll(k)
jacobianl = jacobianstore(i,j,k,ispec)
@@ -892,15 +868,13 @@
enddo
! YZ_edge C-PML
- else if( CPML_regions(ispec_CPML) == 6 ) then
+ else if( CPML_regions(ispec_CPML) == CPML_YZ_ONLY ) then
do k=1,NGLLZ
do j=1,NGLLY
do i=1,NGLLX
! defines the material coefficient associated to the domain
mat_coef = 1.d0 / kappastore(i,j,k,ispec)
-
iglob = ibool(i,j,k,ispec)
-
weight = wxgll(i)*wygll(j)*wzgll(k)
jacobianl = jacobianstore(i,j,k,ispec)
@@ -922,15 +896,13 @@
enddo
! XYZ_corner C-PML
- else if( CPML_regions(ispec_CPML) == 7 ) then
+ else if( CPML_regions(ispec_CPML) == CPML_XYZ ) then
do k=1,NGLLZ
do j=1,NGLLY
do i=1,NGLLX
! defines the material coefficient associated to the domain
mat_coef = 1.d0 / kappastore(i,j,k,ispec)
-
iglob = ibool(i,j,k,ispec)
-
weight = wxgll(i)*wygll(j)*wzgll(k)
jacobianl = jacobianstore(i,j,k,ispec)
@@ -956,10 +928,10 @@
enddo
enddo
enddo
- endif
+ else
+ stop 'error in PML mesh file'
+ endif
endif
enddo ! do ispec_CPML=1,nspec_cpml
end subroutine create_mass_matrices_pml_acoustic
-
-
Modified: seismo/3D/SPECFEM3D/trunk/src/generate_databases/pml_set_local_dampingcoeff.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/generate_databases/pml_set_local_dampingcoeff.f90 2013-05-03 09:13:19 UTC (rev 21975)
+++ seismo/3D/SPECFEM3D/trunk/src/generate_databases/pml_set_local_dampingcoeff.f90 2013-05-03 09:45:52 UTC (rev 21976)
@@ -151,7 +151,7 @@
do i=1,NGLLX
iglob = ibool(i,j,k,ispec)
if( CPML_regions(ispec_CPML) == CPML_X_ONLY ) then
- if(xstore(iglob) - x_origin > 0.d0)then
+ if(xstore(iglob) - x_origin > 0.d0)then
if(xstore(iglob) - x_origin <= CPML_x_right - x_origin )then
CPML_x_right = xstore(iglob)
endif
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-03 09:13:19 UTC (rev 21975)
+++ seismo/3D/SPECFEM3D/trunk/src/specfem3D/pml_compute_memory_variables.f90 2013-05-03 09:45:52 UTC (rev 21976)
@@ -2159,7 +2159,7 @@
rmemory_coupling_ac_el_displ(1,i,j,k,iface,1) = 0.d0
rmemory_coupling_ac_el_displ(1,i,j,k,iface,2) = 0.d0
- displ_x = A6 * displ(1,iglob) + A7 * rmemory_coupling_ac_el_displ(1,i,j,k,iface,1) + &
+ displ_x = A6 * displ(1,iglob) + A7 * rmemory_coupling_ac_el_displ(1,i,j,k,iface,1) &
+ A8 * rmemory_coupling_ac_el_displ(1,i,j,k,iface,2)
! displ_y
@@ -2182,7 +2182,7 @@
+ (displ(2,iglob) + deltat * veloc(2,iglob)) * coef1_1 + (displ(2,iglob)) * coef2_1
rmemory_coupling_ac_el_displ(2,i,j,k,iface,2) = 0.d0
- displ_y = A9 * displ(2,iglob) + A10 * rmemory_coupling_ac_el_displ(2,i,j,k,iface,1) + &
+ displ_y = A9 * displ(2,iglob) + A10 * rmemory_coupling_ac_el_displ(2,i,j,k,iface,1) &
+ A11 * rmemory_coupling_ac_el_displ(2,i,j,k,iface,2)
! displ_z
@@ -2205,7 +2205,7 @@
+ (displ(3,iglob) + deltat * veloc(3,iglob)) * coef1_1 + (displ(3,iglob)) * coef2_1
rmemory_coupling_ac_el_displ(3,i,j,k,iface,2) = 0.d0
- displ_z = A12 * displ(3,iglob) + A13 * rmemory_coupling_ac_el_displ(3,i,j,k,iface,1) + &
+ displ_z = A12 * displ(3,iglob) + A13 * rmemory_coupling_ac_el_displ(3,i,j,k,iface,1) &
+ A14 * rmemory_coupling_ac_el_displ(3,i,j,k,iface,2)
@@ -2234,7 +2234,7 @@
+ (displ(1,iglob) + deltat * veloc(1,iglob)) * coef1_1 + (displ(1,iglob)) * coef2_1
rmemory_coupling_ac_el_displ(1,i,j,k,iface,2) = 0.d0
- displ_x = A6 * displ(1,iglob) + A7 * rmemory_coupling_ac_el_displ(1,i,j,k,iface,1) + &
+ displ_x = A6 * displ(1,iglob) + A7 * rmemory_coupling_ac_el_displ(1,i,j,k,iface,1) &
+ A8 * rmemory_coupling_ac_el_displ(1,i,j,k,iface,2)
! displ_y
@@ -2245,7 +2245,7 @@
rmemory_coupling_ac_el_displ(2,i,j,k,iface,1) = 0.d0
rmemory_coupling_ac_el_displ(2,i,j,k,iface,2) = 0.d0
- displ_y = A9 * displ(2,iglob) + A10 * rmemory_coupling_ac_el_displ(2,i,j,k,iface,1) + &
+ displ_y = A9 * displ(2,iglob) + A10 * rmemory_coupling_ac_el_displ(2,i,j,k,iface,1) &
+ A11 * rmemory_coupling_ac_el_displ(2,i,j,k,iface,2)
! displ_z
@@ -2269,7 +2269,7 @@
+ (displ(3,iglob) + deltat * veloc(3,iglob)) * coef1_1 + (displ(3,iglob)) * coef2_1
rmemory_coupling_ac_el_displ(3,i,j,k,iface,2) = 0.d0
- displ_z = A12 * displ(3,iglob) + A13 * rmemory_coupling_ac_el_displ(3,i,j,k,iface,1) + &
+ displ_z = A12 * displ(3,iglob) + A13 * rmemory_coupling_ac_el_displ(3,i,j,k,iface,1) &
+ A14 * rmemory_coupling_ac_el_displ(3,i,j,k,iface,2)
@@ -2299,7 +2299,7 @@
+ (displ(1,iglob) + deltat * veloc(1,iglob)) * coef1_1 + (displ(1,iglob)) * coef2_1
rmemory_coupling_ac_el_displ(1,i,j,k,iface,2) = 0.d0
- displ_x = A6 * displ(1,iglob) + A7 * rmemory_coupling_ac_el_displ(1,i,j,k,iface,1) + &
+ displ_x = A6 * displ(1,iglob) + A7 * rmemory_coupling_ac_el_displ(1,i,j,k,iface,1) &
+ A8 * rmemory_coupling_ac_el_displ(1,i,j,k,iface,2)
! displ_y
@@ -2323,7 +2323,7 @@
+ (displ(2,iglob) + deltat * veloc(2,iglob)) * coef1_1 + (displ(2,iglob)) * coef2_1
rmemory_coupling_ac_el_displ(2,i,j,k,iface,2) = 0.d0
- displ_y = A9 * displ(2,iglob) + A10 * rmemory_coupling_ac_el_displ(2,i,j,k,iface,1) + &
+ displ_y = A9 * displ(2,iglob) + A10 * rmemory_coupling_ac_el_displ(2,i,j,k,iface,1) &
+ A11 * rmemory_coupling_ac_el_displ(2,i,j,k,iface,2)
! displ_z
@@ -2334,7 +2334,7 @@
rmemory_coupling_ac_el_displ(3,i,j,k,iface,1) = 0.d0
rmemory_coupling_ac_el_displ(3,i,j,k,iface,2) = 0.d0
- displ_z = A12 * displ(3,iglob) + A13 * rmemory_coupling_ac_el_displ(3,i,j,k,iface,1) + &
+ displ_z = A12 * displ(3,iglob) + A13 * rmemory_coupling_ac_el_displ(3,i,j,k,iface,1) &
+ A14 * rmemory_coupling_ac_el_displ(3,i,j,k,iface,2)
@@ -2363,7 +2363,7 @@
+ (displ(1,iglob) + deltat * veloc(1,iglob)) * coef1_1 + (displ(1,iglob)) * coef2_1
rmemory_coupling_ac_el_displ(1,i,j,k,iface,2) = 0.d0
- displ_x = A6 * displ(1,iglob) + A7 * rmemory_coupling_ac_el_displ(1,i,j,k,iface,1) + &
+ displ_x = A6 * displ(1,iglob) + A7 * rmemory_coupling_ac_el_displ(1,i,j,k,iface,1) &
+ A8 * rmemory_coupling_ac_el_displ(1,i,j,k,iface,2)
! displ_y
@@ -2386,7 +2386,7 @@
+ (displ(2,iglob) + deltat * veloc(2,iglob)) * coef1_1 + (displ(2,iglob)) * coef2_1
rmemory_coupling_ac_el_displ(2,i,j,k,iface,2) = 0.d0
- displ_y = A9 * displ(2,iglob) + A10 * rmemory_coupling_ac_el_displ(2,i,j,k,iface,1) + &
+ displ_y = A9 * displ(2,iglob) + A10 * rmemory_coupling_ac_el_displ(2,i,j,k,iface,1) &
+ A11 * rmemory_coupling_ac_el_displ(2,i,j,k,iface,2)
! displ_z
@@ -2417,7 +2417,7 @@
+ (displ(3,iglob) + deltat * veloc(3,iglob)) * it*deltat * coef1_2 &
+ (displ(3,iglob)) * it*deltat * coef2_2
- displ_z = A12 * displ(3,iglob) + A13 * rmemory_coupling_ac_el_displ(3,i,j,k,iface,1) + &
+ displ_z = A12 * displ(3,iglob) + A13 * rmemory_coupling_ac_el_displ(3,i,j,k,iface,1) &
+ A14 * rmemory_coupling_ac_el_displ(3,i,j,k,iface,2)
@@ -2448,7 +2448,7 @@
+ (displ(1,iglob) + deltat * veloc(1,iglob)) * coef1_1 + (displ(1,iglob)) * coef2_1
rmemory_coupling_ac_el_displ(1,i,j,k,iface,2) = 0.d0
- displ_x = A6 * displ(1,iglob) + A7 * rmemory_coupling_ac_el_displ(1,i,j,k,iface,1) + &
+ displ_x = A6 * displ(1,iglob) + A7 * rmemory_coupling_ac_el_displ(1,i,j,k,iface,1) &
+ A8 * rmemory_coupling_ac_el_displ(1,i,j,k,iface,2)
! displ_y
@@ -2480,7 +2480,7 @@
+ (displ(2,iglob) + deltat * veloc(2,iglob)) * it*deltat * coef1_2 &
+ (displ(2,iglob)) * it*deltat * coef2_2
- displ_y = A9 * displ(2,iglob) + A10 * rmemory_coupling_ac_el_displ(2,i,j,k,iface,1) + &
+ displ_y = A9 * displ(2,iglob) + A10 * rmemory_coupling_ac_el_displ(2,i,j,k,iface,1) &
+ A11 * rmemory_coupling_ac_el_displ(2,i,j,k,iface,2)
! displ_z
@@ -2504,7 +2504,7 @@
+ (displ(3,iglob) + deltat * veloc(3,iglob)) * coef1_1 + (displ(3,iglob)) * coef2_1
rmemory_coupling_ac_el_displ(3,i,j,k,iface,2) = 0.d0
- displ_z = A12 * displ(3,iglob) + A13 * rmemory_coupling_ac_el_displ(3,i,j,k,iface,1) + &
+ displ_z = A12 * displ(3,iglob) + A13 * rmemory_coupling_ac_el_displ(3,i,j,k,iface,1) &
+ A14 * rmemory_coupling_ac_el_displ(3,i,j,k,iface,2)
@@ -2541,7 +2541,7 @@
rmemory_coupling_ac_el_displ(1,i,j,k,iface,2) = coef0_2 * rmemory_coupling_ac_el_displ(1,i,j,k,iface,2) &
+ (displ(1,iglob) + deltat * veloc(1,iglob)) * coef1_2 + (displ(1,iglob)) * coef2_2
- displ_x = A6 * displ(1,iglob) + A7 * rmemory_coupling_ac_el_displ(1,i,j,k,iface,1) + &
+ displ_x = A6 * displ(1,iglob) + A7 * rmemory_coupling_ac_el_displ(1,i,j,k,iface,1) &
+ A8 * rmemory_coupling_ac_el_displ(1,i,j,k,iface,2)
! displ_y
@@ -2564,7 +2564,7 @@
+ (displ(2,iglob) + deltat * veloc(2,iglob)) * coef1_1 + (displ(2,iglob)) * coef2_1
rmemory_coupling_ac_el_displ(2,i,j,k,iface,2) = 0.d0
- displ_y = A9 * displ(2,iglob) + A10 * rmemory_coupling_ac_el_displ(2,i,j,k,iface,1) + &
+ displ_y = A9 * displ(2,iglob) + A10 * rmemory_coupling_ac_el_displ(2,i,j,k,iface,1) &
+ A11 * rmemory_coupling_ac_el_displ(2,i,j,k,iface,2)
! displ_z
@@ -2587,7 +2587,7 @@
+ (displ(3,iglob) + deltat * veloc(3,iglob)) * coef1_1 + (displ(3,iglob)) * coef2_1
rmemory_coupling_ac_el_displ(3,i,j,k,iface,2) = 0.d0
- displ_z = A12 * displ(3,iglob) + A13 * rmemory_coupling_ac_el_displ(3,i,j,k,iface,1) + &
+ displ_z = A12 * displ(3,iglob) + A13 * rmemory_coupling_ac_el_displ(3,i,j,k,iface,1) &
+ A14 * rmemory_coupling_ac_el_displ(3,i,j,k,iface,2)
@@ -2623,7 +2623,7 @@
rmemory_coupling_ac_el_displ(1,i,j,k,iface,2) = coef0_2 * rmemory_coupling_ac_el_displ(1,i,j,k,iface,2) &
+ (displ(1,iglob) + deltat * veloc(1,iglob)) * coef1_2 + (displ(1,iglob)) * coef2_2
- displ_x = A6 * displ(1,iglob) + A7 * rmemory_coupling_ac_el_displ(1,i,j,k,iface,1) + &
+ displ_x = A6 * displ(1,iglob) + A7 * rmemory_coupling_ac_el_displ(1,i,j,k,iface,1) &
+ A8 * rmemory_coupling_ac_el_displ(1,i,j,k,iface,2)
! displ_y
@@ -2655,7 +2655,7 @@
+ (displ(2,iglob) + deltat * veloc(2,iglob)) * it*deltat * coef1_2 &
+ (displ(2,iglob)) * it*deltat * coef2_2
- displ_y = A9 * displ(2,iglob) + A10 * rmemory_coupling_ac_el_displ(2,i,j,k,iface,1) + &
+ displ_y = A9 * displ(2,iglob) + A10 * rmemory_coupling_ac_el_displ(2,i,j,k,iface,1) &
+ A11 * rmemory_coupling_ac_el_displ(2,i,j,k,iface,2)
! displ_z
@@ -2686,7 +2686,7 @@
+ (displ(3,iglob) + deltat * veloc(3,iglob)) * it*deltat * coef1_2 &
+ (displ(3,iglob)) * it*deltat * coef2_2
- displ_z = A12 * displ(3,iglob) + A13 * rmemory_coupling_ac_el_displ(3,i,j,k,iface,1) + &
+ displ_z = A12 * displ(3,iglob) + A13 * rmemory_coupling_ac_el_displ(3,i,j,k,iface,1) &
+ A14 * rmemory_coupling_ac_el_displ(3,i,j,k,iface,2)
else
stop 'wrong PML flag in PML memory variable calculation routine'
More information about the CIG-COMMITS
mailing list