[cig-commits] r20359 - in seismo/2D/SPECFEM2D/trunk: DATA setup src/meshfem2D src/specfem2D
dkomati1 at geodynamics.org
dkomati1 at geodynamics.org
Tue Jun 12 16:03:33 PDT 2012
Author: dkomati1
Date: 2012-06-12 16:03:32 -0700 (Tue, 12 Jun 2012)
New Revision: 20359
Modified:
seismo/2D/SPECFEM2D/trunk/DATA/Par_file
seismo/2D/SPECFEM2D/trunk/setup/constants.h.in
seismo/2D/SPECFEM2D/trunk/src/meshfem2D/read_parameter_file.F90
seismo/2D/SPECFEM2D/trunk/src/meshfem2D/save_databases.f90
seismo/2D/SPECFEM2D/trunk/src/specfem2D/compute_forces_viscoelastic.F90
seismo/2D/SPECFEM2D/trunk/src/specfem2D/pml_init.F90
seismo/2D/SPECFEM2D/trunk/src/specfem2D/read_databases.f90
seismo/2D/SPECFEM2D/trunk/src/specfem2D/specfem2D.F90
Log:
moved PML_BOUNDARY_CONDITIONS and NELEM_PML_THICKNESS to DATA/Par_file
Modified: seismo/2D/SPECFEM2D/trunk/DATA/Par_file
===================================================================
--- seismo/2D/SPECFEM2D/trunk/DATA/Par_file 2012-06-12 22:39:04 UTC (rev 20358)
+++ seismo/2D/SPECFEM2D/trunk/DATA/Par_file 2012-06-12 23:03:32 UTC (rev 20359)
@@ -117,8 +117,10 @@
read_external_mesh = .false.
# absorbing boundary active or not
-absorbing_conditions = .true.
-ADD_SPRING_TO_STACEY = .true.
+PML_BOUNDARY_CONDITIONS = .true.
+NELEM_PML_THICKNESS = 3
+STACEY_ABSORBING_CONDITIONS = .false.
+ADD_SPRING_TO_STACEY = .false.
# for horizontal periodic conditions: detect common points between left and right edges
ADD_PERIODIC_CONDITIONS = .false.
Modified: seismo/2D/SPECFEM2D/trunk/setup/constants.h.in
===================================================================
--- seismo/2D/SPECFEM2D/trunk/setup/constants.h.in 2012-06-12 22:39:04 UTC (rev 20358)
+++ seismo/2D/SPECFEM2D/trunk/setup/constants.h.in 2012-06-12 23:03:32 UTC (rev 20359)
@@ -184,7 +184,3 @@
real(kind=CUSTOM_REAL), parameter :: r0_guenneau = 0.20_CUSTOM_REAL
real(kind=CUSTOM_REAL), parameter :: r1_guenneau = 0.40_CUSTOM_REAL
-! PML
- logical, parameter :: PML_BOUNDARY_CONDITIONS = .false.
- integer, parameter :: NELEM_PML_THICKNESS = 3
-
Modified: seismo/2D/SPECFEM2D/trunk/src/meshfem2D/read_parameter_file.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/src/meshfem2D/read_parameter_file.F90 2012-06-12 22:39:04 UTC (rev 20358)
+++ seismo/2D/SPECFEM2D/trunk/src/meshfem2D/read_parameter_file.F90 2012-06-12 23:03:32 UTC (rev 20359)
@@ -99,8 +99,8 @@
logical, dimension(:), pointer :: enreg_surf_same_vertical
integer :: NSTEP_BETWEEN_OUTPUT_INFO,NSTEP_BETWEEN_OUTPUT_SEISMOS,NSTEP_BETWEEN_OUTPUT_IMAGES,NSTEP_BETWEEN_OUTPUT_WAVE_DUMPS, &
- subsamp_seismos,imagetype_JPEG,imagetype_wavefield_dumps
- logical :: output_postscript_snapshot,output_color_image
+ subsamp_seismos,imagetype_JPEG,imagetype_wavefield_dumps,NELEM_PML_THICKNESS
+ logical :: output_postscript_snapshot,output_color_image,PML_BOUNDARY_CONDITIONS
integer :: imagetype_postscript
double precision :: cutsnaps
logical :: meshvect,modelvect,boundvect,interpol
@@ -452,8 +452,14 @@
call read_value_logical_p(read_external_mesh, 'mesher.read_external_mesh')
if(err_occurred() /= 0) stop 'error reading parameter 50 in Par_file'
+ call read_value_logical_p(PML_BOUNDARY_CONDITIONS, 'solver.PML_BOUNDARY_CONDITIONS')
+ if(err_occurred() /= 0) stop 'error reading parameter 33za in Par_file'
+
+ call read_value_integer_p(NELEM_PML_THICKNESS, 'solver.NELEM_PML_THICKNESS')
+ if(err_occurred() /= 0) stop 'error reading parameter 33zb in Par_file'
+
! boolean defining whether to use any absorbing boundaries
- call read_value_logical_p(any_abs, 'solver.absorbing_conditions')
+ call read_value_logical_p(any_abs, 'solver.STACEY_ABSORBING_CONDITIONS')
if(err_occurred() /= 0) stop 'error reading parameter 51a in Par_file'
call read_value_logical_p(ADD_SPRING_TO_STACEY, 'solver.ADD_SPRING_TO_STACEY')
Modified: seismo/2D/SPECFEM2D/trunk/src/meshfem2D/save_databases.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/src/meshfem2D/save_databases.f90 2012-06-12 22:39:04 UTC (rev 20358)
+++ seismo/2D/SPECFEM2D/trunk/src/meshfem2D/save_databases.f90 2012-06-12 23:03:32 UTC (rev 20359)
@@ -115,6 +115,12 @@
write(15,*) 'NSTEP_BETWEEN_OUTPUT_IMAGES'
write(15,*) NSTEP_BETWEEN_OUTPUT_IMAGES
+ write(15,*) 'PML_BOUNDARY_CONDITIONS'
+ write(15,*) PML_BOUNDARY_CONDITIONS
+
+ write(15,*) 'NELEM_PML_THICKNESS'
+ write(15,*) NELEM_PML_THICKNESS
+
write(15,*) 'NSTEP_BETWEEN_OUTPUT_WAVE_DUMPS'
write(15,*) NSTEP_BETWEEN_OUTPUT_WAVE_DUMPS
Modified: seismo/2D/SPECFEM2D/trunk/src/specfem2D/compute_forces_viscoelastic.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/src/specfem2D/compute_forces_viscoelastic.F90 2012-06-12 22:39:04 UTC (rev 20358)
+++ seismo/2D/SPECFEM2D/trunk/src/specfem2D/compute_forces_viscoelastic.F90 2012-06-12 23:03:32 UTC (rev 20359)
@@ -67,16 +67,15 @@
K_x_store,K_z_store,d_x_store,d_z_store,alpha_x_store,alpha_z_store, &
rmemory_displ_elastic,rmemory_displ_elastic_corner, &
rmemory_dux_dx,rmemory_dux_dz,rmemory_duz_dx,rmemory_duz_dz, &
- rmemory_dux_dx_corner,rmemory_dux_dz_corner,rmemory_duz_dx_corner,rmemory_duz_dz_corner)
+ rmemory_dux_dx_corner,rmemory_dux_dz_corner,rmemory_duz_dx_corner,rmemory_duz_dz_corner,PML_BOUNDARY_CONDITIONS)
-
! compute forces for the elastic elements
implicit none
include "constants.h"
- logical :: p_sv
+ logical :: p_sv,PML_BOUNDARY_CONDITIONS
integer :: NSOURCES, i_source
integer :: nglob,nspec,myrank,nelemabs,numat,it,NSTEP
integer, dimension(NSOURCES) :: ispec_selected_source,is_proc_source,source_type
Modified: seismo/2D/SPECFEM2D/trunk/src/specfem2D/pml_init.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/src/specfem2D/pml_init.F90 2012-06-12 22:39:04 UTC (rev 20358)
+++ seismo/2D/SPECFEM2D/trunk/src/specfem2D/pml_init.F90 2012-06-12 23:03:32 UTC (rev 20359)
@@ -43,7 +43,7 @@
subroutine pml_init(nspec,nglob,anyabs,ibool,nelemabs,codeabs,numabs,&
nspec_PML,is_PML,which_PML_elem,which_PML_poin,spec_to_PML,ibool_PML, &
- npoin_PML,icorner_iglob)
+ npoin_PML,icorner_iglob,NELEM_PML_THICKNESS)
implicit none
include 'constants.h'
@@ -52,7 +52,7 @@
include 'mpif.h'
#endif
- integer :: nspec,nglob,nelemabs,nspec_PML,npoin_PML
+ integer :: nspec,nglob,nelemabs,nspec_PML,npoin_PML,NELEM_PML_THICKNESS
logical :: anyabs
integer :: ibound,ispecabs,ncorner,ispec,iglob
@@ -596,9 +596,9 @@
alpha_x_store(iPML) = alpha_x
alpha_z_store(iPML) = alpha_y
- write(IOUT,*)K_x_store(iPML),K_z_store(iPML),'K_store'
- write(IOUT,*)d_x_store(iPML),d_z_store(iPML),'d_store'
- write(IOUT,*)alpha_x_store(iPML),alpha_z_store(iPML),'alpha_store'
+! write(IOUT,*)K_x_store(iPML),K_z_store(iPML),'K_store'
+! write(IOUT,*)d_x_store(iPML),d_z_store(iPML),'d_store'
+! write(IOUT,*)alpha_x_store(iPML),alpha_z_store(iPML),'alpha_store'
enddo
enddo
Modified: seismo/2D/SPECFEM2D/trunk/src/specfem2D/read_databases.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/src/specfem2D/read_databases.f90 2012-06-12 22:39:04 UTC (rev 20358)
+++ seismo/2D/SPECFEM2D/trunk/src/specfem2D/read_databases.f90 2012-06-12 23:03:32 UTC (rev 20359)
@@ -46,6 +46,7 @@
subroutine read_databases_init(myrank,ipass, &
simulation_title,SIMULATION_TYPE,NOISE_TOMOGRAPHY,SAVE_FORWARD,npgeo,nproc, &
output_grid_Gnuplot,interpol,NSTEP_BETWEEN_OUTPUT_INFO,NSTEP_BETWEEN_OUTPUT_SEISMOS,NSTEP_BETWEEN_OUTPUT_IMAGES, &
+ PML_BOUNDARY_CONDITIONS,NELEM_PML_THICKNESS, &
NSTEP_BETWEEN_OUTPUT_WAVE_DUMPS,subsamp_seismos,imagetype_JPEG,imagetype_wavefield_dumps, &
output_postscript_snapshot,output_color_image,colors,numbers, &
meshvect,modelvect,boundvect,cutsnaps,subsamp_postscript,sizemax_arrows, &
@@ -73,7 +74,7 @@
logical :: meshvect,modelvect,boundvect,initialfield,add_Bielak_conditions, &
assign_external_model,READ_EXTERNAL_SEP_FILE, &
output_grid_ASCII,output_energy,output_wavefield_dumps,p_sv,use_binary_for_wavefield_dumps
- logical :: ATTENUATION_VISCOELASTIC_SOLID,ATTENUATION_PORO_FLUID_PART, &
+ logical :: ATTENUATION_VISCOELASTIC_SOLID,ATTENUATION_PORO_FLUID_PART,PML_BOUNDARY_CONDITIONS, &
save_ASCII_seismograms,save_binary_seismograms_single,save_binary_seismograms_double,DRAW_SOURCES_AND_RECEIVERS
double precision :: cutsnaps,sizemax_arrows,anglerec
@@ -82,7 +83,7 @@
integer :: NSTEP,NSOURCES
integer :: NSTEP_BETWEEN_OUTPUT_INFO,NSTEP_BETWEEN_OUTPUT_SEISMOS,NSTEP_BETWEEN_OUTPUT_IMAGES,NSTEP_BETWEEN_OUTPUT_WAVE_DUMPS, &
- subsamp_seismos,imagetype_JPEG,imagetype_wavefield_dumps
+ subsamp_seismos,imagetype_JPEG,imagetype_wavefield_dumps,NELEM_PML_THICKNESS
! factor to subsample color images output by the code (useful for very large models)
integer :: factor_subsample_image
@@ -180,6 +181,12 @@
read(IIN,*) NSTEP_BETWEEN_OUTPUT_IMAGES
read(IIN,"(a80)") datlin
+ read(IIN,*) PML_BOUNDARY_CONDITIONS
+
+ read(IIN,"(a80)") datlin
+ read(IIN,*) NELEM_PML_THICKNESS
+
+ read(IIN,"(a80)") datlin
read(IIN,*) NSTEP_BETWEEN_OUTPUT_WAVE_DUMPS
read(IIN,"(a80)") datlin
Modified: seismo/2D/SPECFEM2D/trunk/src/specfem2D/specfem2D.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/src/specfem2D/specfem2D.F90 2012-06-12 22:39:04 UTC (rev 20358)
+++ seismo/2D/SPECFEM2D/trunk/src/specfem2D/specfem2D.F90 2012-06-12 23:03:32 UTC (rev 20359)
@@ -523,12 +523,12 @@
NSTEP_BETWEEN_OUTPUT_INFO,seismotype,NSTEP_BETWEEN_OUTPUT_SEISMOS,NSTEP_BETWEEN_OUTPUT_IMAGES, &
NSTEP_BETWEEN_OUTPUT_WAVE_DUMPS,subsamp_seismos,imagetype_JPEG,imagetype_wavefield_dumps
integer :: numat,ngnod,nspec,pointsdisp, &
- nelemabs,nelem_acoustic_surface,ispecabs,UPPER_LIMIT_DISPLAY
+ nelemabs,nelem_acoustic_surface,ispecabs,UPPER_LIMIT_DISPLAY,NELEM_PML_THICKNESS
logical interpol,meshvect,modelvect,boundvect,assign_external_model,initialfield, &
output_grid_ASCII,output_grid_Gnuplot,ATTENUATION_VISCOELASTIC_SOLID,output_postscript_snapshot,output_color_image, &
plot_lowerleft_corner_only,add_Bielak_conditions,output_energy,READ_EXTERNAL_SEP_FILE, &
- output_wavefield_dumps,use_binary_for_wavefield_dumps
+ output_wavefield_dumps,use_binary_for_wavefield_dumps,PML_BOUNDARY_CONDITIONS
double precision :: cutsnaps,sizemax_arrows,anglerec,xirec,gammarec
@@ -1000,7 +1000,8 @@
call read_databases_init(myrank,ipass, &
simulation_title,SIMULATION_TYPE,NOISE_TOMOGRAPHY,SAVE_FORWARD,npgeo,nproc_read_from_database, &
output_grid_Gnuplot,interpol,NSTEP_BETWEEN_OUTPUT_INFO,NSTEP_BETWEEN_OUTPUT_SEISMOS, &
- NSTEP_BETWEEN_OUTPUT_IMAGES,NSTEP_BETWEEN_OUTPUT_WAVE_DUMPS,subsamp_seismos, &
+ NSTEP_BETWEEN_OUTPUT_IMAGES,PML_BOUNDARY_CONDITIONS,NELEM_PML_THICKNESS, &
+ NSTEP_BETWEEN_OUTPUT_WAVE_DUMPS,subsamp_seismos, &
imagetype_JPEG,imagetype_wavefield_dumps, &
output_postscript_snapshot,output_color_image,colors,numbers, &
meshvect,modelvect,boundvect,cutsnaps,subsamp_postscript,sizemax_arrows, &
@@ -1037,7 +1038,8 @@
call read_databases_init(myrank,ipass, &
simulation_title,SIMULATION_TYPE,NOISE_TOMOGRAPHY,SAVE_FORWARD,npgeo,nproc_read_from_database, &
output_grid_Gnuplot,interpol,NSTEP_BETWEEN_OUTPUT_INFO,NSTEP_BETWEEN_OUTPUT_SEISMOS, &
- NSTEP_BETWEEN_OUTPUT_IMAGES,NSTEP_BETWEEN_OUTPUT_WAVE_DUMPS,subsamp_seismos, &
+ NSTEP_BETWEEN_OUTPUT_IMAGES,PML_BOUNDARY_CONDITIONS,NELEM_PML_THICKNESS, &
+ NSTEP_BETWEEN_OUTPUT_WAVE_DUMPS,subsamp_seismos, &
imagetype_JPEG,imagetype_wavefield_dumps, &
output_postscript_snapshot,output_color_image,colors,numbers, &
meshvect,modelvect,boundvect,cutsnaps,subsamp_postscript,sizemax_arrows, &
@@ -2788,7 +2790,7 @@
call pml_init(nspec,nglob,anyabs,ibool,nelemabs,codeabs,numabs,&
nspec_PML,is_PML,which_PML_elem,which_PML_poin,spec_to_PML,ibool_PML, &
- npoin_PML,icorner_iglob)
+ npoin_PML,icorner_iglob,NELEM_PML_THICKNESS)
deallocate(icorner_iglob)
deallocate(which_PML_poin)
@@ -5353,7 +5355,7 @@
K_x_store,K_z_store,d_x_store,d_z_store,alpha_x_store,alpha_z_store, &
rmemory_displ_elastic,rmemory_displ_elastic_corner,&
rmemory_dux_dx,rmemory_dux_dz,rmemory_duz_dx,rmemory_duz_dz,&
- rmemory_dux_dx_corner,rmemory_dux_dz_corner,rmemory_duz_dx_corner,rmemory_duz_dz_corner)
+ rmemory_dux_dx_corner,rmemory_dux_dz_corner,rmemory_duz_dx_corner,rmemory_duz_dz_corner,PML_BOUNDARY_CONDITIONS)
if(anyabs .and. SAVE_FORWARD .and. SIMULATION_TYPE == 1) then
!--- left absorbing boundary
More information about the CIG-COMMITS
mailing list