[cig-commits] r16807 - in seismo/3D/SPECFEM3D_SESAME/trunk/meshfem3D: . DATA

pieyre at geodynamics.org pieyre at geodynamics.org
Thu May 27 07:23:44 PDT 2010


Author: pieyre
Date: 2010-05-27 07:23:44 -0700 (Thu, 27 May 2010)
New Revision: 16807

Modified:
   seismo/3D/SPECFEM3D_SESAME/trunk/meshfem3D/DATA/Par_file
   seismo/3D/SPECFEM3D_SESAME/trunk/meshfem3D/check_mesh_quality.f90
   seismo/3D/SPECFEM3D_SESAME/trunk/meshfem3D/flags.guess
Log:
bug fix in the stability check, minor modifications in Par_file and flags.guess


Modified: seismo/3D/SPECFEM3D_SESAME/trunk/meshfem3D/DATA/Par_file
===================================================================
--- seismo/3D/SPECFEM3D_SESAME/trunk/meshfem3D/DATA/Par_file	2010-05-27 13:24:48 UTC (rev 16806)
+++ seismo/3D/SPECFEM3D_SESAME/trunk/meshfem3D/DATA/Par_file	2010-05-27 14:23:44 UTC (rev 16807)
@@ -34,7 +34,7 @@
 CREATE_DX_FILES                 = .false.
 
 # anticipated time step for simulation (in order to check the stability condition)
-DT                              = 0.1
+DT                              = 0.01
 
 # path to store the databases files 
 LOCAL_PATH                      = OUTPUT_FILES
@@ -51,7 +51,7 @@
 3  1000  1500  0    0  0  2
 4  1300  1400  700  2  0  3
 # number of regions 
-NREGIONS                        = 1             
+NREGIONS                        = 4             
 # define the different regions of the model as :
 #NEX_XI_BEGIN  #NEX_XI_END  #NEX_ETA_BEGIN  #NEX_ETA_END  #NZ_BEGIN #NZ_END  #material_id
 1              64            1               64             1         4        1

Modified: seismo/3D/SPECFEM3D_SESAME/trunk/meshfem3D/check_mesh_quality.f90
===================================================================
--- seismo/3D/SPECFEM3D_SESAME/trunk/meshfem3D/check_mesh_quality.f90	2010-05-27 13:24:48 UTC (rev 16806)
+++ seismo/3D/SPECFEM3D_SESAME/trunk/meshfem3D/check_mesh_quality.f90	2010-05-27 14:23:44 UTC (rev 16807)
@@ -220,7 +220,7 @@
      stop 'NGNOD must be 4 or 8'
   endif
 
-  if(stability_max >= max_CFL_stability_limit) then
+  if(stability_max_MPI >= max_CFL_stability_limit) then
      write(IMAIN,*) '*********************************************'
      write(IMAIN,*) '*********************************************'
      write(IMAIN,*) ' WARNING, that value is above the upper CFL limit of ',max_CFL_stability_limit
@@ -331,6 +331,8 @@
 
   include "constants.h"
 
+  integer :: true_NGLLX = 5 
+
   integer :: iface,icorner,ispec,NSPEC,NPOIN,i
 
   double precision, dimension(NPOIN) :: x,y,z
@@ -468,7 +470,7 @@
   ! compute edge aspect ratio
   edge_aspect_ratio = distmax / distmin
 
-  stability = delta_t * VP_MAX / (distmin * percent_GLL(NGLLX))
+  stability = delta_t * VP_MAX / (distmin * percent_GLL(true_NGLLX))
 
   ! compute diagonal aspect ratio
   dist1 = sqrt((xelm(5) - xelm(4))**2 + (yelm(5) - yelm(4))**2 + (zelm(5) - zelm(4))**2)

Modified: seismo/3D/SPECFEM3D_SESAME/trunk/meshfem3D/flags.guess
===================================================================
--- seismo/3D/SPECFEM3D_SESAME/trunk/meshfem3D/flags.guess	2010-05-27 13:24:48 UTC (rev 16806)
+++ seismo/3D/SPECFEM3D_SESAME/trunk/meshfem3D/flags.guess	2010-05-27 14:23:44 UTC (rev 16807)
@@ -12,7 +12,7 @@
 case $FC in
     pgf90|*/pgf90)
         #
-        # Beowulf Portland pgf90
+        # Portland pgf90
         #
         if test x"$FLAGS_CHECK" = x; then
             FLAGS_CHECK="-fast -Mnobounds -Mneginfo -Mdclchk -Knoieee" # -mcmodel=medium
@@ -23,31 +23,37 @@
         ;;
     ifort|*/ifort)
         #
-        # Intel ifort Fortran90 for Linux
+        # Intel ifort Fortran90
         #
         if test x"$FLAGS_CHECK" = x; then
-	FLAGS_CHECK="-O3 -vec-report0 -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage -check nobounds -align sequence -assume byterecl -fpe0 -ftz -traceback -ftrapuv" # -mcmodel=medium
-        #    FLAGS_CHECK="-O3 -vec-report0 -e95 -std03 -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage -check nobounds -align sequence -assume byterecl -fpe0 -ftz -traceback -ftrapuv" # -mcmodel=medium
+            #FLAGS_CHECK="-O3 -vec-report0 -e95 -std95 -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage -check nobounds -align sequence -assume byterecl -fpe0 -ftz -traceback -ftrapuv" # -mcmodel=medium
+
+            # ifort v 10.1 with these flags shows best performance
+            FLAGS_CHECK="-O2 -ftz -xT -fpe0 -ftz -traceback -ftrapuv -vec-report0 -std95 -implicitnone -check nobounds  -assume byterecl  -static-intel -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage "
+            #FLAGS_CHECK="-O2 -xT -static-intel -r8 -mcmodel=large -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -check nobounds -align sequence -assume byterecl -ftrapuv -fpe0 -ftz -traceback"
         fi
         if test x"$FLAGS_NO_CHECK" = x; then
-# standard options (leave option -ftz, which is *critical* for performance)
-# add -Winline to get information about routines that are inlined
-# add -vec-report3 to get information about loops that are vectorized or not
-         FLAGS_NO_CHECK="-O3 -xP -vec-report0 -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage -check nobounds -align sequence -assume byterecl -fpe3 -ftz" # -mcmodel=medium
-         #FLAGS_NO_CHECK="-O3 -xP -vec-report0 -e95 -std03 -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage -check nobounds -align sequence -assume byterecl -fpe3 -ftz" # -mcmodel=medium
+        # standard options (leave option -ftz, which is *critical* for performance)
+        # add -Winline to get information about routines that are inlined
+        # add -vec-report3 to get information about loops that are vectorized or not
+            #FLAGS_NO_CHECK="-O3 -xP -vec-report0 -e95 -std95 -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage -check nobounds -align sequence -assume byterecl -fpe3 -ftz" # -mcmodel=medium
+
+            # ifort v 10.1 with these flags shows best performance
+            FLAGS_NO_CHECK="-O2 -ftz -xT -fpe3 -ftz -vec-report0 -std95 -implicitnone -check nobounds  -assume byterecl  -static-intel -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage "
+            #FLAGS_NO_CHECK="-O2 -xT -static-intel -r8 -mcmodel=large -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -check nobounds -align sequence -assume byterecl -ftrapuv -fpe0 -ftz -traceback"
         fi
-        #MPI_LIBS = -Vaxlib
         ;;
     gfortran|*/gfortran|f95|*/f95)
         #
         # GNU gfortran
         #
         if test x"$FLAGS_NO_CHECK" = x; then
+            # works with: GNU Fortran (GCC) 4.1.2 20080704        
+            FLAGS_NO_CHECK="-std=gnu -fimplicit-none -frange-check -O3 -pedantic -pedantic-errors -Waliasing -Wampersand -Wline-truncation -Wsurprising -Wunderflow -fno-trapping-math"
 
-#            FLAGS_NO_CHECK="-fimplicit-none -frange-check -O3 -fmax-errors=10 -pedantic -pedantic-errors -Waliasing -Wampersand -Wcharacter-truncation -Wline-truncation -Wsurprising -Wno-tabs -Wunderflow -fno-trapping-math" # -mcmodel=medium
-#            FLAGS_NO_CHECK="-std=f2003 -fimplicit-none -frange-check -O3 -fmax-errors=10 -pedantic -pedantic-errors -Waliasing -Wampersand -Wcharacter-truncation -Wline-truncation -Wsurprising -Wno-tabs -Wunderflow -fno-trapping-math" # -mcmodel=medium
-# older gfortran syntax
-           FLAGS_NO_CHECK="-fimplicit-none -frange-check -O3 -Wunused-labels -Waliasing -Wampersand -Wsurprising -Wline-truncation -Wunderflow -fno-trapping-math" # -mcmodel=medium
+        #            FLAGS_NO_CHECK="-std=f95 -fimplicit-none -frange-check -O3 -fmax-errors=10 -pedantic -pedantic-errors -Waliasing -Wampersand -Wcharacter-truncation -Wline-truncation -Wsurprising -Wno-tabs -Wunderflow -fno-trapping-math" # -mcmodel=medium
+        # older gfortran syntax
+        #           FLAGS_NO_CHECK="-std=f95 -fimplicit-none -frange-check -O3 -Wunused-labels -Waliasing -Wampersand -Wsurprising -Wline-truncation -Wunderflow -fno-trapping-math" # -mcmodel=medium
         fi
         if test x"$FLAGS_CHECK" = x; then
             FLAGS_CHECK="\$(FLAGS_NO_CHECK)" # -fbounds-check
@@ -143,7 +149,7 @@
         # for the C compiler when using -q64 for the Fortran compiler
         #
         if test x"$FLAGS_NO_CHECK" = x; then
-            FLAGS_NO_CHECK="-O3 -qsave -qstrict -q64 -qtune=auto -qarch=auto -qcache=auto -qfree=f90 -Q -qsuffix=f=f90 -qhalt=w -qlanglvl=2003pure -qflttrap=overflow:zerodivide:invalid:enable -qsigtrap -qinitauto=7FBFFFFF"
+            FLAGS_NO_CHECK="-O3 -qsave -qstrict -q64 -qtune=auto -qarch=auto -qcache=auto -qfree=f90 -qsuffix=f=f90 -qhalt=w -qlanglvl=2003pure -qflttrap=overflow:zerodivide:invalid:enable -qsigtrap -qinitauto=7FBFFFFF -Q -Q+rank,swap_all"
         # on MareNostrum at the Barcelona SuperComputing Center (Spain) use
         # -qtune=ppc970 -qarch=ppc64v instead of -qtune=auto -qarch=auto
         fi



More information about the CIG-COMMITS mailing list