|
dynLattice
|
Shape function for 1D line elements in 3D space. More...
#include "Line3D.h"


Public Member Functions | |
| Line3D (const String &name, const Properties &conf, const Properties &props) | |
| Constructs a new Line3D shape object. | |
| idx_t | globalRank () const override |
| Get the global rank (spatial dimension). | |
| idx_t | localRank () const override |
| idx_t | nodeCount () const override |
| idx_t | vertexCount () const override |
| idx_t | ipointCount () const override |
| idx_t | shapeFuncCount () const override |
| Matrix | getVertexCoords () const override |
| Matrix | getIntegrationScheme () const override |
| bool | containsLocalPoint (const Vector &u) const override |
| void | getIntegrationWeights (const Vector &w, const Matrix &c) const override |
| Compute integration weights for numerical integration. | |
| Matrix | getVertexFunctions () const override |
| Matrix | getShapeFunctions () const override |
| void | getGlobalPoint (const Vector &x, const Vector &u, const Matrix &c) const override |
| Transform local coordinates to global coordinates. | |
| void | getShapeGradients (const Matrix &g, const Vector &w, const Matrix &c) const |
| get the gradients of the shape functions at the integration points | |
| void | getRotations (const Cubix &Ri, const Cubix &Rn) const |
| return the rotations at the integration points | |
| void | getXi (const Quadix &Xi, const Vector &w, const Matrix &u, const Matrix &c) const |
| Get the Xi at the integration points. | |
| void | getPsi (const Quadix &Psi, const Vector &w, const Matrix &c) const |
| Get the Psi at the integration points. | |
| void | getPi (const Cubix &Pi, const Cubix &Ri, const Cubix &Rn) const |
| Get the Pi at the integration points. | |
| void | getPi (const Cubix &Pi, const Cubix &Rn) const |
| Get the Pi at the integration points. | |
| void | getRotationGradients (const Cubix &LambdaP, const Vector &w, const Matrix &c, const Cubix &nodeLambda) const |
| Get the rotation gradients at the integration points from the rotations (Crisfield/Jelenic) | |
| void | getRotationGradients (const Cubix &LambdaP, const Vector &w, const Cubix &Rn, const Matrix &c, const Matrix &theta) const |
| Get the rotation gradients at the integration points from the rotations (Crisfield/Jelenic) | |
| void | evalShapeFunctions (const Vector &h, const Vector &u) const override |
| Evaluate shape functions at given local coordinates. | |
| void | evalShapeGradients (const Vector &h, const Vector &g, const Vector &u) const |
| Evaluate shape functions and their gradients at local coordinates. | |
| void | evalShapeGradGrads (const Vector &h, const Vector &g, const Vector &gg, const Vector &u) const |
| Evaluate shape functions, gradients, and second derivatives. | |
Static Public Attributes | |
| static const String | PROP_NODES = "numPoints" |
| Property name for number of nodes. | |
| static const String | PROP_INT = "intScheme" |
| Property name for integration scheme. | |
| static const String | PROP_LOCAL |
| Property name for local coordinates. | |
| static const idx_t | GLOB_RANK = 3 |
| Global rank (always 3 for 3D space) | |
Protected Attributes | |
| jem::Ref< ParametricLine > | intLine_ |
| internal line element for some standard functions | |
Provides shape functions and geometric operations for line elements embedded in 3D space. Supports 2, 3, and 4-node line elements with configurable integration schemes and rotational control functions.
|
explicit |
| [in] | name | Shape instance name for identification |
| [out] | conf | Configuration properties container for output |
| [in] | props | Input properties containing shape parameters |
| jem::IllegalInputException | if unsupported number of nodes is specified |
|
inlineoverride |
|
inlineoverride |
| [out] | h | Shape function values |
| [in] | u | Local coordinates |
|
inline |
| [out] | h | Shape function values |
| [out] | g | Shape function gradients |
| [out] | gg | Shape function second derivatives |
| [in] | u | Local coordinates |
|
inline |
| [out] | h | Shape function values |
| [out] | g | Shape function gradients |
| [in] | u | Local coordinates |
|
override |
| [out] | x | Global coordinates vector |
| [in] | u | Local coordinates vector |
| [in] | c | Node coordinates matrix |
|
inlineoverride |
|
override |
| [out] | w | Integration weights at quadrature points |
| [in] | c | Node coordinates matrix |
| void Line3D::getPi | ( | const Cubix & | Pi, |
| const Cubix & | Ri, | ||
| const Cubix & | Rn | ||
| ) | const |
| [out] | Pi | Pi(.,.,i) where i are the integration points |
| [out] | Ri | Ri(.,.,i) rotation at the integration points |
| [in] | Rn | rotations at the nodes. |
| void Line3D::getPi | ( | const Cubix & | Pi, |
| const Cubix & | Rn | ||
| ) | const |
| [out] | Pi | Pi(.,.,i) where i are the integration points |
| [in] | Rn | rotations at the nodes. |
| void Line3D::getPsi | ( | const Quadix & | Psi, |
| const Vector & | w, | ||
| const Matrix & | c | ||
| ) | const |
| [out] | Psi | Psi(.,.,j,i) where j are the nodes and i are the integration points |
| [out] | w | weights of the integration points |
| [in] | c | coordinates of the nodes, c(i,j) is the i-th coordinate of the j-th node |
| void Line3D::getRotationGradients | ( | const Cubix & | LambdaP, |
| const Vector & | w, | ||
| const Cubix & | Rn, | ||
| const Matrix & | c, | ||
| const Matrix & | theta | ||
| ) | const |
| [out] | LambdaP | curvature at the integration points |
| [out] | w | integration weights |
| [in] | Rn | initial rotations at the integration points. Rn(.,.,i) initial rotation at the integration points |
| [in] | c | coordinates of the nodes, c(i,j) is the i-th coordinate of the j-th node |
| [in] | theta | rotation at the nodes. theta(.,i) rotational displacement at the nodes |
| void Line3D::getRotationGradients | ( | const Cubix & | LambdaP, |
| const Vector & | w, | ||
| const Matrix & | c, | ||
| const Cubix & | nodeLambda | ||
| ) | const |
| [out] | LambdaP | curvature at the integration points |
| [out] | w | integration weights |
| [in] | c | coordinates of the nodes, c(i,j) is the i-th coordinate of the j-th node |
| [in] | nodeLambda | rotation at the nodes. |
| void Line3D::getRotations | ( | const Cubix & | Ri, |
| const Cubix & | Rn | ||
| ) | const |
| [out] | Ri | Ri(.,.,i) rotational matrix at the integration points |
| [in] | Rn | rotation at the nodes. Rn(.,i) rotational displacement at the nodes |
|
inlineoverride |
| void Line3D::getShapeGradients | ( | const Matrix & | g, |
| const Vector & | w, | ||
| const Matrix & | c | ||
| ) | const |
| [out] | g | gradient of the shape functions at the integration points g(i,j) i-th shape function at the j-th int point |
| [out] | w | weights of the integration points |
| [in] | c | coordinates of the nodes, c(i,j) is the i-th coordinate of the j-th node |
|
inlineoverride |
|
inlineoverride |
| void Line3D::getXi | ( | const Quadix & | Xi, |
| const Vector & | w, | ||
| const Matrix & | u, | ||
| const Matrix & | c | ||
| ) | const |
| [out] | Xi | Xi(.,.,j,i) where j are the nodes and i are the integration points |
| [out] | w | weights of the integration points |
| [in] | u | displacements of the nodes, c(i,j) is the i-th displacement of the j-th node |
| [in] | c | coordinates of the nodes, c(i,j) is the i-th coordinate of the j-th node |
|
inlineoverride |
|
inlineoverride |
|
inlineoverride |
|
inlineoverride |
|
inlineoverride |
|
inlineoverride |
|
static |
|
protected |
|
static |
|
static |
|
static |