[cig-commits] r22597 - in seismo/3D/SPECFEM3D_GLOBE/trunk/src: meshfem3D specfem3D
dkomati1 at geodynamics.org
dkomati1 at geodynamics.org
Sat Jul 13 17:39:44 PDT 2013
Author: dkomati1
Date: 2013-07-13 17:39:43 -0700 (Sat, 13 Jul 2013)
New Revision: 22597
Modified:
seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/create_mass_matrices.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/create_regions_mesh.F90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/meshfem3D.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/save_arrays_solver.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_coupling.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_element.F90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_forces_crust_mantle_Dev.F90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_forces_crust_mantle_noDev.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_forces_inner_core_Dev.F90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_forces_inner_core_noDev.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_kernels.F90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/initialize_simulation.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/part1_classical.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/part1_undo_att.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/part2_classical.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/part2_undo_att.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/part3_kernel_computation.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/prepare_timerun.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/read_arrays_solver.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/read_mesh_databases.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/specfem3D.F90
Log:
removed "if(COMPUTE_AND_STORE_STRAIN) then" test from inside the "if(ATTENUATION) then" statements because in the case of attenuation, COMPUTE_AND_STORE_STRAIN is always true.
Also removed useless white spaces.
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/create_mass_matrices.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/create_mass_matrices.f90 2013-07-14 00:09:18 UTC (rev 22596)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/create_mass_matrices.f90 2013-07-14 00:39:43 UTC (rev 22597)
@@ -41,8 +41,8 @@
rho_vp,rho_vs,nspec_stacey, &
jacobian2D_xmin,jacobian2D_xmax,jacobian2D_ymin,jacobian2D_ymax, &
jacobian2D_bottom,jacobian2D_top,&
- SIMULATION_TYPE,EXACT_MASS_MATRIX_FOR_ROTATION,USE_LDDRK,&
- nglob_xy_backward,b_rmassx,b_rmassy)
+ SIMULATION_TYPE,EXACT_MASS_MATRIX_FOR_ROTATION,USE_LDDRK,&
+ nglob_xy_backward,b_rmassx,b_rmassy)
! creates rmassx, rmassy, rmassz and rmass_ocean_load
@@ -50,7 +50,7 @@
implicit none
- integer :: myrank,nspec,SIMULATION_TYPE
+ integer :: myrank,nspec,SIMULATION_TYPE
integer :: idoubling(nspec)
integer :: ibool(NGLLX,NGLLY,NGLLZ,nspec)
integer :: nspec_actually
@@ -67,12 +67,12 @@
! add C delta/2 contribution to the mass matrices on the Stacey edges
real(kind=CUSTOM_REAL), dimension(nglob_xy) :: rmassx,rmassy
real(kind=CUSTOM_REAL), dimension(nglob) :: rmassz
- real(kind=CUSTOM_REAL) :: two_omega_earth,scale_t_inv
+ real(kind=CUSTOM_REAL) :: two_omega_earth,scale_t_inv
- ! mass matrices for backward simulation when SIMULATION_TYPE =3 and ROTATION is .true.
- integer :: nglob_xy_backward
- logical :: EXACT_MASS_MATRIX_FOR_ROTATION,USE_LDDRK
- real(kind=CUSTOM_REAL), dimension(nglob_xy_backward) :: b_rmassx,b_rmassy
+ ! mass matrices for backward simulation when SIMULATION_TYPE =3 and ROTATION is .true.
+ integer :: nglob_xy_backward
+ logical :: EXACT_MASS_MATRIX_FOR_ROTATION,USE_LDDRK
+ real(kind=CUSTOM_REAL), dimension(nglob_xy_backward) :: b_rmassx,b_rmassy
real(kind=CUSTOM_REAL) :: b_two_omega_earth
real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,nspec) :: rhostore,kappavstore
@@ -149,13 +149,13 @@
rmassy(:) = 0._CUSTOM_REAL
rmassz(:) = 0._CUSTOM_REAL
- b_rmassx(:) = 0._CUSTOM_REAL
- b_rmassy(:) = 0._CUSTOM_REAL
+ b_rmassx(:) = 0._CUSTOM_REAL
+ b_rmassy(:) = 0._CUSTOM_REAL
! use the non-dimensional time step to make the mass matrix correction
deltat = DT*dsqrt(PI*GRAV*RHOAV)
- if(ROTATION .and. (.not. USE_LDDRK) .and. EXACT_MASS_MATRIX_FOR_ROTATION)then
+ if(ROTATION .and. (.not. USE_LDDRK) .and. EXACT_MASS_MATRIX_FOR_ROTATION)then
! distinguish between single and double precision for reals
scale_t_inv = dsqrt(PI*GRAV*RHOAV)
two_omega_earth = 0._CUSTOM_REAL
@@ -175,7 +175,7 @@
b_two_omega_earth = - 2.d0 * TWO_PI / (HOURS_PER_DAY * 3600.d0 * scale_t_inv) * deltat
endif
endif
- endif
+ endif
! distinguish between single and double precision for reals
if(CUSTOM_REAL == SIZE_REAL) then
@@ -261,20 +261,20 @@
rmassz(iglob) = rmassz(iglob) + rhostore(i,j,k,ispec) * jacobianl * weight
endif
- if(ROTATION .and. (.not. USE_LDDRK) .and. EXACT_MASS_MATRIX_FOR_ROTATION)then
+ if(ROTATION .and. (.not. USE_LDDRK) .and. EXACT_MASS_MATRIX_FOR_ROTATION)then
if(SIMULATION_TYPE == 3)then
if(CUSTOM_REAL == SIZE_REAL) then
b_rmassx(iglob) = rmassz(iglob) - b_two_omega_earth * 0.5_CUSTOM_REAL*sngl(dble(jacobianl) * weight)
b_rmassy(iglob) = rmassz(iglob) + b_two_omega_earth * 0.5_CUSTOM_REAL*sngl(dble(jacobianl) * weight)
else
- b_rmassx(iglob) = rmassz(iglob) - b_two_omega_earth * 0.5_CUSTOM_REAL * jacobianl * weight
+ b_rmassx(iglob) = rmassz(iglob) - b_two_omega_earth * 0.5_CUSTOM_REAL * jacobianl * weight
b_rmassy(iglob) = rmassz(iglob) + b_two_omega_earth * 0.5_CUSTOM_REAL * jacobianl * weight
endif
if(CUSTOM_REAL == SIZE_REAL) then
rmassx(iglob) = rmassz(iglob) - two_omega_earth * 0.5_CUSTOM_REAL*sngl(dble(jacobianl) * weight)
rmassy(iglob) = rmassz(iglob) + two_omega_earth * 0.5_CUSTOM_REAL*sngl(dble(jacobianl) * weight)
else
- rmassx(iglob) = rmassz(iglob) - two_omega_earth * 0.5_CUSTOM_REAL * jacobianl * weight
+ rmassx(iglob) = rmassz(iglob) - two_omega_earth * 0.5_CUSTOM_REAL * jacobianl * weight
rmassy(iglob) = rmassz(iglob) + two_omega_earth * 0.5_CUSTOM_REAL * jacobianl * weight
endif
else
@@ -282,7 +282,7 @@
rmassx(iglob) = rmassz(iglob) - two_omega_earth * 0.5_CUSTOM_REAL*sngl(dble(jacobianl) * weight)
rmassy(iglob) = rmassz(iglob) + two_omega_earth * 0.5_CUSTOM_REAL*sngl(dble(jacobianl) * weight)
else
- rmassx(iglob) = rmassz(iglob) - two_omega_earth * 0.5_CUSTOM_REAL * jacobianl * weight
+ rmassx(iglob) = rmassz(iglob) - two_omega_earth * 0.5_CUSTOM_REAL * jacobianl * weight
rmassy(iglob) = rmassz(iglob) + two_omega_earth * 0.5_CUSTOM_REAL * jacobianl * weight
endif
endif
@@ -395,7 +395,7 @@
endif
! add C*deltat/2 contribution to the mass matrices on the Stacey edges
- if(NCHUNKS /= 6 .and. ABSORBING_CONDITIONS .and. (.not. USE_LDDRK)) then
+ if(NCHUNKS /= 6 .and. ABSORBING_CONDITIONS .and. (.not. USE_LDDRK)) then
! read arrays for Stacey conditions
open(unit=27,file=prname(1:len_trim(prname))//'stacey.bin', &
@@ -411,8 +411,8 @@
select case(iregion_code)
case(IREGION_CRUST_MANTLE)
-
- if(.not. ROTATION)then
+
+ if(.not. ROTATION)then
rmassx(:) = rmassz(:)
rmassy(:) = rmassz(:)
endif
@@ -450,17 +450,17 @@
rmassx(iglob) = rmassx(iglob) + sngl(tx*weight)
rmassy(iglob) = rmassy(iglob) + sngl(ty*weight)
rmassz(iglob) = rmassz(iglob) + sngl(tz*weight)
- if(SIMULATION_TYPE == 3 .and. ROTATION .and. EXACT_MASS_MATRIX_FOR_ROTATION)then
+ if(SIMULATION_TYPE == 3 .and. ROTATION .and. EXACT_MASS_MATRIX_FOR_ROTATION)then
b_rmassx(iglob) = b_rmassx(iglob) + sngl(tx*weight)
- b_rmassy(iglob) = b_rmassy(iglob) + sngl(ty*weight)
+ b_rmassy(iglob) = b_rmassy(iglob) + sngl(ty*weight)
endif
else
rmassx(iglob) = rmassx(iglob) + tx*weight
rmassy(iglob) = rmassy(iglob) + ty*weight
rmassz(iglob) = rmassz(iglob) + tz*weight
- if(SIMULATION_TYPE == 3 .and. ROTATION.and. EXACT_MASS_MATRIX_FOR_ROTATION)then
+ if(SIMULATION_TYPE == 3 .and. ROTATION.and. EXACT_MASS_MATRIX_FOR_ROTATION)then
b_rmassx(iglob) = b_rmassx(iglob) + tx*weight
- b_rmassy(iglob) = b_rmassy(iglob) + ty*weight
+ b_rmassy(iglob) = b_rmassy(iglob) + ty*weight
endif
endif
enddo
@@ -502,17 +502,17 @@
rmassx(iglob) = rmassx(iglob) + sngl(tx*weight)
rmassy(iglob) = rmassy(iglob) + sngl(ty*weight)
rmassz(iglob) = rmassz(iglob) + sngl(tz*weight)
- if(SIMULATION_TYPE == 3 .and. ROTATION)then
+ if(SIMULATION_TYPE == 3 .and. ROTATION)then
b_rmassx(iglob) = b_rmassx(iglob) + sngl(tx*weight)
- b_rmassy(iglob) = b_rmassy(iglob) + sngl(ty*weight)
+ b_rmassy(iglob) = b_rmassy(iglob) + sngl(ty*weight)
endif
else
rmassx(iglob) = rmassx(iglob) + tx*weight
rmassy(iglob) = rmassy(iglob) + ty*weight
rmassz(iglob) = rmassz(iglob) + tz*weight
- if(SIMULATION_TYPE == 3 .and. ROTATION)then
+ if(SIMULATION_TYPE == 3 .and. ROTATION)then
b_rmassx(iglob) = b_rmassx(iglob) + tx*weight
- b_rmassy(iglob) = b_rmassy(iglob) + ty*weight
+ b_rmassy(iglob) = b_rmassy(iglob) + ty*weight
endif
endif
enddo
@@ -551,17 +551,17 @@
rmassx(iglob) = rmassx(iglob) + sngl(tx*weight)
rmassy(iglob) = rmassy(iglob) + sngl(ty*weight)
rmassz(iglob) = rmassz(iglob) + sngl(tz*weight)
- if(SIMULATION_TYPE == 3 .and. ROTATION .and. EXACT_MASS_MATRIX_FOR_ROTATION)then
+ if(SIMULATION_TYPE == 3 .and. ROTATION .and. EXACT_MASS_MATRIX_FOR_ROTATION)then
b_rmassx(iglob) = b_rmassx(iglob) + sngl(tx*weight)
- b_rmassy(iglob) = b_rmassy(iglob) + sngl(ty*weight)
+ b_rmassy(iglob) = b_rmassy(iglob) + sngl(ty*weight)
endif
else
rmassx(iglob) = rmassx(iglob) + tx*weight
rmassy(iglob) = rmassy(iglob) + ty*weight
rmassz(iglob) = rmassz(iglob) + tz*weight
- if(SIMULATION_TYPE == 3 .and. ROTATION.and. EXACT_MASS_MATRIX_FOR_ROTATION)then
+ if(SIMULATION_TYPE == 3 .and. ROTATION.and. EXACT_MASS_MATRIX_FOR_ROTATION)then
b_rmassx(iglob) = b_rmassx(iglob) + tx*weight
- b_rmassy(iglob) = b_rmassy(iglob) + ty*weight
+ b_rmassy(iglob) = b_rmassy(iglob) + ty*weight
endif
endif
enddo
@@ -598,17 +598,17 @@
rmassx(iglob) = rmassx(iglob) + sngl(tx*weight)
rmassy(iglob) = rmassy(iglob) + sngl(ty*weight)
rmassz(iglob) = rmassz(iglob) + sngl(tz*weight)
- if(SIMULATION_TYPE == 3 .and. ROTATION.and. EXACT_MASS_MATRIX_FOR_ROTATION)then
+ if(SIMULATION_TYPE == 3 .and. ROTATION.and. EXACT_MASS_MATRIX_FOR_ROTATION)then
b_rmassx(iglob) = b_rmassx(iglob) + sngl(tx*weight)
- b_rmassy(iglob) = b_rmassy(iglob) + sngl(ty*weight)
+ b_rmassy(iglob) = b_rmassy(iglob) + sngl(ty*weight)
endif
else
rmassx(iglob) = rmassx(iglob) + tx*weight
rmassy(iglob) = rmassy(iglob) + ty*weight
rmassz(iglob) = rmassz(iglob) + tz*weight
- if(SIMULATION_TYPE == 3 .and. ROTATION.and. EXACT_MASS_MATRIX_FOR_ROTATION)then
+ if(SIMULATION_TYPE == 3 .and. ROTATION.and. EXACT_MASS_MATRIX_FOR_ROTATION)then
b_rmassx(iglob) = b_rmassx(iglob) + tx*weight
- b_rmassy(iglob) = b_rmassy(iglob) + ty*weight
+ b_rmassy(iglob) = b_rmassy(iglob) + ty*weight
endif
endif
enddo
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/create_regions_mesh.F90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/create_regions_mesh.F90 2013-07-14 00:09:18 UTC (rev 22596)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/create_regions_mesh.F90 2013-07-14 00:39:43 UTC (rev 22597)
@@ -43,7 +43,7 @@
ner,ratio_sampling_array,doubling_index,r_bottom,r_top, &
this_region_has_a_doubling,ipass,ratio_divide_central_cube, &
CUT_SUPERBRICK_XI,CUT_SUPERBRICK_ETA,offset_proc_xi,offset_proc_eta,USE_FULL_TISO_MANTLE, &
- ATT1,ATT2,ATT3,SIMULATION_TYPE,USE_LDDRK,EXACT_MASS_MATRIX_FOR_ROTATION)
+ ATT1,ATT2,ATT3,SIMULATION_TYPE,USE_LDDRK,EXACT_MASS_MATRIX_FOR_ROTATION)
! creates the different regions of the mesh
@@ -163,10 +163,10 @@
real(kind=CUSTOM_REAL), dimension(:), allocatable :: rmassx,rmassy,rmassz
integer :: nglob_xy
- ! mass matrices for backward simulation when SIMULATION_TYPE =3 and ROTATION is .true.
+ ! mass matrices for backward simulation when SIMULATION_TYPE =3 and ROTATION is .true.
integer :: SIMULATION_TYPE,nglob_xy_backward
- logical :: EXACT_MASS_MATRIX_FOR_ROTATION,USE_LDDRK
- real(kind=CUSTOM_REAL), dimension(:), allocatable :: b_rmassx,b_rmassy
+ logical :: EXACT_MASS_MATRIX_FOR_ROTATION,USE_LDDRK
+ real(kind=CUSTOM_REAL), dimension(:), allocatable :: b_rmassx,b_rmassy
! mass matrix and bathymetry for ocean load
integer nglob_oceans
@@ -982,10 +982,10 @@
!
! if absorbing_conditions are not set or if NCHUNKS=6, only one mass matrix is needed
! for the sake of performance, only "rmassz" array will be filled and "rmassx" & "rmassy" will be obsolete
- nglob_xy = 1
- nglob_xy_backward = 1
+ nglob_xy = 1
+ nglob_xy_backward = 1
- if(NCHUNKS /= 6 .and. ABSORBING_CONDITIONS .and. (.not. USE_LDDRK)) then
+ if(NCHUNKS /= 6 .and. ABSORBING_CONDITIONS .and. (.not. USE_LDDRK)) then
select case(iregion_code)
case( IREGION_CRUST_MANTLE )
nglob_xy = nglob
@@ -996,7 +996,7 @@
nglob_xy = 1
endif
- if(SIMULATION_TYPE /=3 .and. (.not. USE_LDDRK))then
+ if(SIMULATION_TYPE /=3 .and. (.not. USE_LDDRK))then
if(ROTATION .and. EXACT_MASS_MATRIX_FOR_ROTATION)then
select case(iregion_code)
case( IREGION_CRUST_MANTLE,IREGION_INNER_CORE )
@@ -1007,7 +1007,7 @@
endif
endif
- if(SIMULATION_TYPE ==3 .and. (.not. USE_LDDRK) )then
+ if(SIMULATION_TYPE ==3 .and. (.not. USE_LDDRK) )then
if(ROTATION .and. EXACT_MASS_MATRIX_FOR_ROTATION)then
select case(iregion_code)
case( IREGION_CRUST_MANTLE,IREGION_INNER_CORE )
@@ -1027,7 +1027,7 @@
allocate(rmassz(nglob),stat=ier)
if(ier /= 0) stop 'error in allocate 21'
- allocate(b_rmassx(nglob_xy_backward),stat=ier)
+ allocate(b_rmassx(nglob_xy_backward),stat=ier)
if(ier /= 0) stop 'error in allocate b_21'
allocate(b_rmassy(nglob_xy_backward),stat=ier)
if(ier /= 0) stop 'error in allocate b_21'
@@ -1059,8 +1059,8 @@
rho_vp,rho_vs,nspec_stacey, &
jacobian2D_xmin,jacobian2D_xmax,jacobian2D_ymin,jacobian2D_ymax, &
jacobian2D_bottom,jacobian2D_top,&
- SIMULATION_TYPE,EXACT_MASS_MATRIX_FOR_ROTATION,USE_LDDRK, &
- nglob_xy_backward,b_rmassx,b_rmassy)
+ SIMULATION_TYPE,EXACT_MASS_MATRIX_FOR_ROTATION,USE_LDDRK, &
+ nglob_xy_backward,b_rmassx,b_rmassy)
! save the binary files
#ifdef USE_SERIAL_CASCADE_FOR_IOs
@@ -1090,8 +1090,8 @@
tau_s,tau_e_store,Qmu_store,T_c_source,ATTENUATION, &
ATT1,ATT2,ATT3,size(tau_e_store,5),&
NCHUNKS,ABSORBING_CONDITIONS,SAVE_MESH_FILES,ispec_is_tiso,myrank,&
- SIMULATION_TYPE,ROTATION,EXACT_MASS_MATRIX_FOR_ROTATION,USE_LDDRK,&
- nglob_xy_backward,b_rmassx,b_rmassy)
+ SIMULATION_TYPE,ROTATION,EXACT_MASS_MATRIX_FOR_ROTATION,USE_LDDRK,&
+ nglob_xy_backward,b_rmassx,b_rmassy)
#ifdef USE_SERIAL_CASCADE_FOR_IOs
you_can_start_doing_IOs = .true.
if (myrank < NPROC_XI*NPROC_ETA-1) call MPI_SEND(you_can_start_doing_IOs, 1, MPI_LOGICAL, myrank+1, itag, MPI_COMM_WORLD, ier)
@@ -1100,8 +1100,8 @@
deallocate(rmassx,stat=ier); if(ier /= 0) stop 'error in deallocate rmassx'
deallocate(rmassy,stat=ier); if(ier /= 0) stop 'error in deallocate rmassy'
deallocate(rmassz,stat=ier); if(ier /= 0) stop 'error in deallocate rmassz'
- deallocate(b_rmassx,stat=ier); if(ier /= 0) stop 'error in deallocate b_rmassx'
- deallocate(b_rmassy,stat=ier); if(ier /= 0) stop 'error in deallocate b_rmassy'
+ deallocate(b_rmassx,stat=ier); if(ier /= 0) stop 'error in deallocate b_rmassx'
+ deallocate(b_rmassy,stat=ier); if(ier /= 0) stop 'error in deallocate b_rmassy'
deallocate(rmass_ocean_load,stat=ier); if(ier /= 0) stop 'error in deallocate rmass_ocean_load'
! boundary mesh
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/meshfem3D.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/meshfem3D.f90 2013-07-14 00:09:18 UTC (rev 22596)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/meshfem3D.f90 2013-07-14 00:39:43 UTC (rev 22597)
@@ -712,7 +712,7 @@
this_region_has_a_doubling,ipass,ratio_divide_central_cube, &
CUT_SUPERBRICK_XI,CUT_SUPERBRICK_ETA, &
mod(iproc_xi_slice(myrank),2),mod(iproc_eta_slice(myrank),2),USE_FULL_TISO_MANTLE, &
- ATT1,ATT2,ATT3,SIMULATION_TYPE,USE_LDDRK,EXACT_MASS_MATRIX_FOR_ROTATION)
+ ATT1,ATT2,ATT3,SIMULATION_TYPE,USE_LDDRK,EXACT_MASS_MATRIX_FOR_ROTATION)
enddo
! checks number of anisotropic elements found in the mantle
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/save_arrays_solver.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/save_arrays_solver.f90 2013-07-14 00:09:18 UTC (rev 22596)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/save_arrays_solver.f90 2013-07-14 00:39:43 UTC (rev 22597)
@@ -46,19 +46,19 @@
tau_s,tau_e_store,Qmu_store,T_c_source,ATTENUATION,ATT1,ATT2,ATT3,vnspec, &
NCHUNKS,ABSORBING_CONDITIONS,SAVE_MESH_FILES,ispec_is_tiso,myrank,&
SIMULATION_TYPE,ROTATION,EXACT_MASS_MATRIX_FOR_ROTATION,USE_LDDRK,&
- nglob_xy_backward,b_rmassx,b_rmassy)
+ nglob_xy_backward,b_rmassx,b_rmassy)
implicit none
include "constants.h"
- integer SIMULATION_TYPE
- logical ATTENUATION,ROTATION,EXACT_MASS_MATRIX_FOR_ROTATION,USE_LDDRK
+ integer SIMULATION_TYPE
+ logical ATTENUATION,ROTATION,EXACT_MASS_MATRIX_FOR_ROTATION,USE_LDDRK
character(len=150) prname
integer iregion_code,NCHUNKS
- integer nspec,nglob_xy,nglob,nspec_stacey,myrank,nglob_xy_backward
+ integer nspec,nglob_xy,nglob,nspec_stacey,myrank,nglob_xy_backward
integer npointot_oceans
! Stacey
@@ -100,7 +100,7 @@
real(kind=CUSTOM_REAL), dimension(nglob_xy) :: rmassx,rmassy
real(kind=CUSTOM_REAL), dimension(nglob) :: rmassz
-! mass matrices for backward simulation when SIMULATION_TYPE =3 and ROTATION is .true.
+! mass matrices for backward simulation when SIMULATION_TYPE =3 and ROTATION is .true.
real(kind=CUSTOM_REAL), dimension(nglob_xy_backward) :: b_rmassx,b_rmassy
! additional ocean load mass matrix
@@ -264,7 +264,7 @@
! if absorbing_conditions are not set or if NCHUNKS=6, only one mass matrix is needed
! for the sake of performance, only "rmassz" array will be filled and "rmassx" & "rmassy" will be obsolete
- if(.not. USE_LDDRK)then
+ if(.not. USE_LDDRK)then
if((NCHUNKS /= 6 .and. ABSORBING_CONDITIONS .and. iregion_code == IREGION_CRUST_MANTLE) .or. &
(ROTATION .and. EXACT_MASS_MATRIX_FOR_ROTATION .and. iregion_code == IREGION_CRUST_MANTLE) .or. &
(ROTATION .and. EXACT_MASS_MATRIX_FOR_ROTATION .and. iregion_code == IREGION_INNER_CORE)) then
@@ -275,12 +275,12 @@
write(27) rmassz
- if(.not. USE_LDDRK)then
+ if(.not. USE_LDDRK)then
if(EXACT_MASS_MATRIX_FOR_ROTATION)then
if((SIMULATION_TYPE == 3 .and. (ROTATION .and. iregion_code == IREGION_CRUST_MANTLE)) .or. &
(SIMULATION_TYPE == 3 .and. (ROTATION .and. iregion_code == IREGION_INNER_CORE)))then
write(27) b_rmassx
- write(27) b_rmassy
+ write(27) b_rmassy
endif
endif
endif
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_coupling.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_coupling.f90 2013-07-14 00:09:18 UTC (rev 22596)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_coupling.f90 2013-07-14 00:39:43 UTC (rev 22597)
@@ -415,7 +415,7 @@
updated_dof_ocean_load(:) = .false.
if((NCHUNKS_VAL /= 6 .and. ABSORBING_CONDITIONS .or. &
- (ROTATION_VAL .and. EXACT_MASS_MATRIX_FOR_ROTATION)) .and. (.not. USE_LDDRK)) then
+ (ROTATION_VAL .and. EXACT_MASS_MATRIX_FOR_ROTATION)) .and. (.not. USE_LDDRK)) then
! for surface elements exactly at the top of the crust (ocean bottom)
do ispec2D = 1,nspec_top !NSPEC2D_TOP(IREGION_CRUST_MANTLE)
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_element.F90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_element.F90 2013-07-14 00:09:18 UTC (rev 22596)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_element.F90 2013-07-14 00:39:43 UTC (rev 22597)
@@ -891,7 +891,7 @@
R_memory, &
one_minus_sum_beta,vnspec, &
tempx1,tempx2,tempx3,tempy1,tempy2,tempy3,tempz1,tempz2,tempz3, &
- dummyx_loc,dummyy_loc,dummyz_loc,epsilondev_loc,eps_trace_over_3_loc,rho_s_H,PARTIAL_PHYS_DISPERSION_ONLY)
+ dummyx_loc,dummyy_loc,dummyz_loc,epsilondev_loc,eps_trace_over_3_loc,rho_s_H,PARTIAL_PHYS_DISPERSION_ONLY)
! this routine is optimized for NGLLX = NGLLY = NGLLZ = 5 using the Deville et al. (2002) inlined matrix-matrix products
@@ -1694,7 +1694,7 @@
!
subroutine compute_element_strain_att_Dev(ispec,nglob,nspec,displ,veloc,deltat,ibool,hprime_xx,hprime_xxT,&
xix,xiy,xiz,etax,etay,etaz,gammax,gammay,gammaz,epsilondev_loc_nplus1,&
- eps_trace_over_3_loc_nplus1)
+ eps_trace_over_3_loc_nplus1)
implicit none
include "constants.h"
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_forces_crust_mantle_Dev.F90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_forces_crust_mantle_Dev.F90 2013-07-14 00:09:18 UTC (rev 22596)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_forces_crust_mantle_Dev.F90 2013-07-14 00:39:43 UTC (rev 22597)
@@ -52,10 +52,10 @@
c23store,c24store,c25store,c26store,c33store,c34store,c35store, &
c36store,c44store,c45store,c46store,c55store,c56store,c66store, &
ibool,ispec_is_tiso, &
- R_memory,one_minus_sum_beta,deltat,veloc_crust_mantle, &
+ R_memory,one_minus_sum_beta,deltat, &
alphaval,betaval,gammaval,factor_common,vnspec,PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev,eps_trace_over_3)
+ epsilondev,eps_trace_over_3)
! this routine is optimized for NGLLX = NGLLY = NGLLZ = 5 using the Deville et al. (2002) inlined matrix-matrix products
@@ -69,7 +69,7 @@
! displacement and acceleration
real(kind=CUSTOM_REAL) deltat
- real(kind=CUSTOM_REAL), dimension(NDIM,NGLOB_CRUST_MANTLE) :: displ_crust_mantle,accel_crust_mantle,veloc_crust_mantle
+ real(kind=CUSTOM_REAL), dimension(NDIM,NGLOB_CRUST_MANTLE) :: displ_crust_mantle,accel_crust_mantle
! arrays with mesh parameters per slice
integer, dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE) :: ibool
@@ -104,8 +104,8 @@
! to allow for optimization of cache access by compiler
real(kind=CUSTOM_REAL), dimension(5,N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ATTENUAT) :: R_memory
logical :: PARTIAL_PHYS_DISPERSION_ONLY
- real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ATTENUAT) :: epsilondev
- real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ATTENUAT) :: eps_trace_over_3
+ real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ATTENUAT) :: epsilondev
+ real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ATTENUAT) :: eps_trace_over_3
integer :: vnspec
@@ -161,10 +161,8 @@
real(kind=CUSTOM_REAL), dimension(NDIM,NGLLX,NGLLY,NGLLZ) :: sum_terms
real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc
- real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ) :: eps_trace_over_3_loc
- real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc_nplus1
- real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ) :: eps_trace_over_3_loc_nplus1
- real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc_nsub1
+ real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ) :: eps_trace_over_3_loc
+ real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc_nsub1
real(kind=CUSTOM_REAL) fac1,fac2,fac3
! for gravity
@@ -397,7 +395,7 @@
R_memory, &
one_minus_sum_beta,vnspec, &
tempx1,tempx2,tempx3,tempy1,tempy2,tempy3,tempz1,tempz2,tempz3, &
- dummyx_loc,dummyy_loc,dummyz_loc,epsilondev_loc,eps_trace_over_3_loc,rho_s_H,PARTIAL_PHYS_DISPERSION_ONLY)
+ dummyx_loc,dummyy_loc,dummyz_loc,epsilondev_loc,eps_trace_over_3_loc,rho_s_H,PARTIAL_PHYS_DISPERSION_ONLY)
else
if( .not. ispec_is_tiso(ispec) ) then
! isotropic element
@@ -411,7 +409,7 @@
R_memory, &
one_minus_sum_beta,vnspec, &
tempx1,tempx2,tempx3,tempy1,tempy2,tempy3,tempz1,tempz2,tempz3, &
- dummyx_loc,dummyy_loc,dummyz_loc,epsilondev_loc,eps_trace_over_3_loc,rho_s_H,PARTIAL_PHYS_DISPERSION_ONLY)
+ dummyx_loc,dummyy_loc,dummyz_loc,epsilondev_loc,eps_trace_over_3_loc,rho_s_H,PARTIAL_PHYS_DISPERSION_ONLY)
else
! transverse isotropic element
@@ -425,7 +423,7 @@
R_memory, &
one_minus_sum_beta,vnspec, &
tempx1,tempx2,tempx3,tempy1,tempy2,tempy3,tempz1,tempz2,tempz3, &
- dummyx_loc,dummyy_loc,dummyz_loc,epsilondev_loc,eps_trace_over_3_loc,rho_s_H,PARTIAL_PHYS_DISPERSION_ONLY)
+ dummyx_loc,dummyy_loc,dummyz_loc,epsilondev_loc,eps_trace_over_3_loc,rho_s_H,PARTIAL_PHYS_DISPERSION_ONLY)
endif ! .not. ispec_is_tiso
endif
@@ -544,43 +542,27 @@
! therefore Q_\alpha is not zero; for instance for V_p / V_s = sqrt(3)
! we get Q_\alpha = (9 / 4) * Q_\mu = 2.25 * Q_\mu
- if(ATTENUATION_VAL .and. ( PARTIAL_PHYS_DISPERSION_ONLY .eqv. .false. ) ) then
- if(COMPUTE_AND_STORE_STRAIN)then
+ if(ATTENUATION_VAL .and. .not. PARTIAL_PHYS_DISPERSION_ONLY) then
! updates R_memory
epsilondev_loc_nsub1(1,:,:,:) = epsilondev(1,:,:,:,ispec)
epsilondev_loc_nsub1(2,:,:,:) = epsilondev(2,:,:,:,ispec)
epsilondev_loc_nsub1(3,:,:,:) = epsilondev(3,:,:,:,ispec)
epsilondev_loc_nsub1(4,:,:,:) = epsilondev(4,:,:,:,ispec)
epsilondev_loc_nsub1(5,:,:,:) = epsilondev(5,:,:,:,ispec)
- ! updates R_memory
+
call compute_element_att_memory_cr(ispec,R_memory, &
vnspec,factor_common, &
alphaval,betaval,gammaval, &
c44store,muvstore, &
- epsilondev_loc,epsilondev_loc_nsub1,&
+ epsilondev_loc,epsilondev_loc_nsub1,&
istage,R_memory_lddrk,tau_sigma_CUSTOM_REAL,deltat,USE_LDDRK)
- else
- call compute_element_strain_att_Dev(ispec,NGLOB_CRUST_MANTLE,NSPEC_CRUST_MANTLE,displ_crust_mantle,veloc_crust_mantle,&
- deltat,ibool,hprime_xx,hprime_xxT,&
- xix,xiy,xiz,etax,etay,etaz,gammax,gammay,gammaz,epsilondev_loc_nplus1,&
- eps_trace_over_3_loc_nplus1)
- ! updates R_memory
- call compute_element_att_memory_cr(ispec,R_memory, &
- vnspec,factor_common, &
- alphaval,betaval,gammaval, &
- c44store,muvstore, &
- epsilondev_loc_nplus1,epsilondev_loc,&
- istage,R_memory_lddrk,tau_sigma_CUSTOM_REAL,deltat,USE_LDDRK)
- endif
- if(COMPUTE_AND_STORE_STRAIN) then
eps_trace_over_3(:,:,:,ispec) = eps_trace_over_3_loc(:,:,:)
epsilondev(1,:,:,:,ispec) = epsilondev_loc(1,:,:,:)
epsilondev(2,:,:,:,ispec) = epsilondev_loc(2,:,:,:)
epsilondev(3,:,:,:,ispec) = epsilondev_loc(3,:,:,:)
epsilondev(4,:,:,:,ispec) = epsilondev_loc(4,:,:,:)
- epsilondev(5,:,:,:,ispec) = epsilondev_loc(5,:,:,:)
- endif
+ epsilondev(5,:,:,:,ispec) = epsilondev_loc(5,:,:,:)
endif
! end ispec loop
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_forces_crust_mantle_noDev.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_forces_crust_mantle_noDev.f90 2013-07-14 00:09:18 UTC (rev 22596)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_forces_crust_mantle_noDev.f90 2013-07-14 00:39:43 UTC (rev 22597)
@@ -52,10 +52,10 @@
c23store,c24store,c25store,c26store,c33store,c34store,c35store, &
c36store,c44store,c45store,c46store,c55store,c56store,c66store, &
ibool,ispec_is_tiso, &
- R_memory,one_minus_sum_beta,deltat,veloc_crust_mantle, &
+ R_memory,one_minus_sum_beta,deltat, &
alphaval,betaval,gammaval,factor_common,vnspec,PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev,eps_trace_over_3)
+ epsilondev,eps_trace_over_3)
implicit none
@@ -69,7 +69,7 @@
logical, dimension(NSPEC_CRUST_MANTLE) :: ispec_is_tiso
! displacement and acceleration
- real(kind=CUSTOM_REAL), dimension(NDIM,NGLOB_CRUST_MANTLE) :: displ_crust_mantle,accel_crust_mantle,veloc_crust_mantle
+ real(kind=CUSTOM_REAL), dimension(NDIM,NGLOB_CRUST_MANTLE) :: displ_crust_mantle,accel_crust_mantle
! memory variables for attenuation
! memory variables R_ij are stored at the local rather than global level
@@ -85,8 +85,8 @@
real(kind=CUSTOM_REAL) R_xx_val,R_yy_val
real(kind=CUSTOM_REAL), dimension(5,N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ATTENUAT) :: R_memory
logical :: PARTIAL_PHYS_DISPERSION_ONLY
- real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ATTENUAT) :: epsilondev
- real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ATTENUAT) :: eps_trace_over_3
+ real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ATTENUAT) :: epsilondev
+ real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ATTENUAT) :: eps_trace_over_3
! [alpha,beta,gamma]val reduced to N_SLS and factor_common to N_SLS*NUM_NODES
real(kind=CUSTOM_REAL), dimension(N_SLS) :: alphaval,betaval,gammaval
@@ -94,8 +94,7 @@
real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ) :: factor_common_c44_muv
real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc
- real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc_nplus1
- real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc_nsub1
+ real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc_nsub1
! arrays with mesh parameters per slice
integer, dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE) :: ibool
@@ -129,7 +128,7 @@
c23store,c24store,c25store,c26store,c33store,c34store,c35store, &
c36store,c44store,c45store,c46store,c55store,c56store,c66store
- integer ispec,iglob,ispec_strain
+ integer ispec,iglob
integer i,j,k,l
real(kind=CUSTOM_REAL) templ
@@ -365,18 +364,12 @@
duzdyl_plus_duydzl = duzdyl + duydzl
! compute deviatoric strain
- if (COMPUTE_AND_STORE_STRAIN) then
- if(NSPEC_CRUST_MANTLE_STRAIN_ONLY == 1) then
- ispec_strain = 1
- else
- ispec_strain = ispec
- endif
-
!ZN beware, here the expression differs from the strain used in memory variable equation (6) in D. Komatitsch and J. Tromp 1999,
!ZN here Brian Savage uses the engineering strain which are epsilon = 1/2*(grad U + (grad U)^T),
!ZN where U is the displacement vector and grad the gradient operator, i.e. there is a 1/2 factor difference between the two.
!ZN Both expressions are fine, but we need to keep in mind that if we put the 1/2 factor here there we need to remove it
!ZN from the expression in which we use the strain later in the code.
+ if (COMPUTE_AND_STORE_STRAIN) then
templ = ONE_THIRD * (duxdxl + duydyl + duzdzl)
epsilondev_loc(1,i,j,k) = duxdxl - templ
epsilondev_loc(2,i,j,k) = duydyl - templ
@@ -911,17 +904,11 @@
if(ATTENUATION_VAL .and. .not. PARTIAL_PHYS_DISPERSION_ONLY) then
- if(COMPUTE_AND_STORE_STRAIN)then
epsilondev_loc_nsub1(1,:,:,:) = epsilondev(1,:,:,:,ispec)
epsilondev_loc_nsub1(2,:,:,:) = epsilondev(2,:,:,:,ispec)
epsilondev_loc_nsub1(3,:,:,:) = epsilondev(3,:,:,:,ispec)
epsilondev_loc_nsub1(4,:,:,:) = epsilondev(4,:,:,:,ispec)
epsilondev_loc_nsub1(5,:,:,:) = epsilondev(5,:,:,:,ispec)
- else
- call compute_element_strain_att_noDev(ispec,NGLOB_CRUST_MANTLE,NSPEC_CRUST_MANTLE,displ_crust_mantle,veloc_crust_mantle,&
- deltat,hprime_xx,hprime_yy,hprime_zz,ibool,&
- xix,xiy,xiz,etax,etay,etaz,gammax,gammay,gammaz,epsilondev_loc_nplus1)
- endif
! use Runge-Kutta scheme to march in time
do i_SLS = 1,N_SLS
@@ -964,27 +951,19 @@
R_memory(i_memory,i_SLS,:,:,:,ispec) = R_memory(i_memory,i_SLS,:,:,:,ispec) + &
BETA_LDDRK(istage) * R_memory_lddrk(i_memory,i_SLS,:,:,:,ispec)
else
- if(COMPUTE_AND_STORE_STRAIN)then
- R_memory(i_memory,i_SLS,:,:,:,ispec) = alphaval(i_SLS) * R_memory(i_memory,i_SLS,:,:,:,ispec) &
- + factor_common_c44_muv(:,:,:) &
- * (betaval(i_SLS) * epsilondev_loc_nsub1(i_memory,:,:,:) + gammaval(i_SLS) * epsilondev_loc(i_memory,:,:,:))
- else
- R_memory(i_memory,i_SLS,:,:,:,ispec) = alphaval(i_SLS) * R_memory(i_memory,i_SLS,:,:,:,ispec) &
- + factor_common_c44_muv(:,:,:) &
- * (betaval(i_SLS) * epsilondev_loc(i_memory,:,:,:) + gammaval(i_SLS) * epsilondev_loc_nplus1(i_memory,:,:,:))
- endif
+ R_memory(i_memory,i_SLS,:,:,:,ispec) = alphaval(i_SLS) * R_memory(i_memory,i_SLS,:,:,:,ispec) &
+ + factor_common_c44_muv(:,:,:) &
+ * (betaval(i_SLS) * epsilondev_loc_nsub1(i_memory,:,:,:) + gammaval(i_SLS) * epsilondev_loc(i_memory,:,:,:))
endif
enddo ! i_memory = 1,5
enddo ! i_SLS = 1,N_SLS
- if(COMPUTE_AND_STORE_STRAIN)then
- epsilondev(1,:,:,:,ispec) = epsilondev_loc(1,:,:,:)
+ epsilondev(1,:,:,:,ispec) = epsilondev_loc(1,:,:,:)
epsilondev(2,:,:,:,ispec) = epsilondev_loc(2,:,:,:)
epsilondev(3,:,:,:,ispec) = epsilondev_loc(3,:,:,:)
epsilondev(4,:,:,:,ispec) = epsilondev_loc(4,:,:,:)
- epsilondev(5,:,:,:,ispec) = epsilondev_loc(5,:,:,:)
- endif
+ epsilondev(5,:,:,:,ispec) = epsilondev_loc(5,:,:,:)
endif
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_forces_inner_core_Dev.F90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_forces_inner_core_Dev.F90 2013-07-14 00:09:18 UTC (rev 22596)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_forces_inner_core_Dev.F90 2013-07-14 00:39:43 UTC (rev 22597)
@@ -47,11 +47,11 @@
hprime_xx,hprime_xxT,hprimewgll_xx,hprimewgll_xxT, &
wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
kappavstore,muvstore,ibool,idoubling, &
- c11store,c33store,c12store,c13store,c44store,R_memory,one_minus_sum_beta,deltat,veloc_inner_core,&
+ c11store,c33store,c12store,c13store,c44store,R_memory,one_minus_sum_beta,deltat, &
alphaval,betaval,gammaval,factor_common, &
vnspec,PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev,eps_trace_over_3)
+ epsilondev,eps_trace_over_3)
! this routine is optimized for NGLLX = NGLLY = NGLLZ = 5 using the Deville et al. (2002) inlined matrix-matrix products
@@ -66,7 +66,7 @@
include "OUTPUT_FILES/values_from_mesher.h"
! displacement and acceleration
- real(kind=CUSTOM_REAL), dimension(NDIM,NGLOB_INNER_CORE) :: displ_inner_core,accel_inner_core,veloc_inner_core
+ real(kind=CUSTOM_REAL), dimension(NDIM,NGLOB_INNER_CORE) :: displ_inner_core,accel_inner_core
integer, dimension(NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE) :: ibool
real(kind=CUSTOM_REAL), dimension(NGLOB_INNER_CORE) :: xstore,ystore,zstore
@@ -87,8 +87,8 @@
real(kind=CUSTOM_REAL), dimension(5,N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_ATTENUATION) :: R_memory
logical :: PARTIAL_PHYS_DISPERSION_ONLY
- real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_ATTENUATION) :: epsilondev
- real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_ATTENUATION) :: eps_trace_over_3
+ real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_ATTENUATION) :: epsilondev
+ real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_ATTENUATION) :: eps_trace_over_3
! array with derivatives of Lagrange polynomials and precalculated products
double precision, dimension(NGLLX,NGLLY,NGLLZ) :: wgll_cube
@@ -149,9 +149,7 @@
real(kind=CUSTOM_REAL), dimension(NDIM,NGLLX,NGLLY,NGLLZ) :: sum_terms
real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc
- real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc_nplus1
- real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: eps_trace_over_3_loc_nplus1
- real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc_nsub1
+ real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc_nsub1
real(kind=CUSTOM_REAL) xixl,xiyl,xizl,etaxl,etayl,etazl,gammaxl,gammayl,gammazl,jacobianl
real(kind=CUSTOM_REAL) duxdxl,duxdyl,duxdzl,duydxl,duydyl,duydzl,duzdxl,duzdyl,duzdzl
@@ -774,7 +772,6 @@
! we get Q_\alpha = (9 / 4) * Q_\mu = 2.25 * Q_\mu
if(ATTENUATION_VAL .and. .not. PARTIAL_PHYS_DISPERSION_ONLY) then
- if(COMPUTE_AND_STORE_STRAIN)then
! updates R_memory
epsilondev_loc_nsub1(1,:,:,:) = epsilondev(1,:,:,:,ispec)
epsilondev_loc_nsub1(2,:,:,:) = epsilondev(2,:,:,:,ispec)
@@ -786,29 +783,14 @@
vnspec,factor_common, &
alphaval,betaval,gammaval, &
muvstore, &
- epsilondev_loc,epsilondev_loc_nsub1,&
+ epsilondev_loc,epsilondev_loc_nsub1,&
istage,R_memory_lddrk,tau_sigma_CUSTOM_REAL,deltat,USE_LDDRK)
- else
- call compute_element_strain_att_Dev(ispec,NGLOB_INNER_CORE,NSPEC_INNER_CORE,displ_inner_core,&
- veloc_inner_core,deltat,ibool,hprime_xx,hprime_xxT,&
- xix,xiy,xiz,etax,etay,etaz,gammax,gammay,gammaz,epsilondev_loc_nplus1,&
- eps_trace_over_3_loc_nplus1)
- ! updates R_memory
- call compute_element_att_memory_ic(ispec,R_memory, &
- vnspec,factor_common, &
- alphaval,betaval,gammaval, &
- muvstore, &
- epsilondev_loc_nplus1,epsilondev_loc,&
- istage,R_memory_lddrk,tau_sigma_CUSTOM_REAL,deltat,USE_LDDRK)
- endif
- if(COMPUTE_AND_STORE_STRAIN) then
epsilondev(1,:,:,:,ispec) = epsilondev_loc(1,:,:,:)
epsilondev(2,:,:,:,ispec) = epsilondev_loc(2,:,:,:)
epsilondev(3,:,:,:,ispec) = epsilondev_loc(3,:,:,:)
epsilondev(4,:,:,:,ispec) = epsilondev_loc(4,:,:,:)
- epsilondev(5,:,:,:,ispec) = epsilondev_loc(5,:,:,:)
- endif
+ epsilondev(5,:,:,:,ispec) = epsilondev_loc(5,:,:,:)
endif
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_forces_inner_core_noDev.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_forces_inner_core_noDev.f90 2013-07-14 00:09:18 UTC (rev 22596)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_forces_inner_core_noDev.f90 2013-07-14 00:39:43 UTC (rev 22597)
@@ -48,11 +48,11 @@
hprimewgll_xx,hprimewgll_yy,hprimewgll_zz, &
wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
kappavstore,muvstore,ibool,idoubling, &
- c11store,c33store,c12store,c13store,c44store,R_memory,one_minus_sum_beta,deltat,veloc_inner_core,&
+ c11store,c33store,c12store,c13store,c44store,R_memory,one_minus_sum_beta,deltat, &
alphaval,betaval,gammaval,factor_common, &
vnspec,PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev,eps_trace_over_3)
+ epsilondev,eps_trace_over_3)
implicit none
@@ -65,7 +65,7 @@
real(kind=CUSTOM_REAL) deltat
! displacement and acceleration
- real(kind=CUSTOM_REAL), dimension(NDIM,NGLOB_INNER_CORE) :: displ_inner_core,accel_inner_core,veloc_inner_core
+ real(kind=CUSTOM_REAL), dimension(NDIM,NGLOB_INNER_CORE) :: displ_inner_core,accel_inner_core
! for attenuation
! memory variables R_ij are stored at the local rather than global level
@@ -83,10 +83,10 @@
real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ) :: factor_common_use
real(kind=CUSTOM_REAL), dimension(5,N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_ATTENUATION) :: R_memory
- real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc,epsilondev_loc_nplus1,epsilondev_loc_nsub1
+ real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc,epsilondev_loc_nsub1
logical :: PARTIAL_PHYS_DISPERSION_ONLY
- real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_ATTENUATION) :: epsilondev
- real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_ATTENUATION) :: eps_trace_over_3
+ real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_ATTENUATION) :: epsilondev
+ real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_ATTENUATION) :: eps_trace_over_3
! array with the local to global mapping per slice
integer, dimension(NSPEC_INNER_CORE) :: idoubling
@@ -114,7 +114,7 @@
real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPECMAX_ANISO_IC) :: &
c11store,c33store,c12store,c13store,c44store
- integer ispec,iglob,ispec_strain
+ integer ispec,iglob
integer i,j,k,l
real(kind=CUSTOM_REAL) xixl,xiyl,xizl,etaxl,etayl,etazl,gammaxl,gammayl,gammazl,jacobianl
@@ -343,17 +343,12 @@
duzdyl_plus_duydzl = duzdyl + duydzl
! compute deviatoric strain
- if (COMPUTE_AND_STORE_STRAIN) then
- if(NSPEC_INNER_CORE_STRAIN_ONLY == 1) then
- ispec_strain = 1
- else
- ispec_strain = ispec
- endif
!ZN beware, here the expression differs from the strain used in memory variable equation (6) in D. Komatitsch and J. Tromp 1999,
!ZN here Brian Savage uses the engineering strain which are epsilon = 1/2*(grad U + (grad U)^T),
!ZN where U is the displacement vector and grad the gradient operator, i.e. there is a 1/2 factor difference between the two.
!ZN Both expressions are fine, but we need to keep in mind that if we put the 1/2 factor here there we need to remove it
!ZN from the expression in which we use the strain later in the code.
+ if (COMPUTE_AND_STORE_STRAIN) then
templ = ONE_THIRD * (duxdxl + duydyl + duzdzl)
epsilondev_loc(1,i,j,k) = duxdxl - templ
epsilondev_loc(2,i,j,k) = duydyl - templ
@@ -666,17 +661,11 @@
if(ATTENUATION_VAL .and. .not. PARTIAL_PHYS_DISPERSION_ONLY) then
- if(COMPUTE_AND_STORE_STRAIN)then
epsilondev_loc_nsub1(1,i,j,k) = epsilondev(1,i,j,k,ispec)
epsilondev_loc_nsub1(2,i,j,k) = epsilondev(2,i,j,k,ispec)
epsilondev_loc_nsub1(3,i,j,k) = epsilondev(3,i,j,k,ispec)
epsilondev_loc_nsub1(4,i,j,k) = epsilondev(4,i,j,k,ispec)
epsilondev_loc_nsub1(5,i,j,k) = epsilondev(5,i,j,k,ispec)
- else
- call compute_element_strain_att_noDev(ispec,NGLOB_INNER_CORE,NSPEC_INNER_CORE,displ_inner_core,&
- veloc_inner_core,deltat,hprime_xx,hprime_yy,hprime_zz,ibool,&
- xix,xiy,xiz,etax,etay,etaz,gammax,gammay,gammaz,epsilondev_loc_nplus1)
- endif
do i_SLS = 1,N_SLS
@@ -707,36 +696,23 @@
BETA_LDDRK(istage) * R_memory_lddrk(i_memory,i_SLS,:,:,:,ispec)
enddo
else
- if(COMPUTE_AND_STORE_STRAIN)then
- do i_memory = 1,5
- R_memory(i_memory,i_SLS,:,:,:,ispec) = &
- alphaval(i_SLS) * &
- R_memory(i_memory,i_SLS,:,:,:,ispec) + muvstore(:,:,:,ispec) * &
- factor_common_use * &
- (betaval(i_SLS) * &
- epsilondev_loc(i_memory,:,:,:) + gammaval(i_SLS) * epsilondev_loc_nsub1(i_memory,:,:,:))
- enddo
- else
- do i_memory = 1,5
- R_memory(i_memory,i_SLS,:,:,:,ispec) = &
- alphaval(i_SLS) * &
- R_memory(i_memory,i_SLS,:,:,:,ispec) + muvstore(:,:,:,ispec) * &
- factor_common_use * &
- (betaval(i_SLS) * &
- epsilondev_loc_nplus1(i_memory,:,:,:) + gammaval(i_SLS) * epsilondev_loc(i_memory,:,:,:))
- enddo
- endif
+ do i_memory = 1,5
+ R_memory(i_memory,i_SLS,:,:,:,ispec) = &
+ alphaval(i_SLS) * &
+ R_memory(i_memory,i_SLS,:,:,:,ispec) + muvstore(:,:,:,ispec) * &
+ factor_common_use * &
+ (betaval(i_SLS) * &
+ epsilondev_loc(i_memory,:,:,:) + gammaval(i_SLS) * epsilondev_loc_nsub1(i_memory,:,:,:))
+ enddo
endif
enddo !do i_SLS = 1,N_SLS
- if(COMPUTE_AND_STORE_STRAIN)then
- epsilondev(1,:,:,:,ispec) = epsilondev_loc(1,:,:,:)
+ epsilondev(1,:,:,:,ispec) = epsilondev_loc(1,:,:,:)
epsilondev(2,:,:,:,ispec) = epsilondev_loc(2,:,:,:)
epsilondev(3,:,:,:,ispec) = epsilondev_loc(3,:,:,:)
epsilondev(4,:,:,:,ispec) = epsilondev_loc(4,:,:,:)
- epsilondev(5,:,:,:,ispec) = epsilondev_loc(5,:,:,:)
- endif
+ epsilondev(5,:,:,:,ispec) = epsilondev_loc(5,:,:,:)
endif
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_kernels.F90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_kernels.F90 2013-07-14 00:09:18 UTC (rev 22596)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_kernels.F90 2013-07-14 00:39:43 UTC (rev 22597)
@@ -31,7 +31,7 @@
accel_crust_mantle,b_displ_crust_mantle, &
deltat,hprime_xx,hprime_xxT,&
xix,xiy,xiz,etax,etay,etaz,gammax,gammay,gammaz,ANISOTROPIC_KL,&
- epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
+ epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
implicit none
@@ -58,8 +58,8 @@
logical :: ANISOTROPIC_KL
- real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ATTENUAT) :: epsilondev_crust_mantle
- real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ATTENUAT) :: eps_trace_over_3_crust_mantle
+ real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ATTENUAT) :: epsilondev_crust_mantle
+ real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ATTENUAT) :: eps_trace_over_3_crust_mantle
! local parameters
real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: b_epsilondev_loc_matrix
@@ -811,7 +811,7 @@
accel_inner_core,b_displ_inner_core, &
deltat,hprime_xx,hprime_xxT,&
xix,xiy,xiz,etax,etay,etaz,gammax,gammay,gammaz,&
- epsilondev_inner_core,eps_trace_over_3_inner_core)
+ epsilondev_inner_core,eps_trace_over_3_inner_core)
implicit none
@@ -833,8 +833,8 @@
real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE) :: &
xix,xiy,xiz,etax,etay,etaz,gammax,gammay,gammaz
- real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE) :: epsilondev_inner_core
- real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE) :: eps_trace_over_3_inner_core
+ real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE) :: epsilondev_inner_core
+ real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE) :: eps_trace_over_3_inner_core
! local parameters
real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: b_epsilondev_loc_matrix
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/initialize_simulation.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/initialize_simulation.f90 2013-07-14 00:09:18 UTC (rev 22596)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/initialize_simulation.f90 2013-07-14 00:39:43 UTC (rev 22597)
@@ -259,7 +259,7 @@
USE_LDDRK,INCREASE_CFL_FOR_LDDRK,ANISOTROPIC_KL,SAVE_TRANSVERSE_KL_ONLY,APPROXIMATE_HESS_KL, &
USE_FULL_TISO_MANTLE,SAVE_SOURCE_MASK,GPU_MODE,ADIOS_ENABLED,ADIOS_FOR_FORWARD_ARRAYS, &
ADIOS_FOR_MPI_ARRAYS,ADIOS_FOR_ARRAYS_SOLVER,ADIOS_FOR_AVS_DX,RATIO_BY_WHICH_TO_INCREASE_IT, &
- ATT1,ATT2,ATT3,ATT4,ATT5,EXACT_MASS_MATRIX_FOR_ROTATION)
+ ATT1,ATT2,ATT3,ATT4,ATT5,EXACT_MASS_MATRIX_FOR_ROTATION)
! get the base pathname for output files
call get_value_string(OUTPUT_FILES, 'OUTPUT_FILES', 'OUTPUT_FILES')
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/part1_classical.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/part1_classical.f90 2013-07-14 00:09:18 UTC (rev 22596)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/part1_classical.f90 2013-07-14 00:39:43 UTC (rev 22597)
@@ -317,11 +317,11 @@
c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
- R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat,veloc_crust_mantle, &
+ R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat, &
alphaval,betaval,gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_crust_mantle_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
+ epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
else
call compute_forces_crust_mantle(minus_gravity_table,density_table,minus_deriv_gravity_table, &
displ_crust_mantle,accel_crust_mantle, &
@@ -358,11 +358,11 @@
c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
- R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat,veloc_crust_mantle, &
+ R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat, &
alphaval,betaval,gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_crust_mantle_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
+ epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
endif
! Deville routine
@@ -394,12 +394,12 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
- R_memory_inner_core,one_minus_sum_beta_inner_core,deltat,veloc_inner_core,&
+ R_memory_inner_core,one_minus_sum_beta_inner_core,deltat, &
alphaval,betaval,gammaval, &
factor_common_inner_core, &
size(factor_common_inner_core,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_inner_core_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_inner_core,eps_trace_over_3_inner_core)
+ epsilondev_inner_core,eps_trace_over_3_inner_core)
else
call compute_forces_inner_core(minus_gravity_table,density_table,minus_deriv_gravity_table, &
displ_inner_core,accel_inner_core, &
@@ -428,12 +428,12 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
- R_memory_inner_core,one_minus_sum_beta_inner_core,deltat,veloc_inner_core, &
+ R_memory_inner_core,one_minus_sum_beta_inner_core,deltat, &
alphaval,betaval,gammaval, &
factor_common_inner_core, &
size(factor_common_inner_core,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_inner_core_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_inner_core,eps_trace_over_3_inner_core)
+ epsilondev_inner_core,eps_trace_over_3_inner_core)
endif
! Stacey
@@ -613,11 +613,11 @@
c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
- R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat,veloc_crust_mantle, &
+ R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat, &
alphaval,betaval,gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_crust_mantle_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
+ epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
else
call compute_forces_crust_mantle(minus_gravity_table,density_table,minus_deriv_gravity_table, &
displ_crust_mantle,accel_crust_mantle, &
@@ -654,11 +654,11 @@
c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
- R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat,veloc_crust_mantle, &
+ R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat, &
alphaval,betaval,gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_crust_mantle_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
+ epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
endif
! Deville routine
@@ -690,12 +690,12 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
- R_memory_inner_core,one_minus_sum_beta_inner_core,deltat,veloc_inner_core,&
+ R_memory_inner_core,one_minus_sum_beta_inner_core,deltat, &
alphaval,betaval,gammaval, &
factor_common_inner_core, &
size(factor_common_inner_core,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_inner_core_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_inner_core,eps_trace_over_3_inner_core)
+ epsilondev_inner_core,eps_trace_over_3_inner_core)
else
call compute_forces_inner_core(minus_gravity_table,density_table,minus_deriv_gravity_table, &
displ_inner_core,accel_inner_core, &
@@ -724,12 +724,12 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
- R_memory_inner_core,one_minus_sum_beta_inner_core,deltat,veloc_inner_core,&
+ R_memory_inner_core,one_minus_sum_beta_inner_core,deltat, &
alphaval,betaval,gammaval, &
factor_common_inner_core, &
size(factor_common_inner_core,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_inner_core_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_inner_core,eps_trace_over_3_inner_core)
+ epsilondev_inner_core,eps_trace_over_3_inner_core)
endif
! assemble all the contributions between slices using MPI
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/part1_undo_att.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/part1_undo_att.f90 2013-07-14 00:09:18 UTC (rev 22596)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/part1_undo_att.f90 2013-07-14 00:39:43 UTC (rev 22597)
@@ -346,11 +346,11 @@
c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
- R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat,veloc_crust_mantle, &
+ R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat, &
alphaval,betaval,gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_crust_mantle_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
+ epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
else
call compute_forces_crust_mantle(minus_gravity_table,density_table,minus_deriv_gravity_table, &
displ_crust_mantle,accel_crust_mantle, &
@@ -387,11 +387,11 @@
c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
- R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat,veloc_crust_mantle, &
+ R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat, &
alphaval,betaval,gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_crust_mantle_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
+ epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
endif
! Deville routine
@@ -423,12 +423,12 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
- R_memory_inner_core,one_minus_sum_beta_inner_core,deltat,veloc_inner_core,&
+ R_memory_inner_core,one_minus_sum_beta_inner_core,deltat, &
alphaval,betaval,gammaval, &
factor_common_inner_core, &
size(factor_common_inner_core,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_inner_core_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_inner_core,eps_trace_over_3_inner_core)
+ epsilondev_inner_core,eps_trace_over_3_inner_core)
else
call compute_forces_inner_core(minus_gravity_table,density_table,minus_deriv_gravity_table, &
displ_inner_core,accel_inner_core, &
@@ -457,12 +457,12 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
- R_memory_inner_core,one_minus_sum_beta_inner_core,deltat,veloc_inner_core, &
+ R_memory_inner_core,one_minus_sum_beta_inner_core,deltat, &
alphaval,betaval,gammaval, &
factor_common_inner_core, &
size(factor_common_inner_core,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_inner_core_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_inner_core,eps_trace_over_3_inner_core)
+ epsilondev_inner_core,eps_trace_over_3_inner_core)
endif
! Stacey
@@ -638,11 +638,11 @@
c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
- R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat,veloc_crust_mantle, &
+ R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat, &
alphaval,betaval,gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_crust_mantle_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
+ epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
else
call compute_forces_crust_mantle(minus_gravity_table,density_table,minus_deriv_gravity_table, &
displ_crust_mantle,accel_crust_mantle, &
@@ -679,11 +679,11 @@
c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
- R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat,veloc_crust_mantle, &
+ R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,deltat, &
alphaval,betaval,gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_crust_mantle_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
+ epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
endif
! Deville routine
@@ -715,12 +715,12 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
- R_memory_inner_core,one_minus_sum_beta_inner_core,deltat,veloc_inner_core,&
+ R_memory_inner_core,one_minus_sum_beta_inner_core,deltat, &
alphaval,betaval,gammaval, &
factor_common_inner_core, &
size(factor_common_inner_core,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_inner_core_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_inner_core,eps_trace_over_3_inner_core)
+ epsilondev_inner_core,eps_trace_over_3_inner_core)
else
call compute_forces_inner_core(minus_gravity_table,density_table,minus_deriv_gravity_table, &
displ_inner_core,accel_inner_core, &
@@ -749,12 +749,12 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
- R_memory_inner_core,one_minus_sum_beta_inner_core,deltat,veloc_inner_core,&
+ R_memory_inner_core,one_minus_sum_beta_inner_core,deltat, &
alphaval,betaval,gammaval, &
factor_common_inner_core, &
size(factor_common_inner_core,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_inner_core_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_inner_core,eps_trace_over_3_inner_core)
+ epsilondev_inner_core,eps_trace_over_3_inner_core)
endif
! assemble all the contributions between slices using MPI
@@ -792,7 +792,7 @@
endif ! end of assembling forces with the central cube
if((NCHUNKS_VAL /= 6 .and. ABSORBING_CONDITIONS .or. &
- (ROTATION_VAL .and. EXACT_MASS_MATRIX_FOR_ROTATION)) .and. (.not. USE_LDDRK)) then
+ (ROTATION_VAL .and. EXACT_MASS_MATRIX_FOR_ROTATION)) .and. (.not. USE_LDDRK)) then
do i=1,NGLOB_CRUST_MANTLE
accel_crust_mantle(1,i) = accel_crust_mantle(1,i)*rmassx_crust_mantle(i) &
@@ -821,7 +821,7 @@
rmassx_crust_mantle,rmassy_crust_mantle,rmassz_crust_mantle, &
rmass_ocean_load,normal_top_crust_mantle, &
ibool_crust_mantle,ibelm_top_crust_mantle, &
- updated_dof_ocean_load,NGLOB_XY_CM, &
+ updated_dof_ocean_load,NGLOB_XY_CM, &
NSPEC2D_TOP(IREGION_CRUST_MANTLE), &
ABSORBING_CONDITIONS,EXACT_MASS_MATRIX_FOR_ROTATION,USE_LDDRK)
endif
@@ -852,7 +852,7 @@
endif
! inner core
do i=1,NGLOB_INNER_CORE
- if(ROTATION_VAL .and. EXACT_MASS_MATRIX_FOR_ROTATION .and. .not. USE_LDDRK)then
+ if(ROTATION_VAL .and. EXACT_MASS_MATRIX_FOR_ROTATION .and. .not. USE_LDDRK)then
accel_inner_core(1,i) = accel_inner_core(1,i)*rmassx_inner_core(i) &
+ two_omega_earth*veloc_inner_core(2,i)
accel_inner_core(2,i) = accel_inner_core(2,i)*rmassy_inner_core(i) &
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/part2_classical.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/part2_classical.f90 2013-07-14 00:09:18 UTC (rev 22596)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/part2_classical.f90 2013-07-14 00:39:43 UTC (rev 22597)
@@ -326,11 +326,11 @@
c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
- b_R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,b_deltat,b_veloc_crust_mantle, &
+ b_R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,b_deltat, &
b_alphaval,b_betaval,b_gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_crust_mantle_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
+ epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
else
call compute_forces_crust_mantle(minus_gravity_table,density_table,minus_deriv_gravity_table, &
b_displ_crust_mantle,b_accel_crust_mantle, &
@@ -367,11 +367,11 @@
c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
- b_R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,b_deltat,b_displ_crust_mantle, &
+ b_R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,b_deltat, &
b_alphaval,b_betaval,b_gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_crust_mantle_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
+ epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
endif
endif
@@ -404,12 +404,12 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
- b_R_memory_inner_core,one_minus_sum_beta_inner_core,b_deltat,b_veloc_inner_core, &
+ b_R_memory_inner_core,one_minus_sum_beta_inner_core,b_deltat, &
b_alphaval,b_betaval,b_gammaval, &
factor_common_inner_core, &
size(factor_common_inner_core,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_inner_core_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_inner_core,eps_trace_over_3_inner_core)
+ epsilondev_inner_core,eps_trace_over_3_inner_core)
else
call compute_forces_inner_core(minus_gravity_table,density_table,minus_deriv_gravity_table, &
b_displ_inner_core,b_accel_inner_core, &
@@ -438,12 +438,12 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
- b_R_memory_inner_core,one_minus_sum_beta_inner_core,b_deltat,b_veloc_inner_core, &
+ b_R_memory_inner_core,one_minus_sum_beta_inner_core,b_deltat, &
b_alphaval,b_betaval,b_gammaval, &
factor_common_inner_core, &
size(factor_common_inner_core,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_inner_core_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_inner_core,eps_trace_over_3_inner_core)
+ epsilondev_inner_core,eps_trace_over_3_inner_core)
endif
endif
@@ -606,11 +606,11 @@
c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
- b_R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,b_deltat,b_veloc_crust_mantle, &
+ b_R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,b_deltat, &
b_alphaval,b_betaval,b_gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_crust_mantle_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
+ epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
else
call compute_forces_crust_mantle(minus_gravity_table,density_table,minus_deriv_gravity_table, &
b_displ_crust_mantle,b_accel_crust_mantle, &
@@ -647,11 +647,11 @@
c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
- b_R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,b_deltat,b_displ_crust_mantle, &
+ b_R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,b_deltat, &
b_alphaval,b_betaval,b_gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_crust_mantle_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
+ epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
endif
! Deville routine
@@ -683,12 +683,12 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
- b_R_memory_inner_core,one_minus_sum_beta_inner_core,b_deltat,b_veloc_inner_core, &
+ b_R_memory_inner_core,one_minus_sum_beta_inner_core,b_deltat, &
b_alphaval,b_betaval,b_gammaval, &
factor_common_inner_core, &
size(factor_common_inner_core,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_inner_core_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_inner_core,eps_trace_over_3_inner_core)
+ epsilondev_inner_core,eps_trace_over_3_inner_core)
else
call compute_forces_inner_core(minus_gravity_table,density_table,minus_deriv_gravity_table, &
b_displ_inner_core,b_accel_inner_core, &
@@ -717,12 +717,12 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
- b_R_memory_inner_core,one_minus_sum_beta_inner_core,b_deltat,b_veloc_inner_core, &
+ b_R_memory_inner_core,one_minus_sum_beta_inner_core,b_deltat, &
b_alphaval,b_betaval,b_gammaval, &
factor_common_inner_core, &
size(factor_common_inner_core,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_inner_core_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_inner_core,eps_trace_over_3_inner_core)
+ epsilondev_inner_core,eps_trace_over_3_inner_core)
endif
! assemble all the contributions between slices using MPI
@@ -792,7 +792,7 @@
rmassx_crust_mantle,rmassy_crust_mantle,rmassz_crust_mantle, &
rmass_ocean_load,normal_top_crust_mantle, &
ibool_crust_mantle,ibelm_top_crust_mantle, &
- updated_dof_ocean_load,NGLOB_XY_CM, &
+ updated_dof_ocean_load,NGLOB_XY_CM, &
NSPEC2D_TOP(IREGION_CRUST_MANTLE), &
ABSORBING_CONDITIONS)
endif
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/part2_undo_att.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/part2_undo_att.f90 2013-07-14 00:09:18 UTC (rev 22596)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/part2_undo_att.f90 2013-07-14 00:39:43 UTC (rev 22597)
@@ -357,11 +357,11 @@
c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
- b_R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,b_deltat,b_veloc_crust_mantle, &
+ b_R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,b_deltat, &
b_alphaval,b_betaval,b_gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_crust_mantle_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
+ epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
else
call compute_forces_crust_mantle(minus_gravity_table,density_table,minus_deriv_gravity_table, &
b_displ_crust_mantle,b_accel_crust_mantle, &
@@ -398,11 +398,11 @@
c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
- b_R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,b_deltat,b_displ_crust_mantle, &
+ b_R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,b_deltat, &
b_alphaval,b_betaval,b_gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_crust_mantle_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
+ epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
endif
endif
@@ -435,12 +435,12 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
- b_R_memory_inner_core,one_minus_sum_beta_inner_core,b_deltat,b_veloc_inner_core, &
+ b_R_memory_inner_core,one_minus_sum_beta_inner_core,b_deltat, &
b_alphaval,b_betaval,b_gammaval, &
factor_common_inner_core, &
size(factor_common_inner_core,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_inner_core_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_inner_core,eps_trace_over_3_inner_core)
+ epsilondev_inner_core,eps_trace_over_3_inner_core)
else
call compute_forces_inner_core(minus_gravity_table,density_table,minus_deriv_gravity_table, &
b_displ_inner_core,b_accel_inner_core, &
@@ -469,12 +469,12 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
- b_R_memory_inner_core,one_minus_sum_beta_inner_core,b_deltat,b_veloc_inner_core, &
+ b_R_memory_inner_core,one_minus_sum_beta_inner_core,b_deltat, &
b_alphaval,b_betaval,b_gammaval, &
factor_common_inner_core, &
size(factor_common_inner_core,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_inner_core_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_inner_core,eps_trace_over_3_inner_core)
+ epsilondev_inner_core,eps_trace_over_3_inner_core)
endif
endif
@@ -671,11 +671,11 @@
c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
- b_R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,b_deltat,b_veloc_crust_mantle, &
+ b_R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,b_deltat, &
b_alphaval,b_betaval,b_gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_crust_mantle_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
+ epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
else
call compute_forces_crust_mantle(minus_gravity_table,density_table,minus_deriv_gravity_table, &
b_displ_crust_mantle,b_accel_crust_mantle, &
@@ -712,11 +712,11 @@
c44store_crust_mantle,c45store_crust_mantle,c46store_crust_mantle, &
c55store_crust_mantle,c56store_crust_mantle,c66store_crust_mantle, &
ibool_crust_mantle,ispec_is_tiso_crust_mantle, &
- b_R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,b_deltat,b_displ_crust_mantle, &
+ b_R_memory_crust_mantle,one_minus_sum_beta_crust_mantle,b_deltat, &
b_alphaval,b_betaval,b_gammaval,factor_common_crust_mantle, &
size(factor_common_crust_mantle,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_crust_mantle_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
+ epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
endif
! Deville routine
@@ -748,12 +748,12 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
- b_R_memory_inner_core,one_minus_sum_beta_inner_core,b_deltat,b_veloc_inner_core, &
+ b_R_memory_inner_core,one_minus_sum_beta_inner_core,b_deltat, &
b_alphaval,b_betaval,b_gammaval, &
factor_common_inner_core, &
size(factor_common_inner_core,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_inner_core_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_inner_core,eps_trace_over_3_inner_core)
+ epsilondev_inner_core,eps_trace_over_3_inner_core)
else
call compute_forces_inner_core(minus_gravity_table,density_table,minus_deriv_gravity_table, &
b_displ_inner_core,b_accel_inner_core, &
@@ -782,12 +782,12 @@
kappavstore_inner_core,muvstore_inner_core,ibool_inner_core,idoubling_inner_core, &
c11store_inner_core,c33store_inner_core,c12store_inner_core, &
c13store_inner_core,c44store_inner_core, &
- b_R_memory_inner_core,one_minus_sum_beta_inner_core,b_deltat,b_veloc_inner_core, &
+ b_R_memory_inner_core,one_minus_sum_beta_inner_core,b_deltat, &
b_alphaval,b_betaval,b_gammaval, &
factor_common_inner_core, &
size(factor_common_inner_core,5),PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_inner_core_lddrk,tau_sigma_CUSTOM_REAL,USE_LDDRK,&
- epsilondev_inner_core,eps_trace_over_3_inner_core)
+ epsilondev_inner_core,eps_trace_over_3_inner_core)
endif
! assemble all the contributions between slices using MPI
@@ -826,7 +826,7 @@
! ------------------- new non blocking implementation -------------------
- if((NCHUNKS_VAL /= 6 .and. ABSORBING_CONDITIONS) .and. .not. USE_LDDRK) then
+ if((NCHUNKS_VAL /= 6 .and. ABSORBING_CONDITIONS) .and. .not. USE_LDDRK) then
if(ROTATION_VAL .and. EXACT_MASS_MATRIX_FOR_ROTATION)then
do i=1,NGLOB_CRUST_MANTLE
@@ -834,7 +834,7 @@
+ b_two_omega_earth*b_veloc_crust_mantle(2,i)
b_accel_crust_mantle(2,i) = b_accel_crust_mantle(2,i)*b_rmassy_crust_mantle(i) &
- b_two_omega_earth*b_veloc_crust_mantle(1,i)
- b_accel_crust_mantle(3,i) = b_accel_crust_mantle(3,i)*b_rmassz_crust_mantle(i)
+ b_accel_crust_mantle(3,i) = b_accel_crust_mantle(3,i)*b_rmassz_crust_mantle(i)
enddo
else
do i=1,NGLOB_CRUST_MANTLE
@@ -842,7 +842,7 @@
+ b_two_omega_earth*b_veloc_crust_mantle(2,i)
b_accel_crust_mantle(2,i) = b_accel_crust_mantle(2,i)*rmassy_crust_mantle(i) &
- b_two_omega_earth*b_veloc_crust_mantle(1,i)
- b_accel_crust_mantle(3,i) = b_accel_crust_mantle(3,i)*rmassz_crust_mantle(i)
+ b_accel_crust_mantle(3,i) = b_accel_crust_mantle(3,i)*rmassz_crust_mantle(i)
enddo
endif
@@ -853,7 +853,7 @@
+ b_two_omega_earth*b_veloc_crust_mantle(2,i)
b_accel_crust_mantle(2,i) = b_accel_crust_mantle(2,i)*b_rmassy_crust_mantle(i) &
- b_two_omega_earth*b_veloc_crust_mantle(1,i)
- b_accel_crust_mantle(3,i) = b_accel_crust_mantle(3,i)*b_rmassz_crust_mantle(i)
+ b_accel_crust_mantle(3,i) = b_accel_crust_mantle(3,i)*b_rmassz_crust_mantle(i)
enddo
else
do i=1,NGLOB_CRUST_MANTLE
@@ -897,7 +897,7 @@
enddo
! inner core
do i=1,NGLOB_INNER_CORE
- if((ROTATION_VAL .and. EXACT_MASS_MATRIX_FOR_ROTATION) .and. .not. USE_LDDRK) then
+ if((ROTATION_VAL .and. EXACT_MASS_MATRIX_FOR_ROTATION) .and. .not. USE_LDDRK) then
b_accel_inner_core(1,i) = b_accel_inner_core(1,i)*b_rmassx_inner_core(i) &
+ b_two_omega_earth*b_veloc_inner_core(2,i)
b_accel_inner_core(2,i) = b_accel_inner_core(2,i)*b_rmassy_inner_core(i) &
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/part3_kernel_computation.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/part3_kernel_computation.f90 2013-07-14 00:09:18 UTC (rev 22596)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/part3_kernel_computation.f90 2013-07-14 00:39:43 UTC (rev 22597)
@@ -12,7 +12,7 @@
xix_crust_mantle,xiy_crust_mantle,xiz_crust_mantle,&
etax_crust_mantle,etay_crust_mantle,etaz_crust_mantle,&
gammax_crust_mantle,gammay_crust_mantle,gammaz_crust_mantle,ANISOTROPIC_KL,&
- epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
+ epsilondev_crust_mantle,eps_trace_over_3_crust_mantle)
! outer core
call compute_kernels_outer_core(ibool_outer_core, &
@@ -38,7 +38,7 @@
xix_inner_core,xiy_inner_core,xiz_inner_core,&
etax_inner_core,etay_inner_core,etaz_inner_core,&
gammax_inner_core,gammay_inner_core,gammaz_inner_core,&
- epsilondev_inner_core,eps_trace_over_3_inner_core)
+ epsilondev_inner_core,eps_trace_over_3_inner_core)
! NOISE TOMOGRAPHY --- source strength kernel
if (NOISE_TOMOGRAPHY == 3) &
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/prepare_timerun.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/prepare_timerun.f90 2013-07-14 00:09:18 UTC (rev 22596)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/prepare_timerun.f90 2013-07-14 00:39:43 UTC (rev 22597)
@@ -45,11 +45,11 @@
buffer_send_faces_scalar,buffer_received_faces_scalar, &
buffer_send_chunkcorn_scalar,buffer_recv_chunkcorn_scalar, &
NUMMSGS_FACES,NUM_MSG_TYPES,NCORNERSCHUNKS,NGLOB_XY_CM,ABSORBING_CONDITIONS, &
- NGLOB1D_RADIAL,NGLOB2DMAX_XMIN_XMAX,NGLOB2DMAX_YMIN_YMAX,npoin2D_max_all_CM_IC, &
+ NGLOB1D_RADIAL,NGLOB2DMAX_XMIN_XMAX,NGLOB2DMAX_YMIN_YMAX,npoin2D_max_all_CM_IC, &
SIMULATION_TYPE,EXACT_MASS_MATRIX_FOR_ROTATION,USE_LDDRK,NGLOB_XY_CM_BACKWARD,&
- b_rmassx_crust_mantle,b_rmassy_crust_mantle,&
- NGLOB_XY_IC,rmassx_inner_core,rmassy_inner_core,&
- NGLOB_XY_IC_BACKWARD,b_rmassx_inner_core,b_rmassy_inner_core)
+ b_rmassx_crust_mantle,b_rmassy_crust_mantle,&
+ NGLOB_XY_IC,rmassx_inner_core,rmassy_inner_core,&
+ NGLOB_XY_IC_BACKWARD,b_rmassx_inner_core,b_rmassy_inner_core)
use mpi
implicit none
@@ -58,7 +58,7 @@
include "OUTPUT_FILES/values_from_mesher.h"
integer myrank,npoin2D_max_all_CM_IC
- integer SIMULATION_TYPE,NGLOB_XY_CM,NGLOB_XY_CM_BACKWARD,NGLOB_XY_IC,NGLOB_XY_IC_BACKWARD
+ integer SIMULATION_TYPE,NGLOB_XY_CM,NGLOB_XY_CM_BACKWARD,NGLOB_XY_IC,NGLOB_XY_IC_BACKWARD
logical ABSORBING_CONDITIONS,EXACT_MASS_MATRIX_FOR_ROTATION,USE_LDDRK
@@ -196,8 +196,8 @@
NGLOB2DMAX_XY_CM_VAL,NCHUNKS_VAL)
if(ROTATION_VAL .and. EXACT_MASS_MATRIX_FOR_ROTATION &
- .and. (.not. USE_LDDRK) .and. NGLOB_XY_CM_BACKWARD > 0)then
- if(SIMULATION_TYPE == 3)then
+ .and. (.not. USE_LDDRK) .and. NGLOB_XY_CM_BACKWARD > 0)then
+ if(SIMULATION_TYPE == 3)then
call assemble_MPI_scalar_block(myrank,b_rmassx_crust_mantle,NGLOB_XY_CM_BACKWARD, &
iproc_xi,iproc_eta,ichunk,addressing, &
iboolleft_xi_crust_mantle,iboolright_xi_crust_mantle,iboolleft_eta_crust_mantle,iboolright_eta_crust_mantle, &
@@ -224,8 +224,8 @@
NPROC_XI_VAL,NPROC_ETA_VAL,NGLOB1D_RADIAL(IREGION_CRUST_MANTLE), &
NGLOB2DMAX_XMIN_XMAX(IREGION_CRUST_MANTLE),NGLOB2DMAX_YMIN_YMAX(IREGION_CRUST_MANTLE), &
NGLOB2DMAX_XY_CM_VAL,NCHUNKS_VAL)
- endif
- endif
+ endif
+ endif
! outer core
call assemble_MPI_scalar_block(myrank,rmass_outer_core,NGLOB_OUTER_CORE, &
@@ -243,7 +243,7 @@
NGLOB2DMAX_XY_OC_VAL,NCHUNKS_VAL)
if(ROTATION_VAL .and. EXACT_MASS_MATRIX_FOR_ROTATION &
- .and. (.not. USE_LDDRK) .and. NGLOB_XY_IC > 0)then
+ .and. (.not. USE_LDDRK) .and. NGLOB_XY_IC > 0)then
! inner core
call assemble_MPI_scalar_block(myrank,rmassx_inner_core,NGLOB_XY_IC, &
iproc_xi,iproc_eta,ichunk,addressing, &
@@ -273,7 +273,7 @@
NGLOB2DMAX_XMIN_XMAX(IREGION_INNER_CORE),NGLOB2DMAX_YMIN_YMAX(IREGION_INNER_CORE), &
NGLOB2DMAX_XY_IC_VAL,NCHUNKS_VAL)
- if(SIMULATION_TYPE == 3 .and. NGLOB_XY_IC_BACKWARD > 0)then
+ if(SIMULATION_TYPE == 3 .and. NGLOB_XY_IC_BACKWARD > 0)then
call assemble_MPI_scalar_block(myrank,b_rmassx_inner_core,NGLOB_XY_IC_BACKWARD, &
iproc_xi,iproc_eta,ichunk,addressing, &
iboolleft_xi_inner_core,iboolright_xi_inner_core,iboolleft_eta_inner_core,iboolright_eta_inner_core, &
@@ -302,9 +302,9 @@
NGLOB2DMAX_XMIN_XMAX(IREGION_INNER_CORE),NGLOB2DMAX_YMIN_YMAX(IREGION_INNER_CORE), &
NGLOB2DMAX_XY_IC_VAL,NCHUNKS_VAL)
- endif
+ endif
- endif
+ endif
! inner core
call assemble_MPI_scalar_block(myrank,rmass_inner_core,NGLOB_INNER_CORE, &
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/read_arrays_solver.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/read_arrays_solver.f90 2013-07-14 00:09:18 UTC (rev 22596)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/read_arrays_solver.f90 2013-07-14 00:39:43 UTC (rev 22597)
@@ -38,16 +38,16 @@
ibool,idoubling,ispec_is_tiso,nglob_xy,nglob, &
rmassx,rmassy,rmassz,rmass_ocean_load,nspec, &
is_on_a_slice_edge,READ_KAPPA_MU,READ_TISO,TRANSVERSE_ISOTROPY, &
- ANISOTROPIC_3D_MANTLE,ANISOTROPIC_INNER_CORE,OCEANS,LOCAL_PATH,ABSORBING_CONDITIONS,&
+ ANISOTROPIC_3D_MANTLE,ANISOTROPIC_INNER_CORE,OCEANS,LOCAL_PATH,ABSORBING_CONDITIONS,&
SIMULATION_TYPE,nglob_xy_backward,EXACT_MASS_MATRIX_FOR_ROTATION,USE_LDDRK, &
- b_rmassx,b_rmassy)
+ b_rmassx,b_rmassy)
implicit none
include "constants.h"
include "OUTPUT_FILES/values_from_mesher.h"
- integer :: iregion_code,myrank,SIMULATION_TYPE
+ integer :: iregion_code,myrank,SIMULATION_TYPE
integer :: nspec,nglob,nglob_xy,nglob_xy_backward
integer :: nspec_iso,nspec_tiso,nspec_ani
@@ -185,7 +185,7 @@
! read(IIN) rmassy
! endif
- if(.not. USE_LDDRK)then
+ if(.not. USE_LDDRK)then
if((NCHUNKS_VAL /= 6 .and. ABSORBING_CONDITIONS .and. iregion_code == IREGION_CRUST_MANTLE) .or. &
(ROTATION_VAL .and. EXACT_MASS_MATRIX_FOR_ROTATION .and. iregion_code == IREGION_CRUST_MANTLE) .or. &
(ROTATION_VAL .and. EXACT_MASS_MATRIX_FOR_ROTATION .and. iregion_code == IREGION_INNER_CORE)) then
@@ -196,13 +196,13 @@
read(IIN) rmassz
- if(.not. USE_LDDRK)then
+ if(.not. USE_LDDRK)then
if((SIMULATION_TYPE == 3 .and. &
(ROTATION_VAL .and. EXACT_MASS_MATRIX_FOR_ROTATION .and. iregion_code == IREGION_CRUST_MANTLE)) .or. &
(SIMULATION_TYPE == 3 .and. &
(ROTATION_VAL .and. EXACT_MASS_MATRIX_FOR_ROTATION .and. iregion_code == IREGION_INNER_CORE)))then
read(IIN) b_rmassx
- read(IIN) b_rmassy
+ read(IIN) b_rmassy
endif
endif
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/read_mesh_databases.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/read_mesh_databases.f90 2013-07-14 00:09:18 UTC (rev 22596)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/read_mesh_databases.f90 2013-07-14 00:39:43 UTC (rev 22597)
@@ -59,18 +59,18 @@
c33store_inner_core,c44store_inner_core, &
ibool_inner_core,idoubling_inner_core,ispec_is_tiso_inner_core, &
is_on_a_slice_edge_inner_core,rmass_inner_core, &
- ABSORBING_CONDITIONS,LOCAL_PATH,NGLOB_XY_CM,&
+ ABSORBING_CONDITIONS,LOCAL_PATH,NGLOB_XY_CM,&
SIMULATION_TYPE,NGLOB_XY_CM_BACKWARD,EXACT_MASS_MATRIX_FOR_ROTATION,USE_LDDRK, &
- b_rmassx_crust_mantle,b_rmassy_crust_mantle,&
- NGLOB_XY_IC,rmassx_inner_core,rmassy_inner_core,&
- NGLOB_XY_IC_BACKWARD,b_rmassx_inner_core,b_rmassy_inner_core)
+ b_rmassx_crust_mantle,b_rmassy_crust_mantle,&
+ NGLOB_XY_IC,rmassx_inner_core,rmassy_inner_core,&
+ NGLOB_XY_IC_BACKWARD,b_rmassx_inner_core,b_rmassy_inner_core)
implicit none
include "constants.h"
include "OUTPUT_FILES/values_from_mesher.h"
- integer myrank,SIMULATION_TYPE
+ integer myrank,SIMULATION_TYPE
! Stacey
real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_STACEY) :: &
@@ -112,12 +112,12 @@
!
! if absorbing_conditions are not set or if NCHUNKS=6, only one mass matrix is needed
! for the sake of performance, only "rmassz" array will be filled and "rmassx" & "rmassy" will be obsolete
- integer :: NGLOB_DUMMY,NGLOB_XY_CM,NGLOB_XY_CM_BACKWARD
+ integer :: NGLOB_DUMMY,NGLOB_XY_CM,NGLOB_XY_CM_BACKWARD
logical :: EXACT_MASS_MATRIX_FOR_ROTATION,USE_LDDRK
- real(kind=CUSTOM_REAL), dimension(NGLOB_XY_CM) :: rmassx_crust_mantle
- real(kind=CUSTOM_REAL), dimension(NGLOB_XY_CM) :: rmassy_crust_mantle
- real(kind=CUSTOM_REAL), dimension(NGLOB_XY_CM_BACKWARD) :: b_rmassx_crust_mantle
- real(kind=CUSTOM_REAL), dimension(NGLOB_XY_CM_BACKWARD) :: b_rmassy_crust_mantle
+ real(kind=CUSTOM_REAL), dimension(NGLOB_XY_CM) :: rmassx_crust_mantle
+ real(kind=CUSTOM_REAL), dimension(NGLOB_XY_CM) :: rmassy_crust_mantle
+ real(kind=CUSTOM_REAL), dimension(NGLOB_XY_CM_BACKWARD) :: b_rmassx_crust_mantle
+ real(kind=CUSTOM_REAL), dimension(NGLOB_XY_CM_BACKWARD) :: b_rmassy_crust_mantle
real(kind=CUSTOM_REAL), dimension(NGLOB_CRUST_MANTLE) :: rmassz_crust_mantle
! additional mass matrix for ocean load
@@ -154,11 +154,11 @@
integer, dimension(NSPEC_INNER_CORE) :: idoubling_inner_core
logical, dimension(NSPEC_INNER_CORE) :: ispec_is_tiso_inner_core
- integer :: NGLOB_XY_IC,NGLOB_XY_IC_BACKWARD
- real(kind=CUSTOM_REAL), dimension(NGLOB_XY_IC) :: rmassx_inner_core
- real(kind=CUSTOM_REAL), dimension(NGLOB_XY_IC) :: rmassy_inner_core
- real(kind=CUSTOM_REAL), dimension(NGLOB_XY_IC_BACKWARD) :: b_rmassx_inner_core
- real(kind=CUSTOM_REAL), dimension(NGLOB_XY_IC_BACKWARD) :: b_rmassy_inner_core
+ integer :: NGLOB_XY_IC,NGLOB_XY_IC_BACKWARD
+ real(kind=CUSTOM_REAL), dimension(NGLOB_XY_IC) :: rmassx_inner_core
+ real(kind=CUSTOM_REAL), dimension(NGLOB_XY_IC) :: rmassy_inner_core
+ real(kind=CUSTOM_REAL), dimension(NGLOB_XY_IC_BACKWARD) :: b_rmassx_inner_core
+ real(kind=CUSTOM_REAL), dimension(NGLOB_XY_IC_BACKWARD) :: b_rmassy_inner_core
real(kind=CUSTOM_REAL), dimension(NGLOB_INNER_CORE) :: rmass_inner_core
logical ABSORBING_CONDITIONS
@@ -223,9 +223,9 @@
ibool_crust_mantle,dummy_i,ispec_is_tiso_crust_mantle,NGLOB_XY_CM,NGLOB_CRUST_MANTLE, &
rmassx_crust_mantle,rmassy_crust_mantle,rmassz_crust_mantle,rmass_ocean_load,NSPEC_CRUST_MANTLE, &
is_on_a_slice_edge_crust_mantle,READ_KAPPA_MU,READ_TISO,TRANSVERSE_ISOTROPY_VAL,ANISOTROPIC_3D_MANTLE_VAL, &
- ANISOTROPIC_INNER_CORE_VAL,OCEANS_VAL,LOCAL_PATH,ABSORBING_CONDITIONS,&
+ ANISOTROPIC_INNER_CORE_VAL,OCEANS_VAL,LOCAL_PATH,ABSORBING_CONDITIONS,&
SIMULATION_TYPE,NGLOB_XY_CM_BACKWARD,EXACT_MASS_MATRIX_FOR_ROTATION,USE_LDDRK, &
- b_rmassx_crust_mantle,b_rmassy_crust_mantle)
+ b_rmassx_crust_mantle,b_rmassy_crust_mantle)
! synchronizes processes
@@ -258,12 +258,12 @@
dummy_array,dummy_array,dummy_array, &
dummy_array,dummy_array,dummy_array, &
dummy_array,dummy_array,dummy_array, &
- ibool_outer_core,idoubling_outer_core,ispec_is_tiso_outer_core,1,NGLOB_OUTER_CORE, &
+ ibool_outer_core,idoubling_outer_core,ispec_is_tiso_outer_core,1,NGLOB_OUTER_CORE, &
dummy_rmass,dummy_rmass,rmass_outer_core,rmass_ocean_load,NSPEC_OUTER_CORE, &
is_on_a_slice_edge_outer_core,READ_KAPPA_MU,READ_TISO,TRANSVERSE_ISOTROPY_VAL,ANISOTROPIC_3D_MANTLE_VAL, &
- ANISOTROPIC_INNER_CORE_VAL,OCEANS_VAL,LOCAL_PATH,ABSORBING_CONDITIONS,&
+ ANISOTROPIC_INNER_CORE_VAL,OCEANS_VAL,LOCAL_PATH,ABSORBING_CONDITIONS,&
SIMULATION_TYPE,NGLOB_DUMMY,EXACT_MASS_MATRIX_FOR_ROTATION,USE_LDDRK, &
- dummy_rmass,dummy_rmass)
+ dummy_rmass,dummy_rmass)
! synchronizes processes
call sync_all()
@@ -296,12 +296,12 @@
dummy_array,dummy_array,dummy_array, &
c44store_inner_core,dummy_array,dummy_array, &
dummy_array,dummy_array,dummy_array, &
- ibool_inner_core,idoubling_inner_core,ispec_is_tiso_inner_core,NGLOB_XY_IC,NGLOB_INNER_CORE, &
+ ibool_inner_core,idoubling_inner_core,ispec_is_tiso_inner_core,NGLOB_XY_IC,NGLOB_INNER_CORE, &
rmassx_inner_core,rmassy_inner_core,rmass_inner_core,rmass_ocean_load,NSPEC_INNER_CORE, &
is_on_a_slice_edge_inner_core,READ_KAPPA_MU,READ_TISO,TRANSVERSE_ISOTROPY_VAL,ANISOTROPIC_3D_MANTLE_VAL, &
- ANISOTROPIC_INNER_CORE_VAL,OCEANS_VAL,LOCAL_PATH,ABSORBING_CONDITIONS,&
+ ANISOTROPIC_INNER_CORE_VAL,OCEANS_VAL,LOCAL_PATH,ABSORBING_CONDITIONS,&
SIMULATION_TYPE,NGLOB_XY_IC_BACKWARD,EXACT_MASS_MATRIX_FOR_ROTATION,USE_LDDRK, &
- b_rmassx_inner_core,b_rmassy_inner_core)
+ b_rmassx_inner_core,b_rmassy_inner_core)
! check that the number of points in this slice is correct
if(minval(ibool_crust_mantle(:,:,:,:)) /= 1 .or. &
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/specfem3D.F90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/specfem3D.F90 2013-07-14 00:09:18 UTC (rev 22596)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/specfem3D.F90 2013-07-14 00:39:43 UTC (rev 22597)
@@ -393,16 +393,16 @@
real(kind=CUSTOM_REAL), dimension(N_SLS,ATT1_VAL,ATT2_VAL,ATT3_VAL,ATT5_VAL) :: factor_common_inner_core
real(kind=CUSTOM_REAL), dimension(5,N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ATTENUAT) :: R_memory_crust_mantle
- real(kind=CUSTOM_REAL), dimension(:,:,:,:,:), allocatable :: epsilondev_crust_mantle
- real(kind=CUSTOM_REAL), dimension(:,:,:,:), allocatable :: eps_trace_over_3_crust_mantle
- real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc
- real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ) :: eps_trace_over_3_loc
+ real(kind=CUSTOM_REAL), dimension(:,:,:,:,:), allocatable :: epsilondev_crust_mantle
+ real(kind=CUSTOM_REAL), dimension(:,:,:,:), allocatable :: eps_trace_over_3_crust_mantle
+ real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc
+ real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ) :: eps_trace_over_3_loc
real(kind=CUSTOM_REAL), dimension(5,NGLLX,NGLLY,NGLLZ) :: epsilondev_loc_crust_mantle
real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ) :: eps_trace_over_3_loc_crust_mantle
real(kind=CUSTOM_REAL), dimension(5,N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_INNER_CORE_ATTENUATION) :: R_memory_inner_core
- real(kind=CUSTOM_REAL), dimension(:,:,:,:,:), allocatable :: epsilondev_inner_core
- real(kind=CUSTOM_REAL), dimension(:,:,:,:), allocatable :: eps_trace_over_3_inner_core
+ real(kind=CUSTOM_REAL), dimension(:,:,:,:,:), allocatable :: epsilondev_inner_core
+ real(kind=CUSTOM_REAL), dimension(:,:,:,:), allocatable :: eps_trace_over_3_inner_core
! to save a significant amount of memory space, we equivalence these two arrays that are never used simultaneously
! (ibathy_topo is only used before the beginning of the time loop, while R_memory_crust_mantle is only used inside the time loop)
@@ -556,20 +556,20 @@
! if absorbing_conditions are not set or if NCHUNKS=6, only one mass matrix is needed
! for the sake of performance, only "rmassz" array will be filled and "rmassx" & "rmassy" will be obsolete
!
-! in the case of ROTATION, we should add two_omega_earth*deltat/2 contribution to rmassx & rmassy
-! thus in this case rmassx & rmassy will be used
-!
+! in the case of ROTATION, we should add two_omega_earth*deltat/2 contribution to rmassx & rmassy
+! thus in this case rmassx & rmassy will be used
+!
! in the case of ROTAION and SIMULATION_TYPE == 3, we should add b_two_omega_earth*deltat/2 contribution to &
-! b_rmassx & b_rmassy
+! b_rmassx & b_rmassy
real(kind=CUSTOM_REAL), dimension(:), allocatable :: rmassx_crust_mantle
real(kind=CUSTOM_REAL), dimension(:), allocatable :: rmassy_crust_mantle
- real(kind=CUSTOM_REAL), dimension(:), allocatable :: b_rmassx_crust_mantle
- real(kind=CUSTOM_REAL), dimension(:), allocatable :: b_rmassy_crust_mantle
+ real(kind=CUSTOM_REAL), dimension(:), allocatable :: b_rmassx_crust_mantle
+ real(kind=CUSTOM_REAL), dimension(:), allocatable :: b_rmassy_crust_mantle
real(kind=CUSTOM_REAL), dimension(NGLOB_CRUST_MANTLE) :: rmassz_crust_mantle
real(kind=CUSTOM_REAL), dimension(NGLOB_CRUST_MANTLE) :: b_rmassz_crust_mantle
- equivalence(rmassz_crust_mantle,b_rmassz_crust_mantle)
+ equivalence(rmassz_crust_mantle,b_rmassz_crust_mantle)
- integer :: NGLOB_XY_CM,NGLOB_XY_CM_BACKWARD
+ integer :: NGLOB_XY_CM,NGLOB_XY_CM_BACKWARD
! displacement, velocity, acceleration
real(kind=CUSTOM_REAL), dimension(NDIM,NGLOB_CRUST_MANTLE) :: &
@@ -624,13 +624,13 @@
logical, dimension(NSPEC_INNER_CORE) :: ispec_is_tiso_inner_core ! only needed for computer_boundary_kernel() routine
! mass matrix
- real(kind=CUSTOM_REAL), dimension(:), allocatable :: rmassx_inner_core
- real(kind=CUSTOM_REAL), dimension(:), allocatable :: rmassy_inner_core
- real(kind=CUSTOM_REAL), dimension(:), allocatable :: b_rmassx_inner_core
- real(kind=CUSTOM_REAL), dimension(:), allocatable :: b_rmassy_inner_core
- real(kind=CUSTOM_REAL), dimension(NGLOB_INNER_CORE) :: rmass_inner_core
- real(kind=CUSTOM_REAL), dimension(NGLOB_INNER_CORE) :: b_rmass_inner_core
- integer :: NGLOB_XY_IC,NGLOB_XY_IC_BACKWARD
+ real(kind=CUSTOM_REAL), dimension(:), allocatable :: rmassx_inner_core
+ real(kind=CUSTOM_REAL), dimension(:), allocatable :: rmassy_inner_core
+ real(kind=CUSTOM_REAL), dimension(:), allocatable :: b_rmassx_inner_core
+ real(kind=CUSTOM_REAL), dimension(:), allocatable :: b_rmassy_inner_core
+ real(kind=CUSTOM_REAL), dimension(NGLOB_INNER_CORE) :: rmass_inner_core
+ real(kind=CUSTOM_REAL), dimension(NGLOB_INNER_CORE) :: b_rmass_inner_core
+ integer :: NGLOB_XY_IC,NGLOB_XY_IC_BACKWARD
equivalence(rmass_inner_core,b_rmass_inner_core)
! displacement, velocity, acceleration
@@ -1197,49 +1197,49 @@
! if absorbing_conditions are not set or if NCHUNKS=6, only one mass matrix is needed
! for the sake of performance, only "rmassz" array will be filled and "rmassx" & "rmassy" will be obsolete
- NGLOB_XY_CM = 1
- NGLOB_XY_IC = 1
- NGLOB_XY_CM_BACKWARD = 1
- NGLOB_XY_IC_BACKWARD = 1
-
+ NGLOB_XY_CM = 1
+ NGLOB_XY_IC = 1
+ NGLOB_XY_CM_BACKWARD = 1
+ NGLOB_XY_IC_BACKWARD = 1
+
if(NCHUNKS_VAL /= 6 .and. ABSORBING_CONDITIONS .and. (.not. USE_LDDRK)) then
NGLOB_XY_CM = NGLOB_CRUST_MANTLE
else
NGLOB_XY_CM = 1
endif
- if(SIMULATION_TYPE /=3 .and. (.not. USE_LDDRK) .and. EXACT_MASS_MATRIX_FOR_ROTATION)then
+ if(SIMULATION_TYPE /=3 .and. (.not. USE_LDDRK) .and. EXACT_MASS_MATRIX_FOR_ROTATION)then
if(ROTATION_VAL)then
NGLOB_XY_CM = NGLOB_CRUST_MANTLE
NGLOB_XY_IC = NGLOB_INNER_CORE
endif
endif
- if(SIMULATION_TYPE ==3 .and. (.not. USE_LDDRK) .and. EXACT_MASS_MATRIX_FOR_ROTATION )then
+ if(SIMULATION_TYPE ==3 .and. (.not. USE_LDDRK) .and. EXACT_MASS_MATRIX_FOR_ROTATION )then
if(ROTATION_VAL)then
- NGLOB_XY_CM = NGLOB_CRUST_MANTLE
- NGLOB_XY_IC = NGLOB_INNER_CORE
+ NGLOB_XY_CM = NGLOB_CRUST_MANTLE
+ NGLOB_XY_IC = NGLOB_INNER_CORE
NGLOB_XY_CM_BACKWARD = NGLOB_CRUST_MANTLE
NGLOB_XY_IC_BACKWARD = NGLOB_INNER_CORE
endif
endif
- allocate(rmassx_crust_mantle(NGLOB_XY_CM),stat=ier)
+ allocate(rmassx_crust_mantle(NGLOB_XY_CM),stat=ier)
if( ier /= 0 ) call exit_MPI(myrank,'error allocating rmassx_crust_mantle')
allocate(rmassy_crust_mantle(NGLOB_XY_CM),stat=ier)
if( ier /= 0 ) call exit_MPI(myrank,'error allocating rmassy_crust_mantle')
- allocate(b_rmassx_crust_mantle(NGLOB_XY_CM_BACKWARD),stat=ier)
+ allocate(b_rmassx_crust_mantle(NGLOB_XY_CM_BACKWARD),stat=ier)
if( ier /= 0 ) call exit_MPI(myrank,'error allocating b_rmassx_crust_mantle')
allocate(b_rmassy_crust_mantle(NGLOB_XY_CM_BACKWARD),stat=ier)
if( ier /= 0 ) call exit_MPI(myrank,'error allocating b_rmassy_crust_mantle')
- allocate(rmassx_inner_core(NGLOB_XY_IC),stat=ier)
+ allocate(rmassx_inner_core(NGLOB_XY_IC),stat=ier)
if( ier /= 0 ) call exit_MPI(myrank,'error allocating rmassx_inner_core')
allocate(rmassy_inner_core(NGLOB_XY_IC),stat=ier)
if( ier /= 0 ) call exit_MPI(myrank,'error allocating rmassy_inner_core')
- allocate(b_rmassx_inner_core(NGLOB_XY_IC_BACKWARD),stat=ier)
+ allocate(b_rmassx_inner_core(NGLOB_XY_IC_BACKWARD),stat=ier)
if( ier /= 0 ) call exit_MPI(myrank,'error allocating b_rmassx_inner_core')
allocate(b_rmassy_inner_core(NGLOB_XY_IC_BACKWARD),stat=ier)
if( ier /= 0 ) call exit_MPI(myrank,'error allocating b_rmassy_inner_core')
@@ -1278,11 +1278,11 @@
c33store_inner_core,c44store_inner_core, &
ibool_inner_core,idoubling_inner_core,ispec_is_tiso_inner_core, &
is_on_a_slice_edge_inner_core,rmass_inner_core, &
- ABSORBING_CONDITIONS,LOCAL_PATH,NGLOB_XY_CM,&
+ ABSORBING_CONDITIONS,LOCAL_PATH,NGLOB_XY_CM,&
SIMULATION_TYPE,NGLOB_XY_CM_BACKWARD,EXACT_MASS_MATRIX_FOR_ROTATION,USE_LDDRK, &
- b_rmassx_crust_mantle,b_rmassy_crust_mantle,&
- NGLOB_XY_IC,rmassx_inner_core,rmassy_inner_core,&
- NGLOB_XY_IC_BACKWARD,b_rmassx_inner_core,b_rmassy_inner_core)
+ b_rmassx_crust_mantle,b_rmassy_crust_mantle,&
+ NGLOB_XY_IC,rmassx_inner_core,rmassy_inner_core,&
+ NGLOB_XY_IC_BACKWARD,b_rmassx_inner_core,b_rmassy_inner_core)
! read 2-D addressing for summation between slices with MPI
call read_mesh_databases_addressing(myrank, &
@@ -1802,12 +1802,12 @@
iproc_master_corners,iproc_worker1_corners,iproc_worker2_corners, &
buffer_send_faces,buffer_received_faces, &
buffer_send_chunkcorn_scalar,buffer_recv_chunkcorn_scalar, &
- NUMMSGS_FACES,NUM_MSG_TYPES,NCORNERSCHUNKS,NGLOB_XY_CM,ABSORBING_CONDITIONS, &
+ NUMMSGS_FACES,NUM_MSG_TYPES,NCORNERSCHUNKS,NGLOB_XY_CM,ABSORBING_CONDITIONS, &
NGLOB1D_RADIAL,NGLOB2DMAX_XMIN_XMAX,NGLOB2DMAX_YMIN_YMAX,npoin2D_max_all_CM_IC,&
SIMULATION_TYPE,EXACT_MASS_MATRIX_FOR_ROTATION,USE_LDDRK,NGLOB_XY_CM_BACKWARD,&
- b_rmassx_crust_mantle,b_rmassy_crust_mantle,&
- NGLOB_XY_IC,rmassx_inner_core,rmassy_inner_core,&
- NGLOB_XY_IC_BACKWARD,b_rmassx_inner_core,b_rmassy_inner_core)
+ b_rmassx_crust_mantle,b_rmassy_crust_mantle,&
+ NGLOB_XY_IC,rmassx_inner_core,rmassy_inner_core,&
+ NGLOB_XY_IC_BACKWARD,b_rmassx_inner_core,b_rmassy_inner_core)
! mass matrix including central cube
if(INCLUDE_CENTRAL_CUBE) then
@@ -1860,7 +1860,7 @@
buffer_slices,buffer_slices2,buffer_all_cube_from_slices)
if(ROTATION_VAL .and. (.not. USE_LDDRK) .and. EXACT_MASS_MATRIX_FOR_ROTATION &
- .and. NGLOB_XY_IC > 0)then
+ .and. NGLOB_XY_IC > 0)then
call prepare_timerun_centralcube(myrank,rmassx_inner_core, &
iproc_xi,iproc_eta,ichunk, &
@@ -1890,7 +1890,7 @@
sender_from_slices_to_cube,ibool_central_cube, &
buffer_slices,buffer_slices2,buffer_all_cube_from_slices)
- if(SIMULATION_TYPE == 3 .and. NGLOB_XY_IC_BACKWARD > 0)then
+ if(SIMULATION_TYPE == 3 .and. NGLOB_XY_IC_BACKWARD > 0)then
call prepare_timerun_centralcube(myrank,b_rmassx_inner_core, &
iproc_xi,iproc_eta,ichunk, &
@@ -1951,7 +1951,7 @@
! add C*delta/2 contribution to the mass matrices on the Stacey edges
if(((NCHUNKS_VAL /= 6 .and. ABSORBING_CONDITIONS) .or. &
(ROTATION_VAL .and. EXACT_MASS_MATRIX_FOR_ROTATION)) &
- .and. (.not. USE_LDDRK)) then
+ .and. (.not. USE_LDDRK)) then
if(minval(rmassx_crust_mantle) <= 0._CUSTOM_REAL) &
call exit_MPI(myrank,'negative mass matrix term for the crust_mantle')
if(minval(rmassy_crust_mantle) <= 0._CUSTOM_REAL) &
@@ -1971,12 +1971,12 @@
! add C*delta/2 contribution to the mass matrices on the Stacey edges
if(((NCHUNKS_VAL /= 6 .and. ABSORBING_CONDITIONS) .or. &
(ROTATION_VAL .and. EXACT_MASS_MATRIX_FOR_ROTATION)) &
- .and. (.not. USE_LDDRK)) then
+ .and. (.not. USE_LDDRK)) then
rmassx_crust_mantle = 1._CUSTOM_REAL / rmassx_crust_mantle
rmassy_crust_mantle = 1._CUSTOM_REAL / rmassy_crust_mantle
endif
- if(.not. USE_LDDRK)then
+ if(.not. USE_LDDRK)then
if(ROTATION_VAL .and. EXACT_MASS_MATRIX_FOR_ROTATION .and. NGLOB_XY_IC > 0) then
if(minval(rmassx_inner_core) <= 0._CUSTOM_REAL) &
call exit_MPI(myrank,'negative mass matrix term for the rmassx_inner_core')
@@ -1984,14 +1984,14 @@
call exit_MPI(myrank,'negative mass matrix term for the rmassy_inner_core')
rmassx_inner_core = 1._CUSTOM_REAL / rmassx_inner_core
rmassy_inner_core = 1._CUSTOM_REAL / rmassy_inner_core
- if(SIMULATION_TYPE == 3 .and. NGLOB_XY_IC_BACKWARD > 0)then
+ if(SIMULATION_TYPE == 3 .and. NGLOB_XY_IC_BACKWARD > 0)then
if(minval(b_rmassx_inner_core) <= 0._CUSTOM_REAL) &
call exit_MPI(myrank,'negative mass matrix term for the b_rmassx_inner_core')
if(minval(b_rmassy_inner_core) <= 0._CUSTOM_REAL) &
call exit_MPI(myrank,'negative mass matrix term for the b_rmassy_inner_core')
b_rmassx_inner_core = 1._CUSTOM_REAL / b_rmassx_inner_core
b_rmassy_inner_core = 1._CUSTOM_REAL / b_rmassy_inner_core
- endif
+ endif
endif
if(ROTATION_VAL .and. EXACT_MASS_MATRIX_FOR_ROTATION &
@@ -2592,9 +2592,9 @@
it_temp = it
seismo_current_temp = seismo_current
- if(COMPUTE_AND_STORE_STRAIN) then
+ if(COMPUTE_AND_STORE_STRAIN) then
if(.not. USE_DEVILLE_PRODUCTS_VAL) &
- call exit_MPI(myrank,'COMPUTE_AND_STORE_STRAIN is not implemented without USE_DEVILLE_PRODUCTS_VAL')
+ call exit_MPI(myrank,'COMPUTE_AND_STORE_STRAIN is not implemented without USE_DEVILLE_PRODUCTS_VAL')
do ispec = 1, NSPEC_INNER_CORE
call compute_element_strain_att_Dev(ispec,NGLOB_INNER_CORE,NSPEC_INNER_CORE,b_displ_inner_core,&
b_veloc_inner_core,0._CUSTOM_REAL,ibool_inner_core,hprime_xx,hprime_xxT,&
@@ -2607,7 +2607,7 @@
epsilondev_inner_core(2,:,:,:,ispec) = epsilondev_loc(2,:,:,:)
epsilondev_inner_core(3,:,:,:,ispec) = epsilondev_loc(3,:,:,:)
epsilondev_inner_core(4,:,:,:,ispec) = epsilondev_loc(4,:,:,:)
- epsilondev_inner_core(5,:,:,:,ispec) = epsilondev_loc(5,:,:,:)
+ epsilondev_inner_core(5,:,:,:,ispec) = epsilondev_loc(5,:,:,:)
enddo
do ispec = 1, NSPEC_crust_mantle
@@ -2622,7 +2622,7 @@
epsilondev_crust_mantle(2,:,:,:,ispec) = epsilondev_loc(2,:,:,:)
epsilondev_crust_mantle(3,:,:,:,ispec) = epsilondev_loc(3,:,:,:)
epsilondev_crust_mantle(4,:,:,:,ispec) = epsilondev_loc(4,:,:,:)
- epsilondev_crust_mantle(5,:,:,:,ispec) = epsilondev_loc(5,:,:,:)
+ epsilondev_crust_mantle(5,:,:,:,ispec) = epsilondev_loc(5,:,:,:)
enddo
endif
@@ -2642,9 +2642,9 @@
it = it_temp
seismo_current = seismo_current_temp
- if(COMPUTE_AND_STORE_STRAIN) then
+ if(COMPUTE_AND_STORE_STRAIN) then
if(.not. USE_DEVILLE_PRODUCTS_VAL) &
- call exit_MPI(myrank,'COMPUTE_AND_STORE_STRAIN is not implemented without USE_DEVILLE_PRODUCTS_VAL')
+ call exit_MPI(myrank,'COMPUTE_AND_STORE_STRAIN is not implemented without USE_DEVILLE_PRODUCTS_VAL')
do ispec = 1, NSPEC_INNER_CORE
call compute_element_strain_att_Dev(ispec,NGLOB_INNER_CORE,NSPEC_INNER_CORE,displ_inner_core,&
veloc_inner_core,0._CUSTOM_REAL,ibool_inner_core,hprime_xx,hprime_xxT,&
@@ -2657,7 +2657,7 @@
epsilondev_inner_core(2,:,:,:,ispec) = epsilondev_loc(2,:,:,:)
epsilondev_inner_core(3,:,:,:,ispec) = epsilondev_loc(3,:,:,:)
epsilondev_inner_core(4,:,:,:,ispec) = epsilondev_loc(4,:,:,:)
- epsilondev_inner_core(5,:,:,:,ispec) = epsilondev_loc(5,:,:,:)
+ epsilondev_inner_core(5,:,:,:,ispec) = epsilondev_loc(5,:,:,:)
enddo
do ispec = 1, NSPEC_crust_mantle
@@ -2672,7 +2672,7 @@
epsilondev_crust_mantle(2,:,:,:,ispec) = epsilondev_loc(2,:,:,:)
epsilondev_crust_mantle(3,:,:,:,ispec) = epsilondev_loc(3,:,:,:)
epsilondev_crust_mantle(4,:,:,:,ispec) = epsilondev_loc(4,:,:,:)
- epsilondev_crust_mantle(5,:,:,:,ispec) = epsilondev_loc(5,:,:,:)
+ epsilondev_crust_mantle(5,:,:,:,ispec) = epsilondev_loc(5,:,:,:)
enddo
endif
More information about the CIG-COMMITS
mailing list