New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reimplement fault constitutive models using new formulation #578
Comments
plith::faultsFaultCohesiveDynsetKernelsResidual()
FrictionStatic
pylith::fekernelsFaultFrictionContext
FrictionStatic
|
We probably want to consider a zero tolerance (with a potentially separate tolerance for the fault normal direction) to detect "zero" slip and slip rate. As in v2.x, these would be set in faults::FaultCohesiveDyn at the Python level and passed down to C++ with reasonable default values. These would be passed to the kernels in |
@knepley The residual kernels for the contributions to the displacement field for the fault faces (which is the Lagrange multiplier) only get the solution for one side of the fault. For example, pylith::fekernels::FaultCohesiveKin::f0u_pos() gets passed in sOff with sOff[0] == 2. For fault friction we want to compute slip and slip rate, which are parameters to the friction model, to compute the traction term which gets combined with the Lagrange multiplier. I think we want to pass in the solution for both sides of the fault for all kernels involving the cohesive cell, even though the kernel "output" is only for one side in the case of the functions for the fault faces. |
@baagaard-usgs Oh, that is right. We wanted to mimic a regular kernel. If we now want it to take all values, we can just pass 0 instead of s to the OffsetCohesive(), or even have a switch to indicate what kind of kernel input you want. |
We decided to change the PETSc code so that we always get all solution fields for both sides of the fault when integrating the fault faces or cohesive cells. Matt has created a PETSc branch |
FaultCohesiveDyn
fault_rheology
traction_perturbation
open_free_surface
Friction
ISAFaultRheology
FaultRheology
implementsT(x,t)
without assuming friction coefficientFriction
implementsT_f = C + \mu_f T_n
Friction Models
StaticFriction
SlipWeakening
TractionPerturbation
[DONE]Implements
T_initial
with same T(x,t) as boundary conditionsIssues
The text was updated successfully, but these errors were encountered: