Hello everyone!
I am currently calculating Green’s functions, and I want to compute the surface displacement response to unit slip on a single fault cell. The PyLith v5 manual states:
A basis order of 0 will impose unit slip over a cell with zero slip in all other cells. For example, a basis order of 0 for the slip auxiliary subfield and a basis order of 1 for the displacement and fault Lagrange multiplier fields will result in nearly uniform slip within the fault cell with a linear taper into the adjacent surrounding fault cells.
However, when I use a 3D model and set auxiliary_subfields.slip.basis_order = 0. I find that the basis order for the displacement and fault Lagrange multiplier fields cannot be set to 0. Does this mean that the calculated displacement response is not exclusively the contribution from a single triangular fault cell? If I only want to calculate the Green’s function for an individual triangular fault cell, what would be the appropriate way to do this? I would appreciate any suggestions or recommendations.
The discretization of the slip impulses need not match the discretization of the solution fields. You do need to specify compatible values, so do not use a basis order for the slip impulses that is higher than the basis order for the displacement and Lagrange multiplier fields. With a basis order of 0 (uniform slip within a fault cell) for the slip impulse, I would start with a basis order of 1 for the displacement and Lagrange multiplier fields and also test using a basis order of 2 for those fields. The stress concentrations at the edges of the fault cell arising from uniform slip within the cell are likely better resolved with a basis order of 2 for the displacement field.
Thanks for your reply. I want to use the PyLith Green’s functions to replace the triangular dislocation Green’s functions of Nikkhoo and Walter (2015) in my inversion. Therefore, I would like to know whether the effect of the “linear taper into the adjacent surrounding fault cells” on the resulting surface displacement can be neglected when the displacement and fault Lagrange multiplier fields are set to a basis order of 1 or 2.
I do not understand what you mean by being able to neglect the effect on the resulting surface displacement.
The basis order of the solution fields controls the accuracy of the Green’s functions. It is independent of the inversion method.
The basis order of the discretization of the fault impulses should be consistent with the assumptions of the inversion method. Usually this is related to what type of regularization is used. If the inversion method relies on uniform values within a cell, then use a basis order of 0 for the discretization of the slip impulses. If the inversion method allows for linear variations of the slip impulses (linear taper), then use a basis order of 1 for the slip impulses.
The examples (strikeslip-2d Steps 4-6) demonstrate how to reconstruct the slip using a basis order of 1 from an inversion. The key is to think of the values that come directly out of the inversion results as coefficients that get multiplied by the fault slip field for each impulse rather than values of slip. This is consistent with the finite-element formulation.
If I use auxiliary_subfields.slip.basis_order = 0, with the displacement and fault Lagrange multiplier fields set to a basis order of 1 or 2, can I interpret each resulting Green’s function as the surface displacement response to uniform unit slip on a single fault cell, while all other fault cells have zero slip? In other words, does the higher basis order of the solution fields affect only the accuracy of the computed Green’s function, rather than introducing slip into the adjacent fault cells?