The vertices coordinates in flat array
The triangles indices in flat array
The constraint
Change the geometry of the discontinuities
The new position of the vertices making the discontinuities
True if you want displacement vectors in local coordinate system (e.g., to display iso-contours on the surface), false for the global coordinate system (e.g., if you want to deform the surface according to the displacement field)
True if you want the returned displacement field to be at triangles, otherwise it will be defined (interpolated) at vertices (e.g., if you want to deform the surface according to the displacement field)
A flat array of displacement vectors
Local or global coordinate system (default true)
Compute at triangle center, at vertices otherwise (default true)
A small value called epsilon (default 1e-7)
A flat vector
Local or global coordinate system (default true)
Compute at triangle center, at vertices otherwise (default true)
A small value call epsilon (default 1e-7)
A flat vector
Iterate over all vertices making this Surface.
Example:
surface.forEachVertex( v => {
console.log(`vertex index ${v.index} has position ${v.position}`)
})
Reset displacement to zero
Compute the seismic moment of this surface, i.e., M0 = μ.S.Δu
, with μ the shear modulus, S the area
of the surface and Δu the mean displacement. The shear modulus is computed form the model Young's modulus
and the Poisson's ratio.
The axis index or the axis name.
For axis index it can be either 0 for the normal direction,
1 for the strike direction or 2 for the dip direction.
For the string value, it can be either x
or normal
, y
or strike
, z
or dip
.
The type of boundary condition for the considered axis. For traction condition,
value can be either t
, 0
, free
, traction
, neumann
or unknown
. All these values have the same
meaning. For displacement condition, value can be either b
, 1
, displ
, displacement
, fixed
,
dirichlet
, locked
or imposed
. All these values have the same meaning.
When an axis is free, it means that the provided boundary value will a traction component (along the axis)
since the displacement is unknown. Similarly, when the boundary condition is locked
, the
provided value is an imposed displacement along the axis.
The boundary value for the considered axis. It can be either
a number, a callback or an array of values for which the length shoud be equal to the number of
triangles making the Surface. If, for a given axis, the condition is traction
, then this initial value
corrsponds to a traction value (i.e., pressure). On the other hand, if the condition id displacement
, then
this value corresponds to an imposed displacement.
If the value is a callbak, then the signature is
cb(x: number, y: number, z: number): number
and for which (x,y,z) represents the center of the considered triangle.
Set the slip vectors defined at triangles (no interpolation)
Set the slip vectors defined at vertices (interpolate)
A surface, or surface discontinuity, is an active object which will pertubed displacement, strain and stress field around it. Surface discontinuities can represent different type of geological objects such as faults, diapirs or magma chambers.
To access computed values on Surface, see the Solution class, or use the method Surface.displ
A Surface is part of a Arch Model.
If you want to switch from the Okada to Poly3D convention, you will have to use the BurgerFilter class.