Point sources and faults

_images/fault_geom.png

ShakerMaker defines it’s coordinate system with \(x\) positive towards the north, \(y\) positive towards the east and \(z\) positive downwards.

Strike is defined clockwise from the north, dip is measured from the horizontal, and rake increases in the down-dip direction.

Faults are specified using the FaultSource which are just lists of sub-faults which are of the PointSource type. Faults can have arbitrary shape and complexity.

PointSource

class shakermaker.pointsource.PointSource(x, angles, stf=<shakermaker.stf_extensions.dirac.Dirac object>, tt=0)[source]

Bases: object

A source that is a point.

Defined by its position and spatial oriention, this source can also be given a trigger time and a source time function (to be convolved after the Green’s function is computed).

Parameters:
  • x (numpy array (shape (3,))) – Position of the source in xyz coordinates.
  • anlges – Orientation of the fault angles = [strike, dip rake] in degrees.
  • tt (double) – trigger time for the fault (s)
  • stf (fkdrm.fkdrmBase.SourceTimeFunction) – source time function to convolver
angles

Numpy array with the (strike,dip,rake) angles of the source fault plane in degrees

stf

The source time-function to be convolved with.

tt

Scalar trigger time

x

Numpy array with the (x,y,z) coordinates of the source

FaultSource

class shakermaker.faultsource.FaultSource(sources, metadata)[source]

Bases: object

A fault is a collection of point-sources

If you want to have more than one point-source in space generating motions, you use this class.

Parameters:sources – A list of PointSources

Example:

#Two strike-slip sources at z=1.0 and 1.5 (km)
ps1 = PointSource([0, 0, 1],[0, 90, 0])
ps2 = PointSource([0, 0, 1.5],[0, 90, 0])

fault = FaultSource([ps1, ps2])
metadata

Source metadata, such as fault name.

nsources

Number of sub-faults