[CIG-SEISMO] My model and some problems, or bug about meshfem3D and generate_databases?

胡元鑫 huanduh at gmail.com
Sun Aug 1 09:31:18 PDT 2010


Dear Pieyre,

The problems about computing error on cluster and number of spectral
elements in the vertical direction were solved by myself. The two
problems were resulted from nano. When nano is used to modify regions
of model in Par_file, it will move some characters of end-of-line to
next line. But I still have problems about SPECFEM3D_SESAME, which are
mostly related to meshfem3D.

1. In the constants.h of meshfem3D, SPACING_X(and Y)_BASEMENT = 1000,
but SPACING_XI(and ETA) = 20000 in file interfaces.dat. If I changed
the constants.h or interfaces.dat to specify basement map according my
computing area, the executing of meshfem2D caused error. If I used
topography as only one interface, the executing of meshfem3D was
abnormal too. How can I do?

2. Without any change of interface number 1 and its parameters in
interfaces.dat, I modified the interface number 2 and its parameters.
The Par_file, constants.h, interface2.dat and topo_bathy_final.dat
were modified accordingly. The executing of meshfem3D was normal and
produced *_Database. I copied these *_Database files to DATABASES_MPI
and modified TOPOGRAPHY or OCEAN in Par_file of generate_databases to
.true., but the xgenerate_databases could not run. I thought that
meshfem3D did not incorporate the interface2.dat or
topo_bathy_final.dat, i.e. *_Database did not contain data of
interface2.dat.

3. After executing of xgenerate_databases without TOPOGRAPHY or OCEAN
= .true., I got some files such as *_external_mesh.bin, *_x(or y,
z).bin, *_vp(or vs).bin(or vtk), *_ibool.bin and
*_attenuation_flag.vtk in DATABASES_MPI. Then "make clean" and "make
specfem3D", but the executing of xspecfem3D (forward simulation)
became unstable and blew up. I checked the output_mesher.txt of
meshfem3D. There were some warning message in the output_mesher.txt:
 *********************************************
 *********************************************
  WARNING, that value is above the upper CFL limit of   0.480000000000000
 therefore the run should be unstable
 You can try to reduce the time step
 *********************************************
 *********************************************.
The data of mesh quality are:
 creating histogram and statistics of mesh quality

 histogram of skewness (0. good - 1. bad):

   0.000000      -   5.0000001E-02      210347     45.04758      %
  5.0000001E-02  -   0.1000000           37066     7.937997      %
  0.1000000      -   0.1500000           36140     7.739686      %
  0.1500000      -   0.2000000           38849     8.319841      %
  0.2000000      -   0.2500000           32656     6.993558      %
  0.2500000      -   0.3000000           28827     6.173545      %
  0.3000000      -   0.3500000           27579     5.906276      %
  0.3500000      -   0.4000000           16562     3.546892      %
  0.4000000      -   0.4500000           10067     2.155933      %
  0.4500000      -   0.5000000            5659     1.211923      %
  0.5000000      -   0.5500000            2789    0.5972879      %
  0.5500000      -   0.6000000            1393    0.2983227      %
  0.6000000      -   0.6500000             795    0.1702560      %
  0.6500000      -   0.7000000            8748     1.873458      %
  0.7000000      -   0.7500000             386    8.2665160E-02  %
  0.7500000      -   0.8000000             375    8.0309413E-02  %
  0.8000000      -   0.8500000            8472     1.814350      %
  0.8500000      -   0.9000000             167    3.5764460E-02  %
  0.9000000      -   0.9500000              67    1.4348616E-02  %
  0.9500000      -    1.000000               0     0.000000      %

 *********************************************
 *********************************************
  WARNING, mesh is bad (max skewness >= 0.75)
 *********************************************
 *********************************************.
How can I do to run xspecfem3D normally according to Par_file of
generate_databases and specfem3D?

4. Please tell me more details about NDOUBLINGS and NZ_DOUGLING_1. I
experimented with USE_REGULAR_MESH = .true., but the xspecfem3D also
became unstable and blew up.

5. If I modified the domain_id to 3 (poroelastic) in Par_file of
meshfem3D, the meshfem3D produced nothing but error message "stop
poroelastic material domain not implemented yet". My Par_file and
interfaces.dat of meshfem3D is presented here to provide more detail
information.
--------------------------------------Par_file---------------------------------
# coordinates of mesh block in latitude/longitude and depth in km
LATITUDE_MIN                    = 31.d0
LATITUDE_MAX                    = 31.2d0
LONGITUDE_MIN                   = 103.1d0
LONGITUDE_MAX                   = 103.6d0
DEPTH_BLOCK_KM                  = 60.d0
UTM_PROJECTION_ZONE             = 48
SUPPRESS_UTM_PROJECTION         = .false.

# file that contains the interfaces of the model / mesh
INTERFACES_FILE                 = interfaces.dat

# number of elements at the surface along edges of the mesh at the surface
# (must be 8 * multiple of NPROC below if mesh is not regular and
contains mesh doublings)
# (must be multiple of NPROC below if mesh is regular)
NEX_XI                          = 128
NEX_ETA                         = 128

# number of MPI processors along xi and eta (can be different)
NPROC_XI                        = 2
NPROC_ETA                       = 2

# Regular/irregular mesh
USE_REGULAR_MESH                = .false.
# Only for irregular meshes, number of doubling layers (1 or 2) and
their position
NDOUBLINGS                      = 1
# NZ_DOUGLING_1 is the parameter to set up if there is only one doubling layer
NZ_DOUGLING_1                   = 44
NZ_DOUGLING_2                   = 0

# create mesh files for visualisation or further checking
CREATE_ABAQUS_FILES             = .true.
CREATE_DX_FILES                 = .true.

# anticipated time step for simulation (in order to check the
stability condition)
DT                              = 0.01

# path to store the databases files
LOCAL_PATH                      = OUTPUT_FILES

# number of materials
NMATERIALS                      = 2
# define the different materials in the model as :
# #material_id  #rho  #vp  #vs  #Q_flag  #anisotropy_flag #domain_id
#     Q_flag           : 0=no attenuation/1=IATTENUATION_SEDIMENTS_40,
2=..., 13=IATTENUATION_BEDROCK
#     anisotropy_flag  : 0=no anisotropy/ 1,2,.. check with
implementation in aniso_model.f90
#     domain_id        : 1=acoustic / 2=elastic / 3=poroelastic
1  2600  4000  2000  13  0  2
2  2700  6000  3464  13  0  2
#3  1000  1500  0    0  0  2
#4  1300  1400  700  2  0  3
# number of regions
NREGIONS                        = 2
# 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              128          1             128           1        44       2
1              128          1             128           45       60       1
#1              64           1             64            1        4        1
#1              64           1             64            5        5        2
#1              64           1             64            6        15       3
#14             25           7             19            7        10       4
------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------interfaces.dat-----------------------------------------------------------------------------
2
#
# We describe each interface below, structured as a 2D-grid, with
several parameters :
# number of points along XI and ETA, minimal XI ETA coordinates
# and spacing between points which must be constant.
# Then the records contain the Z coordinates of the NXI x NETA points.
#
# interface number 1
# SUPPRESS_UTM_PROJECTION  NXI  NETA LONG_MIN   LAT_MIN    SPACING_XI
SPACING_ETA
 .true.           161  144  316000.d0  3655000.d0 20000.d0  20000.d0
 interface1.dat
# interface number 2 (topography, top of the mesh)
 .false. 6001 4001 102.d0 30.d0 0.0005d0 0.0005d0
 interface2.dat
#
# for each layer, we give the number of spectral elements in the
vertical direction
# layer number 1 (bottom layer)
 44
# layer number 2 (top layer)
 16
------------------------------------------------------------------------------------------------------------------------------------------------------------
If the output_mesher.txt of meshfem3D and generate_databases and
output_solver.txt are must, I will send them to you. Any more tips
would be greatly appreciated!

Thanks and regards,

Hu Yuanxin


More information about the CIG-SEISMO mailing list