Crate russell_tensor

source ·
Expand description

Russell - Rust Scientific Library

russell_tensor: Tensor analysis, calculus, and functions for continuum mechanics

Important: This crate depends on external libraries (non-Rust). Thus, please check the Installation Instructions on the GitHub Repository.

This library implements structures and functions for tensor analysis and calculus. The library focuses on applications in engineering and [Continuum Mechanics](Continuum Mechanics). The essential functionality for the targeted applications includes second-order and fourth-order tensors, scalar “invariants,” and derivatives.

This library implements derivatives for scalar functions with respect to tensors, tensor functions with respect to tensors, and others. A convenient basis representation known as Mandel basis (similar to Voigt notation) is considered by this library internally. The user may also use the Mandel basis to perform simpler matrix-vector operations directly.

Structs§

  • Holds auxiliary data to compute the second derivative of the J3 invariant
  • Holds auxiliary data to compute the second derivative of the Lode invariant
  • Holds auxiliary data to compute the second derivative of the deviatoric invariant
  • Implements the linear elasticity equations for small-strain problems
  • Collects values related to a sample Tensor2
  • Holds second-order tensor samples
  • Holds fourth-order tensor samples
  • Holds the spectral representation of a symmetric second-order tensor
  • Implements a second-order tensor, symmetric or not
  • Implements a fourth order-tensor, minor-symmetric or not

Enums§

  • Specifies the Mandel representation

Constants§

Traits§

Functions§

  • Calculates the first derivative of the J2 invariant w.r.t. the stress tensor
  • Calculates the first derivative of the J3 invariant w.r.t. the stress tensor
  • Calculates the first derivative of the Lode invariant w.r.t. the stress tensor
  • Calculates the first derivative of the deviatoric stress invariant (von Mises) w.r.t. the stress tensor
  • Calculates the first derivative of the mean stress invariant w.r.t. the stress tensor
  • Calculates the first derivative of the norm w.r.t. the defining Tensor2
  • Calculates the second derivative of the J2 invariant w.r.t. the stress tensor
  • Calculates the second derivative of the J3 invariant w.r.t. the stress tensor
  • Calculates the second derivative of the Lode invariant w.r.t. the stress tensor
  • Calculates the second derivative of the deviatoric invariant (von Mises) w.r.t. the stress tensor
  • Calculates the derivative of the inverse tensor w.r.t. the defining Tensor2
  • Calculates the derivative of the inverse tensor w.r.t. the defining Tensor2 (symmetric)
  • Calculates the derivative of the squared tensor w.r.t. the defining Tensor2
  • Calculates the derivative of the squared tensor w.r.t. the defining Tensor2 (symmetric)
  • Performs the double-dot (ddot) operation between two Tensor2 (inner product)
  • Performs the double-dot (ddot) operation between a Tensor2 and a Tensor4
  • Performs the single dot operation between two Tensor2 (matrix multiplication)
  • Performs the single dot operation between a Tensor2 and a vector
  • Performs the dyadic product between two Tensor2 resulting in a Tensor4
  • Performs the overbar dyadic product between two Tensor2 resulting in a (general) Tensor4
  • Performs the quad-sum-dyadic (qsd) operation with two Tensor2 yielding a minor-symmetric Tensor4
  • Performs the self-sum-dyadic (ssd) operation with a Tensor2 yielding a minor-symmetric Tensor4
  • Performs the underbar dyadic product between two Tensor2 resulting in a (general) Tensor4
  • Performs the double-dot (ddot) operation between a Tensor4 and a Tensor2
  • Performs the double-dot (ddot) operation between a Tensor4 and a Tensor2 with update
  • Performs the double-dot (ddot) operation between two Tensor4
  • Performs the single dot operation between a vector and a Tensor2
  • Performs the dyadic product between two vectors resulting in a second-order tensor

Type Aliases§

  • Defines the error output as a static string