SPECFEM / specfem3d

SPECFEM3D_Cartesian simulates acoustic (fluid), elastic (solid), coupled acoustic/elastic, poroelastic or seismic wave propagation in any type of conforming mesh of hexahedra (structured or not).
GNU General Public License v3.0
404 stars 225 forks source link

"error (72): floating overflow" when DT is 0.00002 #1440

Open AserAbbas opened 3 years ago

AserAbbas commented 3 years ago

Hi, I am running a forward problem using regular cubical/uniform mesh elements. My elements' size is 0.5 m3, and the highest p-wave velocity is 1400 m/s. The model size is " 100m X 50m X 25m". The maximum suggested time step by SPECFEM3D is 0.000029. I am running SPECFEM3D on Texas Advanced Computing Center (TACC) using 125 cores. SPECFEM3D runs for few minutes then gives "error (72): floating overflow". When I decrease the P wave velocity and the suggested time step increases to 0.0002 s, the program completes the computations successfully.

AserAbbas commented 3 years ago

The problem may be related to PML boundaries because when I used Stacey absorbing conditions, the model ran successfully. When I ran the model with PML boundaries while enabling the debugging flag (i.e., ./configure FC=ifort CC=icc MPIFC=mpif90 --with-mpi --enable-debug), I got the following error message. SPECFEM_error.txt

The model input files are as follows (I increased the size of the elements to be 1 m3. The suggested time step is 0.0000580. The model still throws the same error) ;

Par_file.txt Mesh_Par_file.txt FORCESOLUTION.txt STATIONS.txt

Is there a way I can use PML boundaries with such small time steps without getting that error?.

mrzjrbn commented 3 years ago

Hi Aser,

I ve never using pml but sometimes i got the same error in stacey bc, what i did mostly is by changing the dt a little bit, such as if the suggested time step is 0.000395, i changed it to 0.00035, something like tht.

AserAbbas commented 3 years ago

Hi Mrzjrbn,

Thank you for sharing your experience. I can run my models using Stacey absorbing conditions. The problem with Stacey absorbing conditions, according to Komatitsch and Tromp (1999) and Clayton & Engquist (1977), is that they perfectly absorb waves impinging at right angles to the boundary, but they are less effective for waves that graze the boundary. Therefore, Stacey boundaries are less effective than PML boundaries. However, I cannot run SPECFEM3D for such small time steps (i.e.,0.00002 s) while using PML boundaries.

planetarianPKU commented 3 years ago

Hello, I have encountered a similar situation. You can use Paraview to check whether your model produces extremely irregular blocks instead of cubes when splitting the blocks for parallelization.

AserAbbas commented 3 years ago

Hi planetarianPKU, Thank you for the insight; I have checked the "mesh_quality_histogram.txt" and "output_meshfem3D.txt" files, and all the elements seem to be cubical (i.e., the maximum skewness is less than 0.025, which is much lower than the 0.75).

output_meshfem3D.txt mesh_quality_histogram.txt