Options
All
  • Public
  • Public/Protected
  • All
Menu

Allow to get access to influence matrices (e.g., Traction-influence-matrix). This class is mainly used for prototyping algorithm and where low level functionalities are required.

example
const influence = new arch.Influence(model)

// Get the influence from triangle 9 to the center of triangle 2
const Tij = influence.traction(2,9) // flatten array [xx, xy, xz, yx, yy, yz, zx, zy, zz]

Influence matrices can be used for many purposes since they are acting at the low level of Arch.

Some examples are provided below (screenshot of a paper in preparation 🙂):

Usage of the influence tensors for either (i) heterogenity or (ii) slip inversion

Hierarchy

  • Influence

Index

Constructors

Methods

  • displacement(field: [number, number, number], source: number): FullTensor
  • Get the displacement influence matrix, D, at field point p due to source triangle.

    Parameters

    • field: [number, number, number]

      The position of the field point (e.g., the center of a triangle, an obs point)

    • source: number

      the id of the source triangle

    Returns FullTensor

    The non-symetric influence matrix as an array of size 9 (tensor rank 2):

    [
    x, y, z, // Burger 1
    x, y, z, // Burger 2
    x, y, z // Burger 3
    ]
  • strain(field: [number, number, number], source: number): FullTensor3
  • Get the strain influence matrix, S, at field point p due to source triangle.

    Parameters

    • field: [number, number, number]

      The position of the field point (e.g., the center of a triangle, an obs point)

    • source: number

      the id of the source triangle

    Returns FullTensor3

    The non-symetric influence matrix as an array of size 27 (tensor rank 3):

    [
    [xx, xy, xz, yx, yy, yz, zx, zy, zz], // Burger 1
    [xx, xy, xz, yx, yy, yz, zx, zy, zz], // Burger 2
    [xx, xy, xz, yx, yy, yz, zx, zy, zz] // Burger 3
    ]
  • stress(field: [number, number, number], source: number): FullTensor3
  • Get the stress influence matrix, S, at field point p due to source triangle.

    Parameters

    • field: [number, number, number]

      The position of the field point (e.g., the center of a triangle, an obs point)

    • source: number

      the id of the source triangle

    Returns FullTensor3

    The non-symetric influence matrix as an array of size 27 (tensor rank 3):

    [
    [xx, xy, xz, yx, yy, yz, zx, zy, zz], // Burger 1
    [xx, xy, xz, yx, yy, yz, zx, zy, zz], // Burger 2
    [xx, xy, xz, yx, yy, yz, zx, zy, zz] // Burger 3
    ]
  • traction(field: number, source: number): FullTensor
  • Get the traction influence matrix, T, at field triangle due to source triangle. Compared to the other methods, here the field is a triangle as we have to rotate the result in th etriangle local coordinate system.

    Parameters

    • field: number

      the id of the field triangle

    • source: number

      the id of the source triangle

    Returns FullTensor

    The non-symetric influence matrix as an array of size 9:

    [
    x, y, z, // Burger 1
    x, y, z, // Burger 2
    x, y, z // Burger 3
    ]

    Given T and the Burger vector b at source, the resulting Burger, a, at field is given by

         a = T.b