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 & unstructured).
https://specfem.org
GNU General Public License v3.0
416 stars 231 forks source link

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

Closed adarshdevd closed 3 months ago

adarshdevd commented 3 months 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 months 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 months ago

Yes , There was CUBIT version issue. Thanks

jxhxb commented 3 months 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!