[cig-commits] r20787 - seismo/2D/SPECFEM2D/trunk/src/specfem2D
xie.zhinan at geodynamics.org
xie.zhinan at geodynamics.org
Thu Sep 27 06:59:15 PDT 2012
Author: xie.zhinan
Date: 2012-09-27 06:59:15 -0700 (Thu, 27 Sep 2012)
New Revision: 20787
Modified:
seismo/2D/SPECFEM2D/trunk/src/specfem2D/specfem2D.F90
Log:
add stop flags to prevent users use standard Runge-Kutta scheme with mpi or with CPML, which are not implemented
Modified: seismo/2D/SPECFEM2D/trunk/src/specfem2D/specfem2D.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/src/specfem2D/specfem2D.F90 2012-09-27 10:38:20 UTC (rev 20786)
+++ seismo/2D/SPECFEM2D/trunk/src/specfem2D/specfem2D.F90 2012-09-27 13:59:15 UTC (rev 20787)
@@ -1336,6 +1336,18 @@
stop 'PML boundary conditions not implemented for poroelastic simulations yet'
endif
+ if(PML_BOUNDARY_CONDITIONS .and. time_stepping_scheme == 3) then
+ stop 'PML boundary conditions is not implemented with standard Runge Kutta scheme'
+ endif
+
+#ifdef USE_MPI
+ if(myrank == 0)then
+ if(time_stepping_scheme == 3) then
+ stop 'mpi support for standard Runge Kutta scheme is not implemented'
+ endif
+ endif
+#endif
+
! allocate memory variables for attenuation
if(ipass == 1) then
allocate(e1(NGLLX,NGLLZ,nspec_allocate,N_SLS))
@@ -5339,7 +5351,7 @@
buffer_recv_faces_vector_ac, my_neighbours)
if(time_stepping_scheme == 2)then
- if(i_stage==1 .and. it == 1)then
+ if(i_stage==1 .and. it == 1 .and. (.not. initialfield))then
potential_dot_acoustic_temp = potential_dot_acoustic
call assemble_MPI_vector_ac(potential_dot_acoustic,nglob, &
ninterface, ninterface_acoustic,inum_interfaces_acoustic, &
@@ -5392,7 +5404,7 @@
potential_acoustic_LDDRK = alpha_LDDRK(i_stage) * potential_acoustic_LDDRK &
+deltat*potential_dot_acoustic
- if(i_stage==1 .and. it == 1)then
+ if(i_stage==1 .and. it == 1 .and. (.not. initialfield))then
potential_dot_acoustic_temp = potential_dot_acoustic_temp &
+ beta_LDDRK(i_stage) * potential_dot_acoustic_LDDRK
potential_dot_acoustic = potential_dot_acoustic_temp
@@ -6066,7 +6078,7 @@
#ifdef USE_MPI
if(time_stepping_scheme == 2)then
- if(i_stage==1 .and. it == 1)then
+ if(i_stage==1 .and. it == 1 .and. (.not. initialfield))then
veloc_elastic_LDDRK_temp = veloc_elastic
if (nproc > 1 .and. any_elastic .and. ninterface_elastic > 0) then
call assemble_MPI_vector_el(veloc_elastic,nglob, &
@@ -6125,7 +6137,7 @@
veloc_elastic_LDDRK = alpha_LDDRK(i_stage) * veloc_elastic_LDDRK + deltat * accel_elastic
displ_elastic_LDDRK = alpha_LDDRK(i_stage) * displ_elastic_LDDRK + deltat * veloc_elastic
- if(i_stage==1 .and. it == 1)then
+ if(i_stage==1 .and. it == 1 .and. (.not. initialfield))then
veloc_elastic_LDDRK_temp = veloc_elastic_LDDRK_temp + beta_LDDRK(i_stage) * veloc_elastic_LDDRK
veloc_elastic = veloc_elastic_LDDRK_temp
else
More information about the CIG-COMMITS
mailing list