MechSys  1.0
Computing library for simulations in continuum and discrete mechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Public Attributes
FEM::GeomElem Class Reference

#include <geomelem.h>

Inheritance diagram for FEM::GeomElem:
FEM::Hex20 FEM::Hex8 FEM::Lin2 FEM::Quad4 FEM::Quad8 FEM::Tet10 FEM::Tri15 FEM::Tri3 FEM::Tri6

List of all members.

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

Constructor & Destructor Documentation

FEM::GeomElem::GeomElem ( int  NDim,
size_t  NN,
size_t  NFN,
char const *  Name = "__unnamed_geomelem__" 
) [inline]

Name. Ex: Tri3, Quad4, ...

Parameters:
NDimSpace dimension
NNNumber of nodes
NFNNumber of nodes on face/edge
virtual FEM::GeomElem::~GeomElem ( ) [inline, virtual]

Member Function Documentation

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]

Member Data Documentation

(current) (size=NDim x NN) Derivative of shape functions w.r.t natural coordinates

(current) (size=NDim-1 x NFN) Derivative of face shape functions w.r.t. natural coordinates

Integration points of Faces/Edges.

(current) (size=NFN) Face shape functions

Integration points.

(current) (size=NN) Shape functions

Name. Ex: Tri3, Quad4, ...

Number of integration points of face.

Number of face nodes.

Number of integration points.

Number of nodes.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines