[cig-commits] r22450 - in seismo/3D/SPECFEM3D_GLOBE/trunk: setup src/shared

dkomati1 at geodynamics.org dkomati1 at geodynamics.org
Sat Jun 29 09:25:20 PDT 2013


Author: dkomati1
Date: 2013-06-29 09:25:19 -0700 (Sat, 29 Jun 2013)
New Revision: 22450

Modified:
   seismo/3D/SPECFEM3D_GLOBE/trunk/setup/constants.h.in
   seismo/3D/SPECFEM3D_GLOBE/trunk/src/shared/read_compute_parameters.f90
Log:
added INCREASE_CFL_FOR_LDDRK and RATIO_BY_WHICH_TO_INCREASE_IT to constants.h


Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/setup/constants.h.in
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/setup/constants.h.in	2013-06-29 03:47:39 UTC (rev 22449)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/setup/constants.h.in	2013-06-29 16:25:19 UTC (rev 22450)
@@ -699,6 +699,16 @@
 ! this for LDDRK
   logical, parameter :: USE_LDDRK = .false. ! .true.
 
+! the maximum CFL of LDDRK is significantly higher than that of the Newmark scheme,
+! in a ratio that is theoretically 1.327 / 0.697 = 1.15 / 0.604 = 1.903 for a solid with Poisson's ratio = 0.25
+! and for a fluid (see the manual of the 2D code, SPECFEM2D, Tables 4.1 and 4.2, and that ratio does not
+! depend on whether we are in 2D or in 3D). However in practice a ratio of about 1.5 to 1.7 is often safer
+! (for instance for models with a large range of Poisson's ratio values).
+! Since the SPECFEM3D_GLOBE code computes the time step using the Newmark scheme, for LDDRK we will simply
+! multiply that time step by this ratio when LDDRK is on and when flag INCREASE_CFL_FOR_LDDRK is true.
+  logical, parameter :: INCREASE_CFL_FOR_LDDRK = .true.
+  double precision, parameter :: RATIO_BY_WHICH_TO_INCREASE_IT = 1.5d0
+
   integer, parameter :: NSTAGE = 6
   real(kind=CUSTOM_REAL), parameter, dimension(NSTAGE) :: ALPHA_LDDRK = &
     (/0.0_CUSTOM_REAL,-0.737101392796_CUSTOM_REAL, -1.634740794341_CUSTOM_REAL,&

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/shared/read_compute_parameters.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/shared/read_compute_parameters.f90	2013-06-29 03:47:39 UTC (rev 22449)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/shared/read_compute_parameters.f90	2013-06-29 16:25:19 UTC (rev 22450)
@@ -777,6 +777,14 @@
 
   endif
 
+! the maximum CFL of LDDRK is significantly higher than that of the Newmark scheme,
+! in a ratio that is theoretically 1.327 / 0.697 = 1.15 / 0.604 = 1.903 for a solid with Poisson's ratio = 0.25
+! and for a fluid (see the manual of the 2D code, SPECFEM2D, Tables 4.1 and 4.2, and that ratio does not
+! depend on whether we are in 2D or in 3D). However in practice a ratio of about 1.5 to 1.7 is often safer
+! (for instance for models with a large range of Poisson's ratio values).
+! Since the code computes the time step using the Newmark scheme, for LDDRK we simply
+! multiply that time step by this ratio when LDDRK is on and when flag INCREASE_CFL_FOR_LDDRK is true.
+  if(USE_LDDRK .and. INCREASE_CFL_FOR_LDDRK) DT = DT * RATIO_BY_WHICH_TO_INCREASE_IT
 
   end subroutine rcp_set_timestep_and_layers
 



More information about the CIG-COMMITS mailing list