Skip to content

expressions

Expr() dataclass

Base expression node.

MatrixExpr() dataclass

Bases: Expr

Base for matrix-typed expressions.

S2(s=None, *, size=(3,), value=None, attr=None)

Bases: Vector

S2 manifold (unit sphere in R3, ||q|| = 1).

Source code in geomech/core/base/expressions.py
def __init__(self, s=None, *, size=(3,), value=None, attr=None):
    if attr is None:
        attr = []
    attr.append("Manifold")
    attr.append("UnitNorm")
    super().__init__(s, size=size, value=value, attr=attr)
    self.manifold_info = ManifoldInfo(
        tangent_vector_name="\\omega_{" + self.name + "}",
        variation_vector_name="\\xi_{" + self.name + "}",
    )

SO3(s=None, *, size=(3, 3), value=None, attr=None)

Bases: Matrix

SO(3) rotation matrix manifold (R^T R = I, det(R) = 1).

Source code in geomech/core/base/expressions.py
def __init__(self, s=None, *, size=(3, 3), value=None, attr=None):
    if attr is None:
        attr = []
    attr.append("Manifold")
    attr.append("OrthogonalMatrix")
    super().__init__(s, size=size, value=value, attr=attr)
    self.manifold_info = ManifoldInfo(
        tangent_vector_name="\\Omega_{" + self.name + "}",
        variation_vector_name="\\eta_{" + self.name + "}",
    )

ScalarExpr() dataclass

Bases: Expr

Base for scalar-typed expressions.

TS2(s, *, S2=None)

Bases: Vector

Tangent space of S2 manifold.

Source code in geomech/core/base/expressions.py
def __init__(self, s, *, S2=None):
    super().__init__(s)
    self.S2 = S2
    if self.attr is None:
        self.attr = []
    self.attr.append("TangentVector")

TSO3(s, *, SO3=None)

Bases: Vector

Tangent space of SO3 manifold.

Source code in geomech/core/base/expressions.py
def __init__(self, s, *, SO3=None):
    super().__init__(s)
    self.SO3 = SO3
    if self.attr is None:
        self.attr = []
    self.attr.append("TangentVector")

VectorExpr() dataclass

Bases: Expr

Base for vector-typed expressions.