[cig-commits] r20585 - in seismo/3D/SPECFEM3D/trunk/src: decompose_mesh_SCOTCH generate_databases meshfem3D shared

dkomati1 at geodynamics.org dkomati1 at geodynamics.org
Thu Aug 16 17:04:25 PDT 2012


Author: dkomati1
Date: 2012-08-16 17:04:25 -0700 (Thu, 16 Aug 2012)
New Revision: 20585

Modified:
   seismo/3D/SPECFEM3D/trunk/src/decompose_mesh_SCOTCH/decompose_mesh_SCOTCH.f90
   seismo/3D/SPECFEM3D/trunk/src/decompose_mesh_SCOTCH/part_decompose_mesh_SCOTCH.f90
   seismo/3D/SPECFEM3D/trunk/src/generate_databases/create_regions_mesh.f90
   seismo/3D/SPECFEM3D/trunk/src/generate_databases/generate_databases.f90
   seismo/3D/SPECFEM3D/trunk/src/generate_databases/get_MPI.f90
   seismo/3D/SPECFEM3D/trunk/src/generate_databases/memory_eval.f90
   seismo/3D/SPECFEM3D/trunk/src/meshfem3D/constants.h.in
   seismo/3D/SPECFEM3D/trunk/src/shared/constants.h.in
Log:
replaced ESIZE and esize with NGNOD for clarity and to prepare for support of 27-node elements


Modified: seismo/3D/SPECFEM3D/trunk/src/decompose_mesh_SCOTCH/decompose_mesh_SCOTCH.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/decompose_mesh_SCOTCH/decompose_mesh_SCOTCH.f90	2012-08-17 00:01:50 UTC (rev 20584)
+++ seismo/3D/SPECFEM3D/trunk/src/decompose_mesh_SCOTCH/decompose_mesh_SCOTCH.f90	2012-08-17 00:04:25 UTC (rev 20585)
@@ -66,7 +66,6 @@
   integer  :: nb_edges
 
   integer  :: ispec, inode
-  integer  :: NGNOD
   integer  :: max_neighbour         ! Real maximum number of neighbours per element
   integer  :: sup_neighbour   ! Majoration of the maximum number of neighbours per element
 
@@ -122,9 +121,6 @@
     logical :: use_poroelastic_file
     integer(long) :: nspec_long
 
-  ! sets number of nodes per element
-    NGNOD = esize
-
   ! reads node coordinates
     open(unit=98, file=localpath_name(1:len_trim(localpath_name))//'/nodes_coords_file',&
           status='old', form='formatted', iostat = ier)
@@ -162,7 +158,7 @@
     ! sets number of elements (integer 4-byte)
     nspec = nspec_long
 
-    allocate(elmnts(esize,nspec),stat=ier)
+    allocate(elmnts(NGNOD,nspec),stat=ier)
     if( ier /= 0 ) stop 'error allocating array elmnts'
     do ispec = 1, nspec
       ! format: # element_id  #id_node1 ... #id_node8
@@ -646,7 +642,7 @@
     mask_nodes_elmnts(:) = .false.
     used_nodes_elmnts(:) = 0
     do ispec = 1, nspec
-      do inode = 1, ESIZE
+      do inode = 1, NGNOD
         mask_nodes_elmnts(elmnts(inode,ispec)) = .true.
         used_nodes_elmnts(elmnts(inode,ispec)) = used_nodes_elmnts(elmnts(inode,ispec)) + 1
       enddo

Modified: seismo/3D/SPECFEM3D/trunk/src/decompose_mesh_SCOTCH/part_decompose_mesh_SCOTCH.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/decompose_mesh_SCOTCH/part_decompose_mesh_SCOTCH.f90	2012-08-17 00:01:50 UTC (rev 20584)
+++ seismo/3D/SPECFEM3D/trunk/src/decompose_mesh_SCOTCH/part_decompose_mesh_SCOTCH.f90	2012-08-17 00:04:25 UTC (rev 20585)
@@ -28,18 +28,14 @@
 
   implicit none
 
+  include "../shared/constants.h"
+
 ! Useful kind types
   integer ,parameter :: short = SELECTED_INT_KIND(4), long = SELECTED_INT_KIND(18)
 
-! Number of nodes per elements.
-  integer, parameter  :: ESIZE = 8
-
 ! Number of faces per element.
   integer, parameter  :: nfaces = 6
 
-! very large and very small values
-  double precision, parameter :: HUGEVAL = 1.d+30,TINYVAL = 1.d-9
-
 ! acoustic-elastic-poroelastic load balancing:
 ! assumes that elastic at least ~4 times more expensive than acoustic
 ! assumes that poroelastic at least ~8 times more expensive than acoustic
@@ -63,7 +59,7 @@
     integer, intent(in)  :: nnodes
     integer, intent(in)  :: nsize
     integer, intent(in)  :: sup_neighbour
-    integer, dimension(0:esize*nspec-1), intent(in)  :: elmnts
+    integer, dimension(0:NGNOD*nspec-1), intent(in)  :: elmnts
 
     integer, dimension(0:nspec)  :: xadj
     integer, dimension(0:sup_neighbour*nspec-1)  :: adjncy
@@ -88,8 +84,8 @@
     nb_edges = 0
 
     ! list of elements per node
-    do i = 0, esize*nspec-1
-       nodes_elmnts(elmnts(i)*nsize+nnodes_elmnts(elmnts(i))) = i/esize
+    do i = 0, NGNOD*nspec-1
+       nodes_elmnts(elmnts(i)*nsize+nnodes_elmnts(elmnts(i))) = i/NGNOD
        nnodes_elmnts(elmnts(i)) = nnodes_elmnts(elmnts(i)) + 1
     end do
 
@@ -101,8 +97,8 @@
              connectivity = 0
              elem_base = nodes_elmnts(k+j*nsize)
              elem_target = nodes_elmnts(l+j*nsize)
-             do n = 1, esize
-                num_node = elmnts(esize*elem_base+n-1)
+             do n = 1, NGNOD
+                num_node = elmnts(NGNOD*elem_base+n-1)
                 do m = 0, nnodes_elmnts(num_node)-1
                    if ( nodes_elmnts(m+num_node*nsize) == elem_target ) then
                       connectivity = connectivity + 1
@@ -296,7 +292,7 @@
     integer, intent(in)  :: nspec
     integer, intent(in) :: sup_neighbour
     integer, dimension(0:nspec-1), intent(in)  :: part
-    integer, dimension(0:esize*nspec-1), intent(in)  :: elmnts
+    integer, dimension(0:NGNOD*nspec-1), intent(in)  :: elmnts
     integer, dimension(0:nspec), intent(in)  :: xadj
     integer, dimension(0:sup_neighbour*nspec-1), intent(in)  :: adjncy
     integer, dimension(:),pointer  :: tab_size_interfaces, tab_interfaces
@@ -368,12 +364,12 @@
                       tab_interfaces(tab_size_interfaces(num_interface)*7+num_edge*7+0) = el
                       tab_interfaces(tab_size_interfaces(num_interface)*7+num_edge*7+1) = adjncy(el_adj)
                       ncommon_nodes = 0
-                      do num_node = 0, esize-1
-                         do num_node_bis = 0, esize-1
-                            if ( elmnts(el*esize+num_node) == elmnts(adjncy(el_adj)*esize+num_node_bis) ) then
+                      do num_node = 0, NGNOD-1
+                         do num_node_bis = 0, NGNOD-1
+                            if ( elmnts(el*NGNOD+num_node) == elmnts(adjncy(el_adj)*NGNOD+num_node_bis) ) then
                                tab_interfaces(tab_size_interfaces(num_interface)*7 &
                                               +num_edge*7+3+ncommon_nodes) &
-                                    = elmnts(el*esize+num_node)
+                                    = elmnts(el*NGNOD+num_node)
                                ncommon_nodes = ncommon_nodes + 1
                             end if
                          end do
@@ -416,7 +412,7 @@
     integer, intent(in)  :: nspec
     integer, intent(in) :: sup_neighbour
     integer, dimension(0:nspec-1), intent(in)  :: part
-    integer, dimension(0:esize*nspec-1), intent(in)  :: elmnts
+    integer, dimension(0:NGNOD*nspec-1), intent(in)  :: elmnts
     integer, dimension(0:nspec), intent(in)  :: xadj
     integer, dimension(0:sup_neighbour*nspec-1), intent(in)  :: adjncy
     integer, dimension(:),pointer  :: tab_size_interfaces, tab_interfaces
@@ -529,12 +525,12 @@
                       tab_interfaces(tab_size_interfaces(num_interface)*7+num_edge*7+0) = el
                       tab_interfaces(tab_size_interfaces(num_interface)*7+num_edge*7+1) = adjncy(el_adj)
                       ncommon_nodes = 0
-                      do num_node = 0, esize-1
-                         do num_node_bis = 0, esize-1
-                            if ( elmnts(el*esize+num_node) == elmnts(adjncy(el_adj)*esize+num_node_bis) ) then
+                      do num_node = 0, NGNOD-1
+                         do num_node_bis = 0, NGNOD-1
+                            if ( elmnts(el*NGNOD+num_node) == elmnts(adjncy(el_adj)*NGNOD+num_node_bis) ) then
                                tab_interfaces(tab_size_interfaces(num_interface)*7 &
                                              +num_edge*7+3+ncommon_nodes) &
-                                    = elmnts(el*esize+num_node)
+                                    = elmnts(el*NGNOD+num_node)
                                ncommon_nodes = ncommon_nodes + 1
                             end if
                          end do
@@ -969,7 +965,7 @@
     integer, intent(in)  :: nspec
     integer, intent(inout)  :: nspec_local
     integer, dimension(0:nspec-1)  :: part
-    integer, dimension(0:esize*nspec-1)  :: elmnts
+    integer, dimension(0:NGNOD*nspec-1)  :: elmnts
     integer, dimension(:), pointer :: glob2loc_elmnts
     integer, dimension(2,nspec)  :: num_modele
     integer, dimension(:), pointer  :: glob2loc_nodes_nparts
@@ -1398,7 +1394,7 @@
     double precision, dimension(16,nb_materials),intent(in)  :: mat_prop
 
     integer, dimension(0:nspec-1)  :: part
-    integer, dimension(0:esize*nspec-1)  :: elmnts
+    integer, dimension(0:NGNOD*nspec-1)  :: elmnts
 
     ! local parameters
     integer  :: nfaces_coupled
@@ -1525,8 +1521,8 @@
     integer, dimension(0:nspec-1)  :: part
 
     ! mesh element indexing
-    ! ( elmnts(esize,nspec) )
-    integer, dimension(0:esize*nspec-1)  :: elmnts
+    ! ( elmnts(NGNOD,nspec) )
+    integer, dimension(0:NGNOD*nspec-1)  :: elmnts
 
     ! moho surface
     integer ,intent(in) :: nspec2D_moho
@@ -1582,9 +1578,9 @@
 
       ! loops over all element corners
       counter = 0
-      do i=0,esize-1
+      do i=0,NGNOD-1
         ! note: assumes that node indices in elmnts array are in the range from 0 to nodes-1
-        inode = elmnts(el*esize+i)
+        inode = elmnts(el*NGNOD+i)
         if( node_is_moho(inode) ) counter = counter + 1
       enddo
 

Modified: seismo/3D/SPECFEM3D/trunk/src/generate_databases/create_regions_mesh.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/generate_databases/create_regions_mesh.f90	2012-08-17 00:01:50 UTC (rev 20584)
+++ seismo/3D/SPECFEM3D/trunk/src/generate_databases/create_regions_mesh.f90	2012-08-17 00:04:25 UTC (rev 20585)
@@ -608,7 +608,7 @@
 ! data from the external mesh
   integer :: nnodes_ext_mesh,nelmnts_ext_mesh
   double precision, dimension(NDIM,nnodes_ext_mesh) :: nodes_coords_ext_mesh
-  integer, dimension(ESIZE,nelmnts_ext_mesh) :: elmnts_ext_mesh
+  integer, dimension(NGNOD,nelmnts_ext_mesh) :: elmnts_ext_mesh
 
 ! proc numbers for MPI
   integer :: myrank

Modified: seismo/3D/SPECFEM3D/trunk/src/generate_databases/generate_databases.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/generate_databases/generate_databases.f90	2012-08-17 00:01:50 UTC (rev 20584)
+++ seismo/3D/SPECFEM3D/trunk/src/generate_databases/generate_databases.f90	2012-08-17 00:04:25 UTC (rev 20585)
@@ -676,7 +676,7 @@
 ! element indexing
   !read(IIN,*) nelmnts_ext_mesh
   read(IIN) nelmnts_ext_mesh
-  allocate(elmnts_ext_mesh(esize,nelmnts_ext_mesh),stat=ier)
+  allocate(elmnts_ext_mesh(NGNOD,nelmnts_ext_mesh),stat=ier)
   if( ier /= 0 ) stop 'error allocating array elmnts_ext_mesh'
   allocate(mat_ext_mesh(2,nelmnts_ext_mesh),stat=ier)
   if( ier /= 0 ) stop 'error allocating array mat_ext_mesh'

Modified: seismo/3D/SPECFEM3D/trunk/src/generate_databases/get_MPI.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/generate_databases/get_MPI.f90	2012-08-17 00:01:50 UTC (rev 20584)
+++ seismo/3D/SPECFEM3D/trunk/src/generate_databases/get_MPI.f90	2012-08-17 00:04:25 UTC (rev 20585)
@@ -44,7 +44,7 @@
 
 ! external mesh, element indexing
   integer :: nelmnts_ext_mesh
-  integer, dimension(ESIZE,nelmnts_ext_mesh) :: elmnts_ext_mesh
+  integer, dimension(NGNOD,nelmnts_ext_mesh) :: elmnts_ext_mesh
 
   integer :: num_interfaces_ext_mesh,max_interface_size_ext_mesh
 

Modified: seismo/3D/SPECFEM3D/trunk/src/generate_databases/memory_eval.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/generate_databases/memory_eval.f90	2012-08-17 00:01:50 UTC (rev 20584)
+++ seismo/3D/SPECFEM3D/trunk/src/generate_databases/memory_eval.f90	2012-08-17 00:04:25 UTC (rev 20585)
@@ -173,7 +173,7 @@
 
   ! memory usage, in generate_database() routine so far
   static_memory_size = NGLLX*NGLLY*NGLLZ*nspec*4 + 3*NGLLX*NGLLY*NGLLZ*nspec*8 &
-        + NDIM*nnodes_ext_mesh*8 + ESIZE*nelmnts_ext_mesh*4 + 2*nelmnts_ext_mesh*4 &
+        + NDIM*nnodes_ext_mesh*8 + NGNOD*nelmnts_ext_mesh*4 + 2*nelmnts_ext_mesh*4 &
         + 5*nmat_ext_mesh*8 + 3*num_interfaces_ext_mesh &
         + 6*max_interface_size_ext_mesh*num_interfaces_ext_mesh*4 &
         + NGLLX*NGLLX*max_interface_size_ext_mesh*num_interfaces_ext_mesh*4 &

Modified: seismo/3D/SPECFEM3D/trunk/src/meshfem3D/constants.h.in
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/meshfem3D/constants.h.in	2012-08-17 00:01:50 UTC (rev 20584)
+++ seismo/3D/SPECFEM3D/trunk/src/meshfem3D/constants.h.in	2012-08-17 00:04:25 UTC (rev 20585)
@@ -26,111 +26,16 @@
 
 ! @configure_input@
 
-!
-! solver in single or double precision depending on the machine (4 or 8 bytes)
-!
-! ALSO CHANGE FILE precision.h ACCORDINGLY
-!
-  integer, parameter :: SIZE_REAL = 4
-  integer, parameter :: SIZE_DOUBLE = 8
+  include "../shared/constants.h"
 
-! set to SIZE_REAL to run in single precision
-! set to SIZE_DOUBLE to run in double precision (increases memory size by 2)
-  integer, parameter :: CUSTOM_REAL = @CUSTOM_REAL@
-
-!----------- parameters that can be changed by the user -----------
-
-! set to .false.  if running on a Beowulf-type machine with local disks
-! set to .true. if running on a shared-memory machine with common file system
-! if running on a Beowulf, also modify name of nodes in filter_machine_file.f90
-  logical, parameter :: LOCAL_PATH_IS_ALSO_GLOBAL = . at LOCAL_PATH_IS_ALSO_GLOBAL@.
-
-! apply heuristic rule to modify doubling regions to balance angles
-  logical, parameter :: APPLY_HEURISTIC_RULE = .true.
-
-! input, output and main MPI I/O files
-  integer, parameter :: ISTANDARD_OUTPUT = 6
-  integer, parameter :: IIN = 40,IOUT = 41
-! uncomment this to write messages to a text file
-  integer, parameter :: IMAIN = 42
-! uncomment this to write messages to the screen
-! integer, parameter :: IMAIN = ISTANDARD_OUTPUT
-! I/O unit for source and receiver vtk file
-  integer, parameter :: IOVTK = 98
-! I/O unit for interface file
-  integer, parameter :: IIN_INTERFACES = 43
-
-! ignore variable name field (junk) at the beginning of each input line
-  logical, parameter :: IGNORE_JUNK = .true.,DONT_IGNORE_JUNK = .false.
-
-! minimum thickness in meters to include the effect of the oceans
-! to avoid taking into account spurious oscillations in topography model
-!  double precision, parameter :: MINIMUM_THICKNESS_3D_OCEANS = 10.d0
-
-! min and max density in the model
-!  double precision, parameter :: DENSITY_MAX = 3000.d0
-!  double precision, parameter :: DENSITY_MIN = 2000.d0
-
-! density of sea water
-!  real(kind=CUSTOM_REAL), parameter :: RHO_OCEANS = 1020.0
-
-! depth at which we start to honor the basement interface
-!  double precision, parameter :: Z_THRESHOLD_HONOR_BASEMENT = -4700.d0
-
-! paths for inputs and outputs files
-  character(len=256), parameter :: IN_DATA_FILES_PATH = '../in_data_files/'
-  character(len=256), parameter :: MF_IN_DATA_FILES_PATH = '../in_data_files/meshfem3D_files/'
-  character(len=256), parameter :: OUTPUT_FILES_PATH = '../in_out_files/OUTPUT_FILES/'
-
-! ---------------------------------------------------------------------------------------
-! LQY -- Following 3 variables stays here temporarily,
-!        we need to move them to Par_file at a proper time
-! ---------------------------------------------------------------------------------------
-! save moho mesh and compute Moho boundary kernels
-!  logical, parameter :: SAVE_MOHO_MESH = .false.
-
 !------------------------------------------------------
 !----------- do not modify anything below -------------
 !------------------------------------------------------
 
-! on some processors (e.g. Pentiums) it is necessary to suppress underflows
-! by using a small initial field instead of zero
-  logical, parameter :: FIX_UNDERFLOW_PROBLEM = .true.
-
-! some useful constants
-  double precision, parameter :: PI = 3.141592653589793d0
-  double precision, parameter :: TWO_PI = 2.d0 * PI
-
-! 3-D simulation
-  integer, parameter :: NDIM = 3
-
-! dimension of the boundaries of the slices
-  integer, parameter :: NDIM2D = 2
-
-! number of nodes for 2D and 3D shape functions for hexahedra
-! we use 8-node mesh bricks, which are more stable than 27-node elements
-  integer, parameter :: NGNOD = 8, NGNOD2D = 4
-
-! a few useful constants
-  double precision, parameter :: ZERO = 0.d0,ONE = 1.d0,TWO = 2.d0 !,HALF = 0.5d0
-
-  real(kind=CUSTOM_REAL), parameter :: &
-    ONE_THIRD   = 1._CUSTOM_REAL/3._CUSTOM_REAL, &
-    FOUR_THIRDS = 4._CUSTOM_REAL/3._CUSTOM_REAL
-
-! very large and very small values
-  double precision, parameter :: HUGEVAL = 1.d+30,TINYVAL = 1.d-9
-
 ! define flag for elements
   integer, parameter :: IFLAG_ONE_LAYER_TOPOGRAPHY = 1
   integer, parameter :: IFLAG_BASEMENT_TOPO = 2
 
-! Olsen's constant for Q_mu = constant * v_s attenuation rule
-  real, parameter :: OLSEN_ATTENUATION_RATIO = 0.05
-
-! number of standard linear solids in parallel for attenuation
-  integer, parameter :: N_SLS = 3
-
 ! flag for the four edges of each slice and for the bottom edge
   integer, parameter :: XI_MIN = 1
   integer, parameter :: XI_MAX = 2
@@ -138,48 +43,6 @@
   integer, parameter :: ETA_MAX = 4
   integer, parameter :: BOTTOM = 5
 
-! number of GLL points not set in the mesher, do not modify this value
-  integer, parameter :: NGLLX = 2
-  integer, parameter :: NGLLY = NGLLX
-  integer, parameter :: NGLLZ = NGLLX
-
-! number of points per surface element
-  integer, parameter :: NGLLSQUARE = NGLLX * NGLLY
-
-! number of points per spectral element
-  integer, parameter :: NGLLCUBE = NGLLX * NGLLY * NGLLZ
-
-! for vectorization of loops
-  integer, parameter :: NGLLSQUARE_NDIM = NGLLSQUARE * NDIM
-  integer, parameter :: NGLLCUBE_NDIM = NGLLCUBE * NDIM
-
-! flag for projection from latitude/longitude to UTM, and back
-  integer, parameter :: ILONGLAT2UTM = 0, IUTM2LONGLAT = 1
-
-! smallest real number on the Pentium and the SGI =  1.1754944E-38
-! largest real number on the Pentium and the SGI  =  3.4028235E+38
-! small negligible initial value to avoid very slow underflow trapping
-! but not too small to avoid trapping on velocity and acceleration in Newmark
-  real(kind=CUSTOM_REAL), parameter :: VERYSMALLVAL = 1.E-24_CUSTOM_REAL
-
-! displacement threshold above which we consider the code became unstable
-  real(kind=CUSTOM_REAL), parameter :: STABILITY_THRESHOLD = 1.E+25_CUSTOM_REAL
-
-! geometrical tolerance for boundary detection
-  double precision, parameter :: SMALLVAL = 0.00001d0
-
-! do not use tags for MPI messages, use dummy tag instead
-  integer, parameter :: itag = 0,itag2 = 0
-
-! for the Gauss-Lobatto-Legendre points and weights
-  double precision, parameter :: GAUSSALPHA = 0.d0,GAUSSBETA = 0.d0
-
-! number of lines per source in CMTSOLUTION file
-  integer, parameter :: NLINES_PER_CMTSOLUTION_SOURCE = 13
-
-! number of iterations to solve the system for xi and eta
-  integer, parameter :: NUM_ITER = 4
-
 ! size of topography and bathymetry file for Southern California
   integer, parameter :: NX_TOPO_SOCAL = 1401,NY_TOPO_SOCAL = 1001
   double precision, parameter :: ORIG_LAT_TOPO_SOCAL = 32.d0
@@ -286,9 +149,6 @@
 ! reference surface of the model before adding topography
   double precision, parameter :: Z_SURFACE = 0.d0
 
-! number of points in each AVS or OpenDX quadrangular cell for movies
-  integer, parameter :: NGNOD2D_AVS_DX = 4
-
 ! magic ratio for heuristic rule
 ! this gives 120 degree angles in doubling
 ! standard value 0.5 gives 135-135-90, which is not optimal
@@ -305,4 +165,4 @@
   integer, parameter :: NGLOB_DOUBLING_SUPERBRICK = 67
   integer, parameter :: NSPEC_SUPERBRICK_1L = 28
   integer, parameter :: NGLOB_SUPERBRICK_1L = 58
-  integer, parameter :: NGNOD_EIGHT_CORNERS = 8
+

Modified: seismo/3D/SPECFEM3D/trunk/src/shared/constants.h.in
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/shared/constants.h.in	2012-08-17 00:01:50 UTC (rev 20584)
+++ seismo/3D/SPECFEM3D/trunk/src/shared/constants.h.in	2012-08-17 00:04:25 UTC (rev 20585)
@@ -241,9 +241,6 @@
 ! (cross-section plane parameters can be specified in create_color_image.f90)
   logical, parameter :: PNM_GIF_IMAGE = .false.
 
-! number of nodes per element as provided by the external mesh
-  integer, parameter :: ESIZE = 8
-
 ! geometry tolerance parameter to calculate number of independent grid points
 ! sensitive to actual size of model, assumes reference sphere of radius 1
 ! this is an absolute value for normalized coordinates in the Earth
@@ -294,7 +291,11 @@
 ! number of nodes for 2D and 3D shape functions for hexahedra
 ! we use 8-node mesh bricks, which are more stable than 27-node elements
   integer, parameter :: NGNOD = 8, NGNOD2D = 4
+  integer, parameter :: NGNOD_EIGHT_CORNERS = 8
 
+! number of points in each AVS or OpenDX quadrangular cell for movies
+  integer, parameter :: NGNOD2D_AVS_DX = 4
+
 ! a few useful constants
   double precision, parameter :: ZERO = 0.d0,ONE = 1.d0,TWO = 2.d0 !,HALF = 0.5d0
 
@@ -413,9 +414,6 @@
   integer, parameter :: IDOMAIN_ELASTIC     = 2
   integer, parameter :: IDOMAIN_POROELASTIC = 3
 
-! number of points in each AVS or OpenDX quadrangular cell for movies
-  integer, parameter :: NGNOD2D_AVS_DX = 4
-
 ! model ids
   integer, parameter :: IMODEL_DEFAULT          = 1
   integer, parameter :: IMODEL_1D_PREM          = 2



More information about the CIG-COMMITS mailing list