pylith icon indicating copy to clipboard operation
pylith copied to clipboard

Implement point dislocation earthquake sources

Open baagaard-usgs opened this issue 8 years ago • 3 comments

Point dislocation earthquake sources provide an alternative to prescribing slip on an interface embedded within the domain. A nice advantage is that they do not require including the fault surface in the mesh.

A suggested implementation is to allow the user to specify an array of point sources with a given orientation and magnitude (could be the full moment tensor). A preinitialize step is to identify the cells containing the point sources, which are then segregated to their own point source integrator and removed from the original material. The point source integrator would integrate the \nabla \phi : -C \epsilon, where \phi is the trial function and \epsilon is an approximation of the strain within the cell associated with the dislocation in strain (moment tensor).

Level of difficulty

Moderate. The basic preinitialization is quite forward. The only difficulty I anticipate is integrating the strain with the dislocation.

baagaard-usgs avatar Jun 29 '17 22:06 baagaard-usgs

Moving discussion from CIG Community Forum to here.

From @rwalkerlewis

As discussed earlier, I am trying to work on putting in a way to include time dependent point sources (specifically of a moment tensor style formulation) in pylith. After reviewing the recommended paper by Komastitsch et. al., the manner in which they input these sources (for the elastic case) was simply to represent these much in the same manner as body forces are represented right now.

However, adding a time dependent body force seems like an ugly way to approach this, considering the manner in which time variation is addressed in pylith, and especially if no other material parameters are time dependent. Would it be possible to add these forces in a manner similar to how the gravity field is currently added (separate and above the material parameters), except instead of specifying a single value in the case of gravity, giving an input nD + t dimension field (or input in a similar manner to time varying boundary conditions)? To reiterate, i think we agreed that the source input would be represented as a field, with values zero save for the point(s) in space and time where specified point sources exist.

I have been trying to construct an example with values of gravity acceleration that vary with time, to see if something like this could be done, and were already implemented, but am not having a great deal of luck.

I agree that the point source via body forces should not be part of a material. For the moment tensor point source, I would create a PointSource class in faults. The class should create an integrator (as opposed to a constraint) similar to the materials. As @knepley has suggested, we can start with it being defined over all of the cells and later reduce it to a subset for optimization.

baagaard-usgs avatar Dec 16 '20 16:12 baagaard-usgs

To get this started, which existing class in faults would be best to use as a reference?

rwalkerlewis avatar Dec 16 '20 19:12 rwalkerlewis

I would use FaultCohesiveKin as a reference.

baagaard-usgs avatar Dec 16 '20 19:12 baagaard-usgs