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
403 stars 225 forks source link

Unable to generate database while simulating small scale laboratory experiment of fault rupture. #1727

Closed adarshdevd closed 3 weeks ago

adarshdevd commented 4 weeks ago

Dear All

I am using specfem3D to simulate laboratory based dynamic rupture experiment of strike slip fault. I am generating a MESH by using cubit with only single fault. I am able to decompose my mesh but while generating databases, I am getting negative Jacobian errors are as follow :

##########################################

starting MPI mesher on 256 processors

 Error: rank           81 found invalid element with negative Jacobian   -1.4062500000000022E-007
 Error: rank           86 found invalid element with negative Jacobian   -1.0710574953280319E-008
   NGNOD =            8
   point (i,j,k) =            1           3           1
   element points x/y/z: 
     0.39500000000000002      -0.14999999999999999      -0.10000000000000001     
     0.39500000000000002      -0.14999999999999999       -9.5000000000000001E-002
     0.39999915933491414      -0.15115268369127235       -7.5258703276330080E-002
     0.39999860056283043      -0.15304983662649330       -6.3405391523379886E-002
     0.39500000000000002      -0.14499999999999999      -0.10000000000000001     
     0.39500000000000002      -0.14499999999999999       -9.5000000000000001E-002
     0.39999936898166133      -0.14615298750108158       -7.5259235990954909E-002
     0.39999896298127419      -0.14805021288456785       -6.3405948058067041E-002
 Error: rank           92 found invalid element with negative Jacobian   -1.0708287838084585E-008

#############################################

As this laboratory experiment are in centimetre scale , I worked with tolerance also but unable to fix this error.

I am attaching Fault_experiment.zip containing : error.o , mesh.jou ,mesh.py and DATA directory files along with this post so that you guys can also try to run my example and help me to resolve this issue.

Fault_experiment.zip

Thanks

danielpeter commented 3 weeks ago

when trying out your zip-file, it looks like the mesh is pretty regular and the xgenerate_databases runs without Jacobian errors.

I'm running it with NPROC = 4 and the only fix needed was to place a station within the mesh bounds:

X1              SF       0.0025    0.154                0.0     0.0

as the others with +/- 0.025 where all outside. thus, it's probably some compiler and CUBIT version issue which you'll have to figure out for your system.

adarshdevd commented 3 weeks ago

Yes , There was CUBIT version issue. Thanks

jxhxb commented 1 week ago

Hi,have you done the work about small scale laboratory experiment of fault rupture? Now i am working on the similar thing,but its sacle be no more than 200m200m200m. I'm doing my work by changing hete_fault_properties, the hete_fault_properties itself can be run in my computer, but i changed the module scale from "km" to "m", and kepp other parameres no change, then i got the MOVIE_VOLUME , it seems that there is nothong in MOVIE_VOLUME . So i want to learn that how to set Par_file_faults's parameters and par_file's parameters?thank you very much!