[cig-commits] r20712 - in seismo/3D/SPECFEM3D/trunk: examples/BENCHMARK_CLAERBOUT_ADJOINT/ACOUSTIC/in_data_files examples/BENCHMARK_CLAERBOUT_ADJOINT/ELASTIC/in_data_files examples/Mount_StHelens/in_data_files examples/homogeneous_halfspace/in_data_files examples/homogeneous_poroelastic/in_data_files examples/layered_halfspace/in_data_files examples/meshfem3D_examples/many_interfaces examples/meshfem3D_examples/simple_model/in_data_files examples/meshfem3D_examples/socal1D/in_data_files examples/tomographic_model/in_data_files examples/waterlayered_halfspace/in_data_files in_data_files src/generate_databases src/shared src/specfem3D
joseph.charles at geodynamics.org
joseph.charles at geodynamics.org
Thu Sep 13 14:00:44 PDT 2012
Author: joseph.charles
Date: 2012-09-13 14:00:44 -0700 (Thu, 13 Sep 2012)
New Revision: 20712
Modified:
seismo/3D/SPECFEM3D/trunk/examples/BENCHMARK_CLAERBOUT_ADJOINT/ACOUSTIC/in_data_files/Par_file
seismo/3D/SPECFEM3D/trunk/examples/BENCHMARK_CLAERBOUT_ADJOINT/ELASTIC/in_data_files/Par_file
seismo/3D/SPECFEM3D/trunk/examples/Mount_StHelens/in_data_files/Par_file
seismo/3D/SPECFEM3D/trunk/examples/homogeneous_halfspace/in_data_files/Par_file
seismo/3D/SPECFEM3D/trunk/examples/homogeneous_poroelastic/in_data_files/Par_file
seismo/3D/SPECFEM3D/trunk/examples/layered_halfspace/in_data_files/Par_file
seismo/3D/SPECFEM3D/trunk/examples/meshfem3D_examples/many_interfaces/Par_file
seismo/3D/SPECFEM3D/trunk/examples/meshfem3D_examples/simple_model/in_data_files/Par_file
seismo/3D/SPECFEM3D/trunk/examples/meshfem3D_examples/socal1D/in_data_files/Par_file
seismo/3D/SPECFEM3D/trunk/examples/tomographic_model/in_data_files/Par_file
seismo/3D/SPECFEM3D/trunk/examples/waterlayered_halfspace/in_data_files/Par_file
seismo/3D/SPECFEM3D/trunk/in_data_files/Par_file
seismo/3D/SPECFEM3D/trunk/src/generate_databases/generate_databases.f90
seismo/3D/SPECFEM3D/trunk/src/generate_databases/generate_databases_par.f90
seismo/3D/SPECFEM3D/trunk/src/shared/combine_vol_data.f90
seismo/3D/SPECFEM3D/trunk/src/shared/constants.h.in
seismo/3D/SPECFEM3D/trunk/src/shared/create_movie_shakemap_AVS_DX_GMT.f90
seismo/3D/SPECFEM3D/trunk/src/shared/get_cmt.f90
seismo/3D/SPECFEM3D/trunk/src/shared/read_parameter_file.f90
seismo/3D/SPECFEM3D/trunk/src/shared/smooth_vol_data.f90
seismo/3D/SPECFEM3D/trunk/src/shared/sum_kernels.f90
seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_add_sources_acoustic.f90
seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_add_sources_elastic.f90
seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_add_sources_poroelastic.f90
seismo/3D/SPECFEM3D/trunk/src/specfem3D/initialize_simulation.f90
seismo/3D/SPECFEM3D/trunk/src/specfem3D/locate_source.f90
seismo/3D/SPECFEM3D/trunk/src/specfem3D/setup_sources_receivers.f90
seismo/3D/SPECFEM3D/trunk/src/specfem3D/specfem3D_par.f90
Log:
moves point source flags from constants.h.in to Par_file
Modified: seismo/3D/SPECFEM3D/trunk/examples/BENCHMARK_CLAERBOUT_ADJOINT/ACOUSTIC/in_data_files/Par_file
===================================================================
--- seismo/3D/SPECFEM3D/trunk/examples/BENCHMARK_CLAERBOUT_ADJOINT/ACOUSTIC/in_data_files/Par_file 2012-09-11 21:42:49 UTC (rev 20711)
+++ seismo/3D/SPECFEM3D/trunk/examples/BENCHMARK_CLAERBOUT_ADJOINT/ACOUSTIC/in_data_files/Par_file 2012-09-13 21:00:44 UTC (rev 20712)
@@ -61,6 +61,14 @@
# interval in time steps for reading adjoint traces
NTSTEP_BETWEEN_READ_ADJSRC = 0 # 0 = read the whole adjoint sources at the same time
+# use a force source located exactly at a grid point instead of a CMTSOLUTION source
+# this can be useful e.g. for oil industry foothills simulations or asteroid simulations
+# in which the source is a vertical force, normal force, impact etc.
+USE_FORCE_POINT_SOURCE = .false.
+FACTOR_FORCE_SOURCE = 1.d15
+# direction in comp E/N/Z = 1/2/3
+COMPONENT_FORCE_SOURCE = 3
+
# print source time function
PRINT_SOURCE_TIME_FUNCTION = .true.
Modified: seismo/3D/SPECFEM3D/trunk/examples/BENCHMARK_CLAERBOUT_ADJOINT/ELASTIC/in_data_files/Par_file
===================================================================
--- seismo/3D/SPECFEM3D/trunk/examples/BENCHMARK_CLAERBOUT_ADJOINT/ELASTIC/in_data_files/Par_file 2012-09-11 21:42:49 UTC (rev 20711)
+++ seismo/3D/SPECFEM3D/trunk/examples/BENCHMARK_CLAERBOUT_ADJOINT/ELASTIC/in_data_files/Par_file 2012-09-13 21:00:44 UTC (rev 20712)
@@ -61,6 +61,14 @@
# interval in time steps for reading adjoint traces
NTSTEP_BETWEEN_READ_ADJSRC = 0 # 0 = read the whole adjoint sources at the same time
+# use a force source located exactly at a grid point instead of a CMTSOLUTION source
+# this can be useful e.g. for oil industry foothills simulations or asteroid simulations
+# in which the source is a vertical force, normal force, impact etc.
+USE_FORCE_POINT_SOURCE = .false.
+FACTOR_FORCE_SOURCE = 1.d15
+# direction in comp E/N/Z = 1/2/3
+COMPONENT_FORCE_SOURCE = 3
+
# print source time function
PRINT_SOURCE_TIME_FUNCTION = .true.
Modified: seismo/3D/SPECFEM3D/trunk/examples/Mount_StHelens/in_data_files/Par_file
===================================================================
--- seismo/3D/SPECFEM3D/trunk/examples/Mount_StHelens/in_data_files/Par_file 2012-09-11 21:42:49 UTC (rev 20711)
+++ seismo/3D/SPECFEM3D/trunk/examples/Mount_StHelens/in_data_files/Par_file 2012-09-13 21:00:44 UTC (rev 20712)
@@ -61,6 +61,14 @@
# interval in time steps for reading adjoint traces
NTSTEP_BETWEEN_READ_ADJSRC = 0 # 0 = read the whole adjoint sources at the same time
+# use a force source located exactly at a grid point instead of a CMTSOLUTION source
+# this can be useful e.g. for oil industry foothills simulations or asteroid simulations
+# in which the source is a vertical force, normal force, impact etc.
+USE_FORCE_POINT_SOURCE = .false.
+FACTOR_FORCE_SOURCE = 1.d15
+# direction in comp E/N/Z = 1/2/3
+COMPONENT_FORCE_SOURCE = 3
+
# print source time function
PRINT_SOURCE_TIME_FUNCTION = .false.
Modified: seismo/3D/SPECFEM3D/trunk/examples/homogeneous_halfspace/in_data_files/Par_file
===================================================================
--- seismo/3D/SPECFEM3D/trunk/examples/homogeneous_halfspace/in_data_files/Par_file 2012-09-11 21:42:49 UTC (rev 20711)
+++ seismo/3D/SPECFEM3D/trunk/examples/homogeneous_halfspace/in_data_files/Par_file 2012-09-13 21:00:44 UTC (rev 20712)
@@ -63,6 +63,14 @@
# 0 = read the whole adjoint sources at the same time
NTSTEP_BETWEEN_READ_ADJSRC = 0
+# use a force source located exactly at a grid point instead of a CMTSOLUTION source
+# this can be useful e.g. for oil industry foothills simulations or asteroid simulations
+# in which the source is a vertical force, normal force, impact etc.
+USE_FORCE_POINT_SOURCE = .false.
+FACTOR_FORCE_SOURCE = 1.d15
+# direction in comp E/N/Z = 1/2/3
+COMPONENT_FORCE_SOURCE = 3
+
# print source time function
PRINT_SOURCE_TIME_FUNCTION = .false.
Modified: seismo/3D/SPECFEM3D/trunk/examples/homogeneous_poroelastic/in_data_files/Par_file
===================================================================
--- seismo/3D/SPECFEM3D/trunk/examples/homogeneous_poroelastic/in_data_files/Par_file 2012-09-11 21:42:49 UTC (rev 20711)
+++ seismo/3D/SPECFEM3D/trunk/examples/homogeneous_poroelastic/in_data_files/Par_file 2012-09-13 21:00:44 UTC (rev 20712)
@@ -63,6 +63,14 @@
# # 0 = read the whole adjoint sources at the same time
NTSTEP_BETWEEN_READ_ADJSRC = 0
+# use a force source located exactly at a grid point instead of a CMTSOLUTION source
+# this can be useful e.g. for oil industry foothills simulations or asteroid simulations
+# in which the source is a vertical force, normal force, impact etc.
+USE_FORCE_POINT_SOURCE = .false.
+FACTOR_FORCE_SOURCE = 1.d15
+# direction in comp E/N/Z = 1/2/3
+COMPONENT_FORCE_SOURCE = 3
+
# print source time function
PRINT_SOURCE_TIME_FUNCTION = .true.
Modified: seismo/3D/SPECFEM3D/trunk/examples/layered_halfspace/in_data_files/Par_file
===================================================================
--- seismo/3D/SPECFEM3D/trunk/examples/layered_halfspace/in_data_files/Par_file 2012-09-11 21:42:49 UTC (rev 20711)
+++ seismo/3D/SPECFEM3D/trunk/examples/layered_halfspace/in_data_files/Par_file 2012-09-13 21:00:44 UTC (rev 20712)
@@ -62,6 +62,14 @@
# interval in time steps for reading adjoint traces
NTSTEP_BETWEEN_READ_ADJSRC = 0 # 0 = read the whole adjoint sources at the same time
+# use a force source located exactly at a grid point instead of a CMTSOLUTION source
+# this can be useful e.g. for oil industry foothills simulations or asteroid simulations
+# in which the source is a vertical force, normal force, impact etc.
+USE_FORCE_POINT_SOURCE = .false.
+FACTOR_FORCE_SOURCE = 1.d15
+# direction in comp E/N/Z = 1/2/3
+COMPONENT_FORCE_SOURCE = 3
+
# print source time function
PRINT_SOURCE_TIME_FUNCTION = .false.
Modified: seismo/3D/SPECFEM3D/trunk/examples/meshfem3D_examples/many_interfaces/Par_file
===================================================================
--- seismo/3D/SPECFEM3D/trunk/examples/meshfem3D_examples/many_interfaces/Par_file 2012-09-11 21:42:49 UTC (rev 20711)
+++ seismo/3D/SPECFEM3D/trunk/examples/meshfem3D_examples/many_interfaces/Par_file 2012-09-13 21:00:44 UTC (rev 20712)
@@ -62,6 +62,14 @@
# interval in time steps for reading adjoint traces
NTSTEP_BETWEEN_READ_ADJSRC = 0 # 0 = read the whole adjoint sources at the same time
+# use a force source located exactly at a grid point instead of a CMTSOLUTION source
+# this can be useful e.g. for oil industry foothills simulations or asteroid simulations
+# in which the source is a vertical force, normal force, impact etc.
+USE_FORCE_POINT_SOURCE = .false.
+FACTOR_FORCE_SOURCE = 1.d15
+# direction in comp E/N/Z = 1/2/3
+COMPONENT_FORCE_SOURCE = 3
+
# print source time function
PRINT_SOURCE_TIME_FUNCTION = .false.
Modified: seismo/3D/SPECFEM3D/trunk/examples/meshfem3D_examples/simple_model/in_data_files/Par_file
===================================================================
--- seismo/3D/SPECFEM3D/trunk/examples/meshfem3D_examples/simple_model/in_data_files/Par_file 2012-09-11 21:42:49 UTC (rev 20711)
+++ seismo/3D/SPECFEM3D/trunk/examples/meshfem3D_examples/simple_model/in_data_files/Par_file 2012-09-13 21:00:44 UTC (rev 20712)
@@ -62,6 +62,14 @@
# interval in time steps for reading adjoint traces
NTSTEP_BETWEEN_READ_ADJSRC = 0 # 0 = read the whole adjoint sources at the same time
+# use a force source located exactly at a grid point instead of a CMTSOLUTION source
+# this can be useful e.g. for oil industry foothills simulations or asteroid simulations
+# in which the source is a vertical force, normal force, impact etc.
+USE_FORCE_POINT_SOURCE = .false.
+FACTOR_FORCE_SOURCE = 1.d15
+# direction in comp E/N/Z = 1/2/3
+COMPONENT_FORCE_SOURCE = 3
+
# print source time function
PRINT_SOURCE_TIME_FUNCTION = .false.
Modified: seismo/3D/SPECFEM3D/trunk/examples/meshfem3D_examples/socal1D/in_data_files/Par_file
===================================================================
--- seismo/3D/SPECFEM3D/trunk/examples/meshfem3D_examples/socal1D/in_data_files/Par_file 2012-09-11 21:42:49 UTC (rev 20711)
+++ seismo/3D/SPECFEM3D/trunk/examples/meshfem3D_examples/socal1D/in_data_files/Par_file 2012-09-13 21:00:44 UTC (rev 20712)
@@ -62,6 +62,14 @@
# interval in time steps for reading adjoint traces
NTSTEP_BETWEEN_READ_ADJSRC = 0 # 0 = read the whole adjoint sources at the same time
+# use a force source located exactly at a grid point instead of a CMTSOLUTION source
+# this can be useful e.g. for oil industry foothills simulations or asteroid simulations
+# in which the source is a vertical force, normal force, impact etc.
+USE_FORCE_POINT_SOURCE = .false.
+FACTOR_FORCE_SOURCE = 1.d15
+# direction in comp E/N/Z = 1/2/3
+COMPONENT_FORCE_SOURCE = 3
+
# print source time function
PRINT_SOURCE_TIME_FUNCTION = .true.
Modified: seismo/3D/SPECFEM3D/trunk/examples/tomographic_model/in_data_files/Par_file
===================================================================
--- seismo/3D/SPECFEM3D/trunk/examples/tomographic_model/in_data_files/Par_file 2012-09-11 21:42:49 UTC (rev 20711)
+++ seismo/3D/SPECFEM3D/trunk/examples/tomographic_model/in_data_files/Par_file 2012-09-13 21:00:44 UTC (rev 20712)
@@ -62,6 +62,14 @@
# interval in time steps for reading adjoint traces
NTSTEP_BETWEEN_READ_ADJSRC = 0 # 0 = read the whole adjoint sources at the same time
+# use a force source located exactly at a grid point instead of a CMTSOLUTION source
+# this can be useful e.g. for oil industry foothills simulations or asteroid simulations
+# in which the source is a vertical force, normal force, impact etc.
+USE_FORCE_POINT_SOURCE = .false.
+FACTOR_FORCE_SOURCE = 1.d15
+# direction in comp E/N/Z = 1/2/3
+COMPONENT_FORCE_SOURCE = 3
+
# print source time function
PRINT_SOURCE_TIME_FUNCTION = .false.
Modified: seismo/3D/SPECFEM3D/trunk/examples/waterlayered_halfspace/in_data_files/Par_file
===================================================================
--- seismo/3D/SPECFEM3D/trunk/examples/waterlayered_halfspace/in_data_files/Par_file 2012-09-11 21:42:49 UTC (rev 20711)
+++ seismo/3D/SPECFEM3D/trunk/examples/waterlayered_halfspace/in_data_files/Par_file 2012-09-13 21:00:44 UTC (rev 20712)
@@ -62,6 +62,14 @@
# interval in time steps for reading adjoint traces
NTSTEP_BETWEEN_READ_ADJSRC = 0 # 0 = read the whole adjoint sources at the same time
+# use a force source located exactly at a grid point instead of a CMTSOLUTION source
+# this can be useful e.g. for oil industry foothills simulations or asteroid simulations
+# in which the source is a vertical force, normal force, impact etc.
+USE_FORCE_POINT_SOURCE = .false.
+FACTOR_FORCE_SOURCE = 1.d15
+# direction in comp E/N/Z = 1/2/3
+COMPONENT_FORCE_SOURCE = 3
+
# print source time function
PRINT_SOURCE_TIME_FUNCTION = .false.
Modified: seismo/3D/SPECFEM3D/trunk/in_data_files/Par_file
===================================================================
--- seismo/3D/SPECFEM3D/trunk/in_data_files/Par_file 2012-09-11 21:42:49 UTC (rev 20711)
+++ seismo/3D/SPECFEM3D/trunk/in_data_files/Par_file 2012-09-13 21:00:44 UTC (rev 20712)
@@ -63,6 +63,14 @@
# 0 = read the whole adjoint sources at the same time
NTSTEP_BETWEEN_READ_ADJSRC = 0
+# use a force source located exactly at a grid point instead of a CMTSOLUTION source
+# this can be useful e.g. for oil industry foothills simulations or asteroid simulations
+# in which the source is a vertical force, normal force, impact etc.
+USE_FORCE_POINT_SOURCE = .false.
+FACTOR_FORCE_SOURCE = 1.d15
+# direction in comp E/N/Z = 1/2/3
+COMPONENT_FORCE_SOURCE = 3
+
# print source time function
PRINT_SOURCE_TIME_FUNCTION = .false.
Modified: seismo/3D/SPECFEM3D/trunk/src/generate_databases/generate_databases.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/generate_databases/generate_databases.f90 2012-09-11 21:42:49 UTC (rev 20711)
+++ seismo/3D/SPECFEM3D/trunk/src/generate_databases/generate_databases.f90 2012-09-13 21:00:44 UTC (rev 20712)
@@ -261,7 +261,9 @@
NTSTEP_BETWEEN_FRAMES,USE_HIGHRES_FOR_MOVIES,HDUR_MOVIE, &
SAVE_MESH_FILES,PRINT_SOURCE_TIME_FUNCTION, &
NTSTEP_BETWEEN_OUTPUT_INFO,SIMULATION_TYPE,SAVE_FORWARD, &
- NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY,IMODEL)
+ NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY, &
+ USE_FORCE_POINT_SOURCE,FACTOR_FORCE_SOURCE, &
+ COMPONENT_FORCE_SOURCE,IMODEL)
! check that the code is running with the requested nb of processes
if(sizeprocs /= NPROC) then
@@ -394,6 +396,12 @@
endif
write(IMAIN,*)
+ if(USE_FORCE_POINT_SOURCE) then
+ write(IMAIN,*) 'using a force point source instead of a CMTSOLUTION source'
+ else
+ write(IMAIN,*) 'using a CMTSOLUTION source'
+ write(IMAIN,*)
+ endif
endif
Modified: seismo/3D/SPECFEM3D/trunk/src/generate_databases/generate_databases_par.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/generate_databases/generate_databases_par.f90 2012-09-11 21:42:49 UTC (rev 20711)
+++ seismo/3D/SPECFEM3D/trunk/src/generate_databases/generate_databases_par.f90 2012-09-13 21:00:44 UTC (rev 20712)
@@ -56,12 +56,12 @@
! parameters read from parameter file
integer :: NTSTEP_BETWEEN_OUTPUT_SEISMOS,NSTEP,SIMULATION_TYPE
- integer :: NSOURCES
+ integer :: NSOURCES,COMPONENT_FORCE_SOURCE
- double precision :: DT,HDUR_MOVIE
+ double precision :: DT,HDUR_MOVIE,FACTOR_FORCE_SOURCE
logical :: ATTENUATION,USE_OLSEN_ATTENUATION, &
- OCEANS, TOPOGRAPHY, SAVE_FORWARD
+ OCEANS,TOPOGRAPHY,SAVE_FORWARD,USE_FORCE_POINT_SOURCE
logical :: ANISOTROPY,ABSORBING_CONDITIONS,SAVE_MESH_FILES,PRINT_SOURCE_TIME_FUNCTION
logical :: MOVIE_SURFACE,MOVIE_VOLUME,CREATE_SHAKEMAP,SAVE_DISPLACEMENT, &
Modified: seismo/3D/SPECFEM3D/trunk/src/shared/combine_vol_data.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/shared/combine_vol_data.f90 2012-09-11 21:42:49 UTC (rev 20711)
+++ seismo/3D/SPECFEM3D/trunk/src/shared/combine_vol_data.f90 2012-09-13 21:00:44 UTC (rev 20712)
@@ -89,7 +89,7 @@
! for read_parameter_files
double precision :: DT
- double precision :: HDUR_MOVIE
+ double precision :: HDUR_MOVIE,FACTOR_FORCE_SOURCE
integer :: NPROC,NTSTEP_BETWEEN_OUTPUT_SEISMOS,NSTEP, &
UTM_PROJECTION_ZONE,SIMULATION_TYPE
integer :: NSOURCES,NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY
@@ -97,11 +97,11 @@
logical :: MOVIE_SURFACE,MOVIE_VOLUME,CREATE_SHAKEMAP,SAVE_DISPLACEMENT, &
USE_HIGHRES_FOR_MOVIES,SUPPRESS_UTM_PROJECTION
logical :: ATTENUATION,USE_OLSEN_ATTENUATION, &
- OCEANS,TOPOGRAPHY
+ OCEANS,TOPOGRAPHY,USE_FORCE_POINT_SOURCE
logical :: ABSORBING_CONDITIONS,SAVE_FORWARD
logical :: ANISOTROPY,SAVE_MESH_FILES,PRINT_SOURCE_TIME_FUNCTION
character(len=256) LOCAL_PATH
- integer :: IMODEL
+ integer :: COMPONENT_FORCE_SOURCE,IMODEL
! checks given arguments
print *
@@ -181,7 +181,9 @@
NTSTEP_BETWEEN_FRAMES,USE_HIGHRES_FOR_MOVIES,HDUR_MOVIE, &
SAVE_MESH_FILES,PRINT_SOURCE_TIME_FUNCTION, &
NTSTEP_BETWEEN_OUTPUT_INFO,SIMULATION_TYPE,SAVE_FORWARD, &
- NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY,IMODEL)
+ NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY, &
+ USE_FORCE_POINT_SOURCE,FACTOR_FORCE_SOURCE, &
+ COMPONENT_FORCE_SOURCE,IMODEL)
print *, 'Slice list: '
print *, node_list(1:num_node)
Modified: seismo/3D/SPECFEM3D/trunk/src/shared/constants.h.in
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/shared/constants.h.in 2012-09-11 21:42:49 UTC (rev 20711)
+++ seismo/3D/SPECFEM3D/trunk/src/shared/constants.h.in 2012-09-13 21:00:44 UTC (rev 20712)
@@ -198,13 +198,6 @@
! no lagrange interpolation on seismograms (we take the value on one NGLL point)
logical, parameter :: FASTER_RECEIVERS_POINTS_ONLY = .false.
-! use a force source located exactly at a grid point instead of a CMTSOLUTION source
-! this can be useful e.g. for oil industry foothills simulations or asteroid simulations
-! in which the source is a vertical force, normal force, impact etc.
- logical, parameter :: USE_FORCE_POINT_SOURCE = .false.
- double precision, parameter :: FACTOR_FORCE_SOURCE = 1.d15
- integer, parameter :: COMPONENT_FORCE_SOURCE = 3 ! takes direction in comp E/N/Z = 1/2/3
-
! set to use a Ricker source time function instead of a gaussian
logical, parameter :: USE_RICKER_IPATI = .false.
Modified: seismo/3D/SPECFEM3D/trunk/src/shared/create_movie_shakemap_AVS_DX_GMT.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/shared/create_movie_shakemap_AVS_DX_GMT.f90 2012-09-11 21:42:49 UTC (rev 20711)
+++ seismo/3D/SPECFEM3D/trunk/src/shared/create_movie_shakemap_AVS_DX_GMT.f90 2012-09-13 21:00:44 UTC (rev 20712)
@@ -90,15 +90,15 @@
USE_HIGHRES_FOR_MOVIES,SUPPRESS_UTM_PROJECTION
integer NTSTEP_BETWEEN_FRAMES,NTSTEP_BETWEEN_OUTPUT_INFO
double precision DT
- double precision HDUR_MOVIE
+ double precision HDUR_MOVIE,FACTOR_FORCE_SOURCE
logical ATTENUATION,USE_OLSEN_ATTENUATION, &
- OCEANS,TOPOGRAPHY
+ OCEANS,TOPOGRAPHY,USE_FORCE_POINT_SOURCE
logical ABSORBING_CONDITIONS,SAVE_FORWARD
logical ANISOTROPY,SAVE_MESH_FILES,PRINT_SOURCE_TIME_FUNCTION
character(len=256) OUTPUT_FILES,LOCAL_PATH
integer NPROC
integer ier
- integer :: IMODEL
+ integer COMPONENT_FORCE_SOURCE,IMODEL
!--------------------------------------------
!!!! NL NL for external meshes
@@ -135,7 +135,9 @@
NTSTEP_BETWEEN_FRAMES,USE_HIGHRES_FOR_MOVIES,HDUR_MOVIE, &
SAVE_MESH_FILES,PRINT_SOURCE_TIME_FUNCTION, &
NTSTEP_BETWEEN_OUTPUT_INFO,SIMULATION_TYPE,SAVE_FORWARD, &
- NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY,IMODEL)
+ NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY, &
+ USE_FORCE_POINT_SOURCE,FACTOR_FORCE_SOURCE, &
+ COMPONENT_FORCE_SOURCE,IMODEL)
! get the base pathname for output files
call get_value_string(OUTPUT_FILES, 'OUTPUT_FILES', OUTPUT_FILES_PATH(1:len_trim(OUTPUT_FILES_PATH)))
Modified: seismo/3D/SPECFEM3D/trunk/src/shared/get_cmt.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/shared/get_cmt.f90 2012-09-11 21:42:49 UTC (rev 20711)
+++ seismo/3D/SPECFEM3D/trunk/src/shared/get_cmt.f90 2012-09-13 21:00:44 UTC (rev 20712)
@@ -25,7 +25,7 @@
!=====================================================================
subroutine get_cmt(yr,jda,ho,mi,sec,tshift_cmt,hdur,lat,long,depth,moment_tensor,&
- DT,NSOURCES,min_tshift_cmt_original)
+ DT,NSOURCES,min_tshift_cmt_original,USE_FORCE_POINT_SOURCE)
implicit none
@@ -35,6 +35,7 @@
integer, intent(in) :: NSOURCES
double precision, intent(in) :: DT
+ logical, intent(in) :: USE_FORCE_POINT_SOURCE
integer, intent(out) :: yr,jda,ho,mi
double precision, intent(out) :: sec,min_tshift_cmt_original
Modified: seismo/3D/SPECFEM3D/trunk/src/shared/read_parameter_file.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/shared/read_parameter_file.f90 2012-09-11 21:42:49 UTC (rev 20711)
+++ seismo/3D/SPECFEM3D/trunk/src/shared/read_parameter_file.f90 2012-09-13 21:00:44 UTC (rev 20712)
@@ -31,8 +31,8 @@
MOVIE_SURFACE,MOVIE_VOLUME,CREATE_SHAKEMAP,SAVE_DISPLACEMENT, &
NTSTEP_BETWEEN_FRAMES,USE_HIGHRES_FOR_MOVIES,HDUR_MOVIE, &
SAVE_MESH_FILES,PRINT_SOURCE_TIME_FUNCTION,NTSTEP_BETWEEN_OUTPUT_INFO, &
- SIMULATION_TYPE,SAVE_FORWARD, &
- NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY,IMODEL )
+ SIMULATION_TYPE,SAVE_FORWARD,NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY, &
+ USE_FORCE_POINT_SOURCE,FACTOR_FORCE_SOURCE,COMPONENT_FORCE_SOURCE,IMODEL )
implicit none
@@ -40,14 +40,15 @@
integer NPROC,NTSTEP_BETWEEN_OUTPUT_SEISMOS,NSTEP,SIMULATION_TYPE, NTSTEP_BETWEEN_READ_ADJSRC
integer NSOURCES,NTSTEP_BETWEEN_FRAMES,NTSTEP_BETWEEN_OUTPUT_INFO,UTM_PROJECTION_ZONE
- integer NOISE_TOMOGRAPHY
+ integer NOISE_TOMOGRAPHY,COMPONENT_FORCE_SOURCE
integer IMODEL
- double precision DT,HDUR_MOVIE
+ double precision DT,HDUR_MOVIE,FACTOR_FORCE_SOURCE
logical ATTENUATION,USE_OLSEN_ATTENUATION,OCEANS,TOPOGRAPHY,ABSORBING_CONDITIONS,SAVE_FORWARD
logical MOVIE_SURFACE,MOVIE_VOLUME,CREATE_SHAKEMAP,SAVE_DISPLACEMENT,USE_HIGHRES_FOR_MOVIES
logical ANISOTROPY,SAVE_MESH_FILES,PRINT_SOURCE_TIME_FUNCTION,SUPPRESS_UTM_PROJECTION
+ logical USE_FORCE_POINT_SOURCE
character(len=256) LOCAL_PATH,CMTSOLUTION
@@ -138,6 +139,12 @@
if(err_occurred() /= 0) return
call read_value_integer(NTSTEP_BETWEEN_READ_ADJSRC, 'solver.NTSTEP_BETWEEN_READ_ADJSRC')
if(err_occurred() /= 0) return
+ call read_value_logical(USE_FORCE_POINT_SOURCE, 'solver.USE_FORCE_POINT_SOURCE')
+ if(err_occurred() /= 0) return
+ call read_value_double_precision(FACTOR_FORCE_SOURCE, 'solver.FACTOR_FORCE_SOURCE')
+ if(err_occurred() /= 0) return
+ call read_value_integer(COMPONENT_FORCE_SOURCE, 'solver.COMPONENT_FORCE_SOURCE')
+ if(err_occurred() /= 0) return
call read_value_logical(PRINT_SOURCE_TIME_FUNCTION, 'solver.PRINT_SOURCE_TIME_FUNCTION')
if(err_occurred() /= 0) return
Modified: seismo/3D/SPECFEM3D/trunk/src/shared/smooth_vol_data.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/shared/smooth_vol_data.f90 2012-09-11 21:42:49 UTC (rev 20711)
+++ seismo/3D/SPECFEM3D/trunk/src/shared/smooth_vol_data.f90 2012-09-13 21:00:44 UTC (rev 20712)
@@ -97,7 +97,7 @@
! for read_parameter_files
double precision :: DT
- double precision :: HDUR_MOVIE
+ double precision :: HDUR_MOVIE,FACTOR_FORCE_SOURCE
integer :: NPROC,NTSTEP_BETWEEN_OUTPUT_SEISMOS,NSTEP, &
UTM_PROJECTION_ZONE,SIMULATION_TYPE
integer :: NSOURCES,NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY
@@ -105,10 +105,11 @@
logical :: MOVIE_SURFACE,MOVIE_VOLUME,CREATE_SHAKEMAP,SAVE_DISPLACEMENT, &
USE_HIGHRES_FOR_MOVIES,SUPPRESS_UTM_PROJECTION
logical :: ATTENUATION,USE_OLSEN_ATTENUATION, &
- OCEANS,TOPOGRAPHY
+ OCEANS,TOPOGRAPHY,USE_FORCE_POINT_SOURCE
logical :: ABSORBING_CONDITIONS,SAVE_FORWARD
logical :: ANISOTROPY,SAVE_MESH_FILES,PRINT_SOURCE_TIME_FUNCTION
character(len=256) LOCAL_PATH
+ integer :: COMPONENT_FORCE_SOURCE,IMODEL
! smoothing parameters
character(len=256) :: ks_file
@@ -138,7 +139,6 @@
logical :: ACOUSTIC_SIMULATION,ELASTIC_SIMULATION,POROELASTIC_SIMULATION
integer :: idummy_a
integer :: myrank,sizeprocs
- integer :: IMODEL
!------------------
! initialize the MPI communicator and start the NPROCTOT MPI processes
@@ -219,7 +219,9 @@
NTSTEP_BETWEEN_FRAMES,USE_HIGHRES_FOR_MOVIES,HDUR_MOVIE, &
SAVE_MESH_FILES,PRINT_SOURCE_TIME_FUNCTION, &
NTSTEP_BETWEEN_OUTPUT_INFO,SIMULATION_TYPE,SAVE_FORWARD, &
- NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY,IMODEL)
+ NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY, &
+ USE_FORCE_POINT_SOURCE,FACTOR_FORCE_SOURCE, &
+ COMPONENT_FORCE_SOURCE,IMODEL)
! checks if number of MPI process as specified
if (sizeprocs /= NPROC) then
Modified: seismo/3D/SPECFEM3D/trunk/src/shared/sum_kernels.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/shared/sum_kernels.f90 2012-09-11 21:42:49 UTC (rev 20711)
+++ seismo/3D/SPECFEM3D/trunk/src/shared/sum_kernels.f90 2012-09-13 21:00:44 UTC (rev 20712)
@@ -103,16 +103,16 @@
! for read_parameter_files
double precision :: DT
- double precision :: HDUR_MOVIE
+ double precision :: HDUR_MOVIE,FACTOR_FORCE_SOURCE
integer :: NPROC,NTSTEP_BETWEEN_OUTPUT_SEISMOS,NSTEP, &
UTM_PROJECTION_ZONE,SIMULATION_TYPE
integer :: NSOURCES,NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY
integer :: NTSTEP_BETWEEN_FRAMES,NTSTEP_BETWEEN_OUTPUT_INFO
- integer :: IMODEL
+ integer :: COMPONENT_FORCE_SOURCE,IMODEL
logical :: MOVIE_SURFACE,MOVIE_VOLUME,CREATE_SHAKEMAP,SAVE_DISPLACEMENT, &
USE_HIGHRES_FOR_MOVIES,SUPPRESS_UTM_PROJECTION
logical :: ATTENUATION,USE_OLSEN_ATTENUATION, &
- OCEANS,TOPOGRAPHY
+ OCEANS,TOPOGRAPHY,USE_FORCE_POINT_SOURCE
logical :: ABSORBING_CONDITIONS,SAVE_FORWARD
logical :: ANISOTROPY,SAVE_MESH_FILES,PRINT_SOURCE_TIME_FUNCTION
character(len=256) LOCAL_PATH
@@ -158,7 +158,9 @@
NTSTEP_BETWEEN_FRAMES,USE_HIGHRES_FOR_MOVIES,HDUR_MOVIE, &
SAVE_MESH_FILES,PRINT_SOURCE_TIME_FUNCTION, &
NTSTEP_BETWEEN_OUTPUT_INFO,SIMULATION_TYPE,SAVE_FORWARD, &
- NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY,IMODEL)
+ NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY, &
+ USE_FORCE_POINT_SOURCE,FACTOR_FORCE_SOURCE, &
+ COMPONENT_FORCE_SOURCE,IMODEL)
! checks if number of MPI process as specified
if (sizeprocs /= NPROC) then
Modified: seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_add_sources_acoustic.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_add_sources_acoustic.f90 2012-09-11 21:42:49 UTC (rev 20711)
+++ seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_add_sources_acoustic.f90 2012-09-13 21:00:44 UTC (rev 20712)
@@ -41,7 +41,8 @@
use specfem_par,only: PRINT_SOURCE_TIME_FUNCTION,stf_used_total, &
xigll,yigll,zigll,xi_receiver,eta_receiver,gamma_receiver,&
station_name,network_name,adj_source_file,nrec_local,number_receiver_global, &
- pm1_source_encoding,nsources_local
+ pm1_source_encoding,nsources_local,USE_FORCE_POINT_SOURCE, &
+ FACTOR_FORCE_SOURCE
implicit none
include "constants.h"
Modified: seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_add_sources_elastic.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_add_sources_elastic.f90 2012-09-11 21:42:49 UTC (rev 20711)
+++ seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_add_sources_elastic.f90 2012-09-13 21:00:44 UTC (rev 20712)
@@ -45,7 +45,8 @@
normal_x_noise,normal_y_noise,normal_z_noise, &
mask_noise,noise_surface_movie, &
nrec_local,number_receiver_global, &
- nsources_local
+ nsources_local,USE_FORCE_POINT_SOURCE, &
+ FACTOR_FORCE_SOURCE,COMPONENT_FORCE_SOURCE
implicit none
Modified: seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_add_sources_poroelastic.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_add_sources_poroelastic.f90 2012-09-11 21:42:49 UTC (rev 20711)
+++ seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_add_sources_poroelastic.f90 2012-09-13 21:00:44 UTC (rev 20712)
@@ -41,7 +41,8 @@
use specfem_par,only: PRINT_SOURCE_TIME_FUNCTION,stf_used_total, &
xigll,yigll,zigll,xi_receiver,eta_receiver,gamma_receiver,&
- station_name,network_name,adj_source_file
+ station_name,network_name,adj_source_file, &
+ USE_FORCE_POINT_SOURCE,FACTOR_FORCE_SOURCE,COMPONENT_FORCE_SOURCE
implicit none
include "constants.h"
Modified: seismo/3D/SPECFEM3D/trunk/src/specfem3D/initialize_simulation.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/specfem3D/initialize_simulation.f90 2012-09-11 21:42:49 UTC (rev 20711)
+++ seismo/3D/SPECFEM3D/trunk/src/specfem3D/initialize_simulation.f90 2012-09-13 21:00:44 UTC (rev 20712)
@@ -46,7 +46,9 @@
NTSTEP_BETWEEN_FRAMES,USE_HIGHRES_FOR_MOVIES,HDUR_MOVIE, &
SAVE_MESH_FILES,PRINT_SOURCE_TIME_FUNCTION, &
NTSTEP_BETWEEN_OUTPUT_INFO,SIMULATION_TYPE,SAVE_FORWARD, &
- NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY,IMODEL)
+ NTSTEP_BETWEEN_READ_ADJSRC,NOISE_TOMOGRAPHY, &
+ USE_FORCE_POINT_SOURCE,FACTOR_FORCE_SOURCE, &
+ COMPONENT_FORCE_SOURCE,IMODEL)
! GPU_MODE is in par_file
call read_gpu_mode(GPU_MODE,GRAVITY)
Modified: seismo/3D/SPECFEM3D/trunk/src/specfem3D/locate_source.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/specfem3D/locate_source.f90 2012-09-11 21:42:49 UTC (rev 20711)
+++ seismo/3D/SPECFEM3D/trunk/src/specfem3D/locate_source.f90 2012-09-13 21:00:44 UTC (rev 20712)
@@ -38,16 +38,17 @@
PRINT_SOURCE_TIME_FUNCTION, &
nu_source,iglob_is_surface_external_mesh,ispec_is_surface_external_mesh, &
ispec_is_acoustic,ispec_is_elastic,ispec_is_poroelastic, &
- num_free_surface_faces,free_surface_ispec,free_surface_ijk)
+ num_free_surface_faces,free_surface_ispec,free_surface_ijk, &
+ USE_FORCE_POINT_SOURCE,COMPONENT_FORCE_SOURCE)
implicit none
include "constants.h"
integer NPROC,UTM_PROJECTION_ZONE
- integer NSPEC_AB,NGLOB_AB,NSOURCES
+ integer NSPEC_AB,NGLOB_AB,NSOURCES,COMPONENT_FORCE_SOURCE
- logical PRINT_SOURCE_TIME_FUNCTION,SUPPRESS_UTM_PROJECTION
+ logical PRINT_SOURCE_TIME_FUNCTION,SUPPRESS_UTM_PROJECTION,USE_FORCE_POINT_SOURCE
double precision DT
@@ -162,7 +163,7 @@
! read all the sources (note: each process reads the source file)
call get_cmt(yr,jda,ho,mi,sec,tshift_cmt,hdur,lat,long,depth,moment_tensor, &
- DT,NSOURCES,min_tshift_cmt_original)
+ DT,NSOURCES,min_tshift_cmt_original,USE_FORCE_POINT_SOURCE)
! define topology of the control element
call usual_hex_nodes(iaddx,iaddy,iaddz)
Modified: seismo/3D/SPECFEM3D/trunk/src/specfem3D/setup_sources_receivers.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/specfem3D/setup_sources_receivers.f90 2012-09-11 21:42:49 UTC (rev 20711)
+++ seismo/3D/SPECFEM3D/trunk/src/specfem3D/setup_sources_receivers.f90 2012-09-13 21:00:44 UTC (rev 20712)
@@ -116,7 +116,8 @@
PRINT_SOURCE_TIME_FUNCTION, &
nu_source,iglob_is_surface_external_mesh,ispec_is_surface_external_mesh,&
ispec_is_acoustic,ispec_is_elastic,ispec_is_poroelastic, &
- num_free_surface_faces,free_surface_ispec,free_surface_ijk)
+ num_free_surface_faces,free_surface_ispec,free_surface_ijk, &
+ USE_FORCE_POINT_SOURCE,COMPONENT_FORCE_SOURCE)
if(abs(minval(tshift_cmt)) > TINYVAL) call exit_MPI(myrank,'one tshift_cmt must be zero, others must be positive')
Modified: seismo/3D/SPECFEM3D/trunk/src/specfem3D/specfem3D_par.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/specfem3D/specfem3D_par.f90 2012-09-11 21:42:49 UTC (rev 20711)
+++ seismo/3D/SPECFEM3D/trunk/src/specfem3D/specfem3D_par.f90 2012-09-13 21:00:44 UTC (rev 20712)
@@ -154,6 +154,11 @@
double precision, external :: wtime
double precision :: time_start
+! parameters for a force source located exactly at a grid point
+ logical :: USE_FORCE_POINT_SOURCE
+ double precision :: FACTOR_FORCE_SOURCE
+ integer :: COMPONENT_FORCE_SOURCE
+
! parameters
integer :: SIMULATION_TYPE
integer :: NTSTEP_BETWEEN_OUTPUT_SEISMOS,NSTEP,UTM_PROJECTION_ZONE
More information about the CIG-COMMITS
mailing list