Public Interface

GeoGreensFunctions.dc3dMethod
dc3d(x::T, y::T, z::T, α::T, dep::T, dip::T,
    al::Union{A, SubArray}, aw::Union{A, SubArray}, disl::A
    ) where {T <: Number, A <: AbstractVecOrMat{T}}

Calculate displacements and gradient of displacements due to a rectangular dislocation in an elastic isotropic halfspace.

Please see dc3d for details. Also this fault coordinate system is widely used in this package.

Arguments

  • x, y, z: observational position, where $z ≤ 0$
  • α: elastic constant
  • dep: depth of fault origin
  • dip: dip angle in degree
  • al: a vector of 2 numbers, indicating along strike (x-axis) spanning
  • aw: a vector of 2 numbers, indicating along downdip (y-z plane) spanning
  • disl: a vector of 3 numbers, indicating dislocation in along-strike, along-downdip and tensile respectively.

Output

A vector of 12 numbers, each is $u_{x}$, $u_{y}$, $u_{z}$, $u_{x,x}$, $u_{y,x}$, $u_{z,x}$, $u_{x,y}$, $u_{y,y}$, $u_{z,y}$, $u_{x,z}$ $u_{y,z}$, $u_{z,z}$.

source
GeoGreensFunctions.disp_tri3_hsMethod
disp_tri3_hs(X::T, Y::T, Z::T, P1::V, P2::V, P3::V, Ss::T, Ds::T, Ts::T, nu::T) where {T, V}

Compute displacement risen from triangular dislocation in elastic halfspace. Please see original version (in supporting information) for details, especially the coordinate system used here.

Arguments

  • X, Y, Z: observational coordinates
  • P1, P2, P3: three triangular vertices coordinates respectively
  • Ss, Ds, Ts: triangular dislocation vector, Strike-slip, Dip-slip, Tensile-slip respectively
  • nu: poisson ratio

Output

By order: $u_x$, $u_y$, $u_z$

source
GeoGreensFunctions.stress_tri3_hsMethod
stress_tri3_hs(X::T, Y::T, Z::T, P1::V, P2::V, P3::V, Ss::T, Ds::T, Ts::T, λ::T, μ::T) where {T, V}

Compute stress risen from triangular dislocation in elastic halfspace. Please see original version (in supporting information) for details, especially the coordinate system used here.

Arguments

  • X, Y, Z: observational coordinates
  • P1, P2, P3: three triangular vertices coordinates respectively
  • Ss, Ds, Ts: triangular dislocation vector, Strike-slip, Dip-slip, Tensile-slip respectively
  • λ: Lamé's first parameter
  • μ: shear modulus

Output

By order: $σ_{xx}$, $σ_{yy}$, $σ_{zz}$, $σ_{xy}$, $σ_{xz}$, $σ_{yz}$.

source
GeoGreensFunctions._disp_vol_hex8Method
_disp_vol_hex8(
    x1::R, x2::R, x3::R, q1::R, q2::R, q3::R,
    L::R, T::R, W::R, theta::R,
    epsv11p::R, epsv12p::R, epsv13p::R, epsv22p::R, epsv23p::R, epsv33p::R,
    G::R, nu::R,
    ) where R

Compute displacement arisen from inelastic strain in Hex8 elements. Please see original version for complete details, especially the coordinate system used here.

Arguments

  • x1, x2, x3: observational position, where $x_{3} ≥ 0$
  • q1, q2, q3: Hex8 element position, where $q_{3} ≥ 0$
  • L, T, W: Hex8 element length, thickness and width
  • theta: strike angle
  • epsv**: strain components, each is $ϵ_{11}$, $ϵ_{12}$, $ϵ_{13}$, $ϵ_{22}$, $ϵ_{23}$, $ϵ_{33}$
  • G: shear modulus
  • nu: poisson ratio

Output

A vector of 3 numbers, each represents $u_{1}$, $u_{2}$, $u_{3}$

Notice

  • Inplace version: _disp_vol_hex8!(u, args...) where u is a vector of 3 numbers.
source
GeoGreensFunctions._stress_vol_hex8Method
_stress_vol_hex8(
    x1::R, x2::R, x3::R, q1::R, q2::R, q3::R,
    L::R, T::R, W::R, theta::R,
    epsv11p::R, epsv12p::R, epsv13p::R, epsv22p::R, epsv23p::R, epsv33p::R,
    G::R, nu::R,
    ) where R

Compute stress arisen from inelastic strain in Hex8 elements. Please see original version for complete details, especially the coordinate system used here.

Arguments

The same as _disp_vol_hex8

Output

A vector of 6 numbers, each represents $σ_{11}$, $σ_{12}$, $σ_{13}$, $σ_{22}$, $σ_{23}$, $σ_{33}$

Notice

  • Inplace version: _stress_vol_hex8!(u, args...) where u is a vector of 6 numbers.
source
GeoGreensFunctions._disp_vol_tet4Method
_disp_vol_tet4(quadrature::Q,
    x1::R, x2::R, x3::R, A::U, B::U, C::U, D::U,
    e11::R, e12::R, e13::R, e22::R, e23::R, e33::R, nu::R
    ) where {R, U, Q}

Compute displacement arisen from inelastic strain in Tet4 elements. Please see original version for complete details, especially the coordinate system used here.

Arguments

  • quadrature: quadrature rule for integration, see FastGaussQuadrature.jl
  • x1, x2, x3: observational position, where $x_{3} ≥ 0$
  • A, B, C, D: a list of 3 numbers for each, each of which represents coordinates of the vertex. All depth coordinates must be greater or equal to 0 (no checking is performed here)
  • e**: strain components, each is $ϵ_{11}$, $ϵ_{12}$, $ϵ_{13}$, $ϵ_{22}$, $ϵ_{23}$, $ϵ_{33}$
  • nu: poisson ratio

Output

A vector of 3 numbers, each represents $u_{1}$, $u_{2}$, $u_{3}$

Notice

  • Inplace version: _disp_vol_tet4!(u, args...) where u is a vector of 3 numbers.
source
GeoGreensFunctions._stress_vol_tet4Method
_stress_vol_tet4(quadrature::Q,
    x1::R, x2::R, x3::R, A::U, B::U, C::U, D::U,
    e11::R, e12::R, e13::R, e22::R, e23::R, e33::R, G::R, nu::R
    ) where {R, U, Q}

Compute stress arisen from inelastic strain in Tet4 elements. Please see original version for complete details, especially the coordinate system used here.

Arguments

  • quadrature: quadrature rule for integration, see FastGaussQuadrature.jl
  • x1, x2, x3: observational position
  • A, B, C, D: a list of 3 numbers for each, each of which represents coordinates of the vertex
  • e**: strain components, each is $ϵ_{11}$, $ϵ_{12}$, $ϵ_{13}$, $ϵ_{22}$, $ϵ_{23}$, $ϵ_{33}$
  • G: shear modulus
  • nu: poisson ratio

Output

A vector of 6 numbers, each represents $σ_{11}$, $σ_{12}$, $σ_{13}$, $σ_{22}$, $σ_{23}$, $σ_{33}$

Notice

  • Inplace version: _stress_vol_tet4!(u, args...) where u is a vector of 6 numbers.
source