![]() |
MechSys
1.0
Computing library for simulations in continuum and discrete mechanics
|
#include <geomelem.h>
Public Member Functions | |
GeomElem (int NDim, size_t NN, size_t NFN, char const *Name="__unnamed_geomelem__") | |
Name. Ex: Tri3, Quad4, ... | |
virtual | ~GeomElem () |
virtual void | SetIPs (int TotNIP)=0 |
Set the total number of integration points in this element. | |
virtual size_t | FNode (size_t IdxFace, size_t IdxFNode) const =0 |
Get node of face, given index of face and index of node of face. | |
virtual void | Shape (double r, double s, double t) const =0 |
Shape functions. | |
virtual void | Derivs (double r, double s, double t) const =0 |
Derivatives of shape functions. | |
virtual void | FaceShape (double r, double s) const =0 |
Shape functions of face/edge. | |
virtual void | FaceDerivs (double r, double s) const =0 |
Derivatives of shape functions of face/edge. | |
virtual void | NatCoords (Mat_t &C) const =0 |
Matrix with natural coordinates of all nodes (ex.: -1, 0, 1) | |
Public Attributes | |
size_t | NN |
Number of nodes. | |
size_t | NFN |
Number of face nodes. | |
size_t | NIP |
Number of integration points. | |
size_t | NFIP |
Number of integration points of face. | |
IntegPoint const * | IPs |
Integration points. | |
IntegPoint const * | FIPs |
Integration points of Faces/Edges. | |
String | Name |
Name. Ex: Tri3, Quad4, ... | |
Vec_t | N |
(current) (size=NN) Shape functions | |
Mat_t | dNdR |
(current) (size=NDim x NN) Derivative of shape functions w.r.t natural coordinates | |
Vec_t | FN |
(current) (size=NFN) Face shape functions | |
Mat_t | FdNdR |
(current) (size=NDim-1 x NFN) Derivative of face shape functions w.r.t. natural coordinates |
FEM::GeomElem::GeomElem | ( | int | NDim, |
size_t | NN, | ||
size_t | NFN, | ||
char const * | Name = "__unnamed_geomelem__" |
||
) | [inline] |
virtual FEM::GeomElem::~GeomElem | ( | ) | [inline, virtual] |
virtual void FEM::GeomElem::Derivs | ( | double | r, |
double | s, | ||
double | t | ||
) | const [pure virtual] |
Derivatives of shape functions.
Implemented in FEM::Hex20, FEM::Hex8, FEM::Lin2, FEM::Quad4, FEM::Quad8, FEM::Tet10, FEM::Tri15, FEM::Tri3, and FEM::Tri6.
virtual void FEM::GeomElem::FaceDerivs | ( | double | r, |
double | s | ||
) | const [pure virtual] |
Derivatives of shape functions of face/edge.
Implemented in FEM::Hex20, FEM::Hex8, FEM::Lin2, FEM::Quad4, FEM::Quad8, FEM::Tet10, FEM::Tri15, FEM::Tri3, and FEM::Tri6.
virtual void FEM::GeomElem::FaceShape | ( | double | r, |
double | s | ||
) | const [pure virtual] |
Shape functions of face/edge.
Implemented in FEM::Hex20, FEM::Hex8, FEM::Lin2, FEM::Quad4, FEM::Quad8, FEM::Tet10, FEM::Tri15, FEM::Tri3, and FEM::Tri6.
virtual size_t FEM::GeomElem::FNode | ( | size_t | IdxFace, |
size_t | IdxFNode | ||
) | const [pure virtual] |
Get node of face, given index of face and index of node of face.
Implemented in FEM::Hex20, FEM::Hex8, FEM::Lin2, FEM::Quad4, FEM::Quad8, FEM::Tet10, FEM::Tri15, FEM::Tri3, and FEM::Tri6.
virtual void FEM::GeomElem::NatCoords | ( | Mat_t & | C | ) | const [pure virtual] |
Matrix with natural coordinates of all nodes (ex.: -1, 0, 1)
Implemented in FEM::Hex20, FEM::Hex8, FEM::Lin2, FEM::Quad4, FEM::Quad8, FEM::Tet10, FEM::Tri15, FEM::Tri3, and FEM::Tri6.
virtual void FEM::GeomElem::SetIPs | ( | int | TotNIP | ) | [pure virtual] |
Set the total number of integration points in this element.
Implemented in FEM::Hex20, FEM::Hex8, FEM::Lin2, FEM::Quad4, FEM::Quad8, FEM::Tet10, FEM::Tri15, FEM::Tri3, and FEM::Tri6.
virtual void FEM::GeomElem::Shape | ( | double | r, |
double | s, | ||
double | t | ||
) | const [pure virtual] |
Shape functions.
Implemented in FEM::Hex20, FEM::Hex8, FEM::Lin2, FEM::Quad4, FEM::Quad8, FEM::Tet10, FEM::Tri15, FEM::Tri3, and FEM::Tri6.
Mat_t FEM::GeomElem::dNdR [mutable] |
(current) (size=NDim x NN) Derivative of shape functions w.r.t natural coordinates
Mat_t FEM::GeomElem::FdNdR [mutable] |
(current) (size=NDim-1 x NFN) Derivative of face shape functions w.r.t. natural coordinates
IntegPoint const* FEM::GeomElem::FIPs |
Integration points of Faces/Edges.
Vec_t FEM::GeomElem::FN [mutable] |
(current) (size=NFN) Face shape functions
IntegPoint const* FEM::GeomElem::IPs |
Integration points.
Vec_t FEM::GeomElem::N [mutable] |
(current) (size=NN) Shape functions
size_t FEM::GeomElem::NFIP |
Number of integration points of face.
size_t FEM::GeomElem::NFN |
Number of face nodes.
size_t FEM::GeomElem::NIP |
Number of integration points.
size_t FEM::GeomElem::NN |
Number of nodes.