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
411 stars 229 forks source link

How to set changes after seting another stike angle and dip angle in HETE_fault_properties #1735

Closed jxhxb closed 1 month ago

jxhxb commented 2 months ago

image The above picture is the specfem3d-master/EXAMPLES/applications/fault_examples/hete_fault_properties/DATA/ initial file. The picture's top is initial_stress and down is Par_file_fault.

image The above picture is wthat i changged in initial_stress.dat and Par_file_faults , i just changed the positions' information (after seting stike angle and dip angle), include initial_stress' position and other like on above picture when the stike angle is 90 and dip angle is 90(the specfem3d example is these angles), my module is working correctly. image image

But when setting stike angle 45 and dip angle is 85, and calculated all the positions after rotated correctly(stike angle 45 and dip angle is 85), the module doesn't work . image image

I want to know if any wrong step occured of my flow? If anyone can help me ,thank you very much!

jxhxb commented 2 months ago

this is the cubit fault file fault.txt

` reset create cylinder height {801000} radius {301000}
${idVol1=Id('volume')} create planar surface zplane
${idInt=Id('surface')}

rotate surface {idInt} about Y angle -85.000000
rotate surface {idInt} about Z angle -45.000000

surface {idInt} move z {-0.00000*1000}
create planar surface zplane
${idSur=Id('surface')}

webcut volume {idVol1} with sheet extended from surface {idSur}
${idVol2=Id('volume')} webcut volume {idVol2} with sheet extended from surface {idInt}
${idVol3=Id('volume')}

find surface overlap volume {idVol2} {idVol3}
${idF1=GroupMemberId('surf_overlap','surface',0)} ${idF2=GroupMemberId('surf_overlap','surface',1)} surface {idF1} name 'fault1'

brick x {1001000} y {801000} z {100*1000}
${idVol4=Id('volume')}

webcut volume {idVol4} with sheet extended from surface {idSur}
${idVol5=Id('volume')}

subtract volume {idVol2} {idVol3} from volume {idVol5} keep #5中减去2 3 ${idVol6=Id('volume')}

delete surface all
delete volume {idVol1} {idVol4} {idVol5}

imprint all
merge all

volume all scheme TetMesh
volume {idVol2} {idVol3} size {4.0000001000} mesh volume {idVol2} mesh volume {idVol3} volume {idVol6} size {8.0000001000} mesh volume {idVol6} THex Volume all

volume all smooth scheme condition number beta 2.0 cpu 8 smooth volume all set unmerge Duplicate_mesh on unmerge surface fault1 only surface {idF2} name 'fault2' unmerge curve 1

set node constraint off
node in surface fault1 move normal to surface fault1 distance {-0.01m} node in surface fault2 move normal to surface fault2 distance {-0.01m} compress all set node constraint on

`

jpampuero commented 2 months ago

What do you mean by "the module doesn't work"? What are the symptoms and error messages?

jxhxb commented 2 months ago

What do you mean by "the module doesn't work"? What are the symptoms and error messages?

Hi jpampuero!There is no error message. I mean I got all the simulation results are the same as following picture, almost close to zero. I guess that the fault didn't slide ! image And the data' visualization in paraview is following: image

It should be expected to look similar to the image below: image

My question is : I didn't implement strike and dip angle loading in ‘HETE_fault_properties’. Could you help me check initial_stress.dat, DIST2D shapeval='rectangle', &TWF these three parameters (they are in the top )in par_file_faults ? I just changed the position of them, and keep other parameters no change. I think that the positions (both in initial_stress.dat , DIST2D, TWF) after rotated are correct but I don't know the lx, ly and lc in"&DIST2D" should be change in which rule.

jpampuero commented 2 months ago

The fault can slip within a region with static friction coefficient of 0.63 that intersects a rectangular prism of dimensions lx, ly and lz. You need to modify the values of lx, ly and lz so that the prism does intersect the fault in the area you intend to break.

jxhxb commented 2 months ago

The fault can slip within a region with static friction coefficient of 0.63 that intersects a rectangular prism of dimensions lx, ly and lz. You need to modify the values of lx, ly and lz so that the prism does intersect the fault in the area you intend to break.

Ok, i will try it now, thanks!