Public Interface
GeoGreensFunctions.dc3d
— Methoddc3d(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 constantdep
: depth of fault origindip
: dip angle in degreeal
: a vector of 2 numbers, indicating along strike (x-axis) spanningaw
: a vector of 2 numbers, indicating along downdip (y-z plane) spanningdisl
: 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}$.
GeoGreensFunctions.disp_tri3_fs
— Methoddisp_tri3_fs(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 fullspace. Please see original version (in supporting information) for details, especially the coordinate system used here.
Arguments
The same as disp_tri3_hs
GeoGreensFunctions.disp_tri3_hs
— Methoddisp_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 coordinatesP1
,P2
,P3
: three triangular vertices coordinates respectivelySs
,Ds
,Ts
: triangular dislocation vector, Strike-slip, Dip-slip, Tensile-slip respectivelynu
: poisson ratio
Output
By order: $u_x$, $u_y$, $u_z$
GeoGreensFunctions.stress_tri3_fs
— Methodstress_tri3_fs(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 fullspace. Please see original version (in supporting information) for details, especially the coordinate system used here.
Arguments
The same as stress_tri3_hs
GeoGreensFunctions.stress_tri3_hs
— Methodstress_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 coordinatesP1
,P2
,P3
: three triangular vertices coordinates respectivelySs
,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}$.
GeoGreensFunctions._disp_vol_hex8
— Method_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 widththeta
: strike angleepsv**
: strain components, each is $ϵ_{11}$, $ϵ_{12}$, $ϵ_{13}$, $ϵ_{22}$, $ϵ_{23}$, $ϵ_{33}$G
: shear modulusnu
: 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.
GeoGreensFunctions._stress_vol_hex8
— Method_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.
GeoGreensFunctions._disp_vol_tet4
— Method_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.jlx1
,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.
GeoGreensFunctions._stress_vol_tet4
— Method_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.jlx1
,x2
,x3
: observational positionA
,B
,C
,D
: a list of 3 numbers for each, each of which represents coordinates of the vertexe**
: strain components, each is $ϵ_{11}$, $ϵ_{12}$, $ϵ_{13}$, $ϵ_{22}$, $ϵ_{23}$, $ϵ_{33}$G
: shear modulusnu
: 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.