[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