[CIG-SHORT] Fault direction in 3D fault

Brad Aagaard baagaard at usgs.gov
Thu May 8 16:25:53 PDT 2014


PyLith outputs the slip vector in the fault coordinate frame. You will 
need to use the strike_dir, dip_dir, and normal_dir to rotate the slip 
vector from the fault coordinate frame to the global coordinate frame. 
This can be done using the calculator filter within ParaView.

Using Python notation:

     slipGlobal[:,0] = 
slipFault[:,0]*strikeDir[:,0]+slipFault[:,1]*dipDir[:,0]+slipFault[:,2]*normalDir[:,0]

     slipGlobal[:,1] = 
slipFault[:,0]*strikeDir[:,1]+slipFault[:,1]*dipDir[:,1]+slipFault[:,2]*normalDir[:,1]

     slipGlobal[:,2] = 
slipFault[:,0]*strikeDir[:,2]+slipFault[:,1]*dipDir[:,2]+slipFault[:,2]*normalDir[:,2]


Regards,
Brad


On 05/08/2014 04:18 PM, Jiangzhi Chen wrote:
> Hi Charles,
>
>      I used your revised interseismic.cfg, then I found that the
> final_slip direction is pointing to the side, rather than following the
> dip direction. This happens to both of the faults. The dip_dir,
> normal_dir and strike_dir are OK. Is there something I am missing? Or
> maybe it is because of the boundary conditions?
>
> Jiangzhi
>
> On 05/04/2014 06:58 PM, Charles Williams wrote:
>> It appears that the problem is that your fault at the bottom of the
>> slab is completely horizontal over much of its extent.  This causes
>> problems for PyLith when the default up_dir [0,0,1] is used.  The way
>> to diagnose this problem is to have PyLith output the orientation
>> information for the faults, as Brad suggested previously.  When you
>> plot the strike_dir as vectors, you will see it varies quite a bit for
>> the horizontal portion of the fault, because the direction is
>> undefined.  The solution is to choose a vector that does not align
>> with the fault normal vector.  I chose a vector that points slightly
>> to the west.  When this is done, the various fault slip directions are
>> well-defined.
>>
>> I'm attaching a slightly revised interseismic.cfg file that has a few
>> changes.  Try this out and see if the results are reasonable.  Also, I
>> would spend some time trying to improve the quality of your mesh.
>>
>> Cheers,
>> Charles
>>
>>
>>
>>
>>
>> On 5/05/2014, at 12:52 pm, Jiangzhi Chen <jzchenjzarthur at gmail.com>
>> wrote:
>>
>>> After I generated the mesh, I smoothed it using
>>>
>>> cleanup volume all
>>> volume all smooth scheme condition number beta 2.0 cpu 4
>>> smooth volume all
>>>
>>> Maybe I should give it a smaller beta number.
>>>
>>> On May 4, 2014, at 5:30 PM, Charles Williams <willic3 at gmail.com> wrote:
>>>
>>>> I'm trying to run your problem right now, but it's extremely slow.
>>>> After looking at your mesh, I realized that the quality is extremely
>>>> poor, especially near the fault.  This will probably affect the
>>>> convergence speed as well as the accuracy of your solution.  Did you
>>>> smooth the mesh at all?
>>>>
>>>> Cheers,
>>>> Charles
>>>>
>>>>
>>>> On 5/05/2014, at 10:29 am, Jiangzhi Chen <jzchenjzarthur at gmail.com>
>>>> wrote:
>>>>
>>>>> I used field split in calculation, and used a specific solver. The
>>>>> linear solver usually converges after 3 or 4 iterations.
>>>>>
>>>>> [pylithapp.timedependent.formulation]
>>>>> split_fields = True
>>>>> matrix_type = aij
>>>>> use_custom_constraint_pc = True
>>>>> [pylithapp.petsc]
>>>>> fs_pc_type = fieldsplit
>>>>> fs_pc_fieldsplit_type = schur
>>>>> fs_pc_fieldsplit_schur_factorization_type = full
>>>>> fs_pc_fieldsplit_real_diagonal = true
>>>>> fs_fieldsplit_0_pc_type = gamg
>>>>> fs_fieldsplit_0_ksp_type = preonly
>>>>> fs_fieldsplit_0_ksp_rtol = 1.0e-10
>>>>> fs_fieldsplit_1_pc_type = none
>>>>> fs_fieldsplit_1_ksp_type = minres
>>>>> fs_fieldsplit_1_ksp_rtol = 1.0e-10
>>>>>
>>>>> # Convergence parameters.
>>>>> ksp_rtol = 1.0e-8
>>>>> ksp_atol = 1.0e-12
>>>>> ksp_max_it = 100
>>>>> ksp_gmres_restart = 50
>>>>>
>>>>> # Linear solver monitoring options.
>>>>> ksp_monitor = true
>>>>> ksp_view = true
>>>>> ksp_converged_reason = true
>>>>>
>>>>> # Nonlinear solver monitoring options.
>>>>> snes_rtol = 1.0e-8
>>>>> snes_atol = 1.0e-12
>>>>> snes_max_it = 100
>>>>> snes_monitor = true
>>>>> snes_view = true
>>>>> snes_converged_reason = true
>>>>>
>>>>> I attached the mesh and pylith configurations.
>>>>>
>>>>> <test.zip>
>>>>> On May 4, 2014, at 2:56 PM, Charles Williams <willic3 at gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hi Jiangzhi,
>>>>>>
>>>>>> The up_dir is just used to help PyLith figure out how your
>>>>>> coordinate system is set up.  Not specifying it for your slabbot
>>>>>> fault may be causing some problems, but I also suspect there may
>>>>>> be some inconsistencies between your boundary conditions and your
>>>>>> applied fault slip.  Also, when you run the problem are you
>>>>>> getting convergence in the linear solution?
>>>>>>
>>>>>> Cheers,
>>>>>> Charles
>>>>>>
>>>>>>
>>>>>> On 5/05/2014, at 9:38 am, Jiangzhi Chen <jzchenjzarthur at gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Thanks for your advice, I am still trying to get the slab move
>>>>>>> correctly. The part I am confused is that the slab just sinks
>>>>>>> down, as shown in the gif figure in my previous email. Is this
>>>>>>> up_dir related to the fault type, i.e., reverse fault or normal
>>>>>>> fault? In my case, the slab top is a reverse fault, and slabbot
>>>>>>> is a normal fault. Maybe the reason is that I did not specify
>>>>>>> up_dir for the slabbot fault.
>>>>>>>
>>>>>>> Jiangzhi
>>>>>>>
>>>>>>> On May 4, 2014, at 2:20 PM, Charles Williams <willic3 at gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi Jiangzhi,
>>>>>>>>
>>>>>>>> Did you make any more progress on this?  Were the strike_dir,
>>>>>>>> dip_dir, etc., consistent with what you thought?  These are just
>>>>>>>> direction cosines, so you can plot them as vectors to see what
>>>>>>>> they look like.
>>>>>>>>
>>>>>>>> Also, I noticed that you only specified up_dir for one of your
>>>>>>>> faults.  I believe that the default is [0,0,1], but it's
>>>>>>>> probably a good idea to specify this as well for consistency.
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>> Charles
>>>>>>>>
>>>>>>>>
>>>>>>>> On 3/05/2014, at 8:03 am, Jiangzhi Chen
>>>>>>>> <jzchenjzarthur at gmail.com> wrote:
>>>>>>>>
>>>>>>>>> Hi Brad and Charles,
>>>>>>>>>
>>>>>>>>> Thanks for your advice. First I tried Brad's suggestion, but
>>>>>>>>> the slab still went to wrong direction (screen1 and screen2).
>>>>>>>>> To be clear, the model simulates the Cascadia subduction zone,
>>>>>>>>> X is easting, Y is northing, and Z is up. Currently I have
>>>>>>>>> slabtop and slabbot both creeping at 8 cm/yr, and the slab is
>>>>>>>>> supposed to go down with slight rotation because of the
>>>>>>>>> geometry of the subduction boundary.
>>>>>>>>>
>>>>>>>>> Then I tried the suggestion from Charles, changed the bc_dof on
>>>>>>>>> the side to 1, and bc_dof on the bottom to 2, with up_dir
>>>>>>>>> [0,0,1]. This time, the slab did go down, but it just sank all
>>>>>>>>> way down (slab.gif).
>>>>>>>>>
>>>>>>>>> Jiangzhi
>>>>>>>>>
>>>>>>>>> On 05/01/2014 04:53 PM, Brad Aagaard wrote:
>>>>>>>>>> Jiangzhi,
>>>>>>>>>>
>>>>>>>>>> If this is the same model you used a while ago, then I believe
>>>>>>>>>> you use [0,1,0] as the up_dir for the domain. You need to set
>>>>>>>>>> the up_dir to [0,1,0] for all faults and boundaries.
>>>>>>>>>>
>>>>>>>>>> You should request that the fault orientation be information
>>>>>>>>>> be written so that you can see the strike_dir, dip_dir, and
>>>>>>>>>> fault normal directions for your geometry. This will help you
>>>>>>>>>> debug the fault slip directions. See
>>>>>>>>>> examples/3d/hex8/step06.cfg for how to request the fault
>>>>>>>>>> directions be output.
>>>>>>>>>>
>>>>>>>>>> Brad
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 5/1/14, 4:25 PM, Charles Williams wrote:
>>>>>>>>>>> Hi Jiangzhi,
>>>>>>>>>>>
>>>>>>>>>>> One problem that I see is that I think you've mixed up the
>>>>>>>>>>> bc_dof for your bottom boundary (should be 2) compared to
>>>>>>>>>>> your front and back boundaries (should be 1).  Let me know if
>>>>>>>>>>> this helps.
>>>>>>>>>>>
>>>>>>>>>>> Cheers,
>>>>>>>>>>> Charles
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On 2/05/2014, at 10:26 am, Jiangzhi Chen
>>>>>>>>>>> <jzchenjzarthur at gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi everyone,
>>>>>>>>>>>>
>>>>>>>>>>>> I have a 3D subduction model simulating the interseismic
>>>>>>>>>>>> deformation, where I have both fault_slabtop and
>>>>>>>>>>>> fault_slabbot creeping. I have set fault_slabtop with
>>>>>>>>>>>> reverse_slip of 8 cm/yr and fault_slabbot with reverse_slip
>>>>>>>>>>>> of -8 cm/yr, and used the up_dir parameter [0,0,1], but
>>>>>>>>>>>> still the subduction is in wrong direction. I am not sure
>>>>>>>>>>>> what is wrong. The configuration files are attached. Thanks.
>>>>>>>>>>>>
>>>>>>>>>>>> Jiangzhi
>>>>>>>>>>>> <screen.png><pylithapp.cfg><interseismic.cfg><mat_conmantle.spatialdb><mat_oceanlitho.spatialdb><mat_oceanmantle.spatialdb><mat_conlitho.spatialdb>_______________________________________________
>>>>>>>>>>>>
>>>>>>>>>>>> CIG-SHORT mailing list
>>>>>>>>>>>> CIG-SHORT at geodynamics.org
>>>>>>>>>>>> http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>>>>>>>>>>> Charles A. Williams
>>>>>>>>>>> Scientist
>>>>>>>>>>> GNS Science
>>>>>>>>>>> 1 Fairway Drive, Avalon
>>>>>>>>>>> PO Box 30368
>>>>>>>>>>> Lower Hutt  5040
>>>>>>>>>>> New Zealand
>>>>>>>>>>> ph (office): 0064-4570-4566
>>>>>>>>>>> fax (office): 0064-4570-4600
>>>>>>>>>>> C.Williams at gns.cri.nz
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> CIG-SHORT mailing list
>>>>>>>>>>> CIG-SHORT at geodynamics.org
>>>>>>>>>>> http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> CIG-SHORT mailing list
>>>>>>>>>> CIG-SHORT at geodynamics.org
>>>>>>>>>> http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>>>>>>>>> <screen1.png><screen2.png><slab.gif>_______________________________________________
>>>>>>>>>
>>>>>>>>> CIG-SHORT mailing list
>>>>>>>>> CIG-SHORT at geodynamics.org
>>>>>>>>> http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>>>>>>>> Charles A. Williams
>>>>>>>> Scientist
>>>>>>>> GNS Science
>>>>>>>> 1 Fairway Drive, Avalon
>>>>>>>> PO Box 30368
>>>>>>>> Lower Hutt  5040
>>>>>>>> New Zealand
>>>>>>>> ph (office): 0064-4570-4566
>>>>>>>> fax (office): 0064-4570-4600
>>>>>>>> C.Williams at gns.cri.nz
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> CIG-SHORT mailing list
>>>>>>>> CIG-SHORT at geodynamics.org
>>>>>>>> http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>>>>>>> _______________________________________________
>>>>>>> CIG-SHORT mailing list
>>>>>>> CIG-SHORT at geodynamics.org
>>>>>>> http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>>>>>> Charles A. Williams
>>>>>> Scientist
>>>>>> GNS Science
>>>>>> 1 Fairway Drive, Avalon
>>>>>> PO Box 30368
>>>>>> Lower Hutt  5040
>>>>>> New Zealand
>>>>>> ph (office): 0064-4570-4566
>>>>>> fax (office): 0064-4570-4600
>>>>>> C.Williams at gns.cri.nz
>>>>>>
>>>>>> _______________________________________________
>>>>>> CIG-SHORT mailing list
>>>>>> CIG-SHORT at geodynamics.org
>>>>>> http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>>>>> _______________________________________________
>>>>> CIG-SHORT mailing list
>>>>> CIG-SHORT at geodynamics.org
>>>>> http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>>>> Charles A. Williams
>>>> Scientist
>>>> GNS Science
>>>> 1 Fairway Drive, Avalon
>>>> PO Box 30368
>>>> Lower Hutt  5040
>>>> New Zealand
>>>> ph (office): 0064-4570-4566
>>>> fax (office): 0064-4570-4600
>>>> C.Williams at gns.cri.nz
>>>>
>>>> _______________________________________________
>>>> CIG-SHORT mailing list
>>>> CIG-SHORT at geodynamics.org
>>>> http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>>> _______________________________________________
>>> CIG-SHORT mailing list
>>> CIG-SHORT at geodynamics.org
>>> http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>> Charles A. Williams
>> Scientist
>> GNS Science
>> 1 Fairway Drive, Avalon
>> PO Box 30368
>> Lower Hutt  5040
>> New Zealand
>> ph (office): 0064-4570-4566
>> fax (office): 0064-4570-4600
>> C.Williams at gns.cri.nz
>>
>>
>>
>> _______________________________________________
>> CIG-SHORT mailing list
>> CIG-SHORT at geodynamics.org
>> http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>
>
>
>
> _______________________________________________
> CIG-SHORT mailing list
> CIG-SHORT at geodynamics.org
> http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>



More information about the CIG-SHORT mailing list