ITK
4.3.0
Insight Segmentation and Registration Toolkit
|
#include <itkFEMElement3DC0LinearHexahedron.h>
8-noded, linear, C0 continuous finite element in 3D space.
The ordering of the nodes should be defined in the following order:
5 (0,1,1) 6 (1,1,1) *------------------------* /| /| / | / | / | / | / | / | / | (1,1,0) 7 / |
(0,1,0) 4*---------------------—* | | 1* -------------— | -—*2 (1,0,1) | / (0,0,1) | / | / | / | / | / | / | / |/ |/ *---------------------—* 0 3 (0,0,0) (1,0)
This is an abstract class. Specific concrete implemenations of this It must be combined with the physics component of the problem. This has already been done in the following classes:
Definition at line 63 of file itkFEMElement3DC0LinearHexahedron.h.
Public Member Functions | |
Float | Determinant3x3 (const VectorType &c1, const VectorType &c2, const VectorType &c3) const |
virtual void | GetIntegrationPointAndWeight (unsigned int i, VectorType &pt, Float &w, unsigned int order) const |
virtual bool | GetLocalFromGlobalCoordinates (const VectorType &globalPt, VectorType &localPt) const |
virtual const char * | GetNameOfClass () const |
virtual unsigned int | GetNumberOfIntegrationPoints (unsigned int order) const |
void | InterpolationDerivs (const VectorType &pcoords, VectorType &derivs) const |
void | InterpolationFunctions (const VectorType &pcoords, VectorType &sf) const |
virtual void | ShapeFunctionDerivatives (const VectorType &pt, MatrixType &shapeD) const |
virtual VectorType | ShapeFunctions (const VectorType &pt) const |
Public Member Functions inherited from itk::fem::ElementStd< 8, 3 > | |
ElementStd () | |
virtual NodeIDType | GetNode (unsigned int n) const |
virtual const VectorType & | GetNodeCoordinates (unsigned int n) const |
virtual unsigned int | GetNumberOfNodes (void) const |
virtual unsigned int | GetNumberOfSpatialDimensions () const |
virtual void | SetNode (unsigned int n, NodeIDType node) |
virtual void | SetNode (unsigned int n, typename Superclass::Node::Pointer node) |
Public Member Functions inherited from itk::fem::Element | |
virtual std::vector < std::vector< int > > | GetEdgeIds (void) const |
virtual Float | GetElementDeformationEnergy (MatrixType &LocalSolution) const |
virtual VectorType | GetGlobalFromLocalCoordinates (const VectorType &pt) const |
virtual void | GetLandmarkContributionMatrix (float eta, MatrixType &Le) const |
virtual void | GetMassMatrix (MatrixType &Me) const |
virtual Material::ConstPointer | GetMaterial (void) const |
virtual void | GetMaterialMatrix (MatrixType &D) const =0 |
virtual unsigned int | GetNumberOfDegreesOfFreedom (void) const |
virtual unsigned int | GetNumberOfDegreesOfFreedomPerNode (void) const =0 |
virtual void | GetStiffnessMatrix (MatrixType &Ke) const |
virtual void | GetStrainDisplacementMatrix (MatrixType &B, const MatrixType &shapeDgl) const =0 |
virtual VectorType | GetStrainsAtPoint (const VectorType &pt, const Solution &sol, unsigned int index) const |
virtual VectorType | GetStressesAtPoint (const VectorType &pt, const VectorType &e, const Solution &sol, unsigned int index) const |
virtual VectorType | InterpolateSolution (const VectorType &pt, const Solution &sol, unsigned int solutionIndex=0) const |
virtual Float | InterpolateSolutionN (const VectorType &pt, const Solution &sol, unsigned int f, unsigned int solutionIndex=0) const |
virtual void | Jacobian (const VectorType &pt, MatrixType &J, const MatrixType *pshapeD=0) const |
virtual Float | JacobianDeterminant (const VectorType &pt, const MatrixType *pJ=0) const |
virtual void | JacobianInverse (const VectorType &pt, MatrixType &invJ, const MatrixType *pJ=0) const |
virtual void | SetMaterial (Material::ConstPointer) |
virtual void | ShapeFunctionGlobalDerivatives (const VectorType &pt, MatrixType &shapeDgl, const MatrixType *pJ=0, const MatrixType *pshapeD=0) const |
DegreeOfFreedomIDType | GetDegreeOfFreedom (unsigned int local_dof) const |
Public Member Functions inherited from itk::fem::FEMLightObject | |
int | GetGlobalNumber () const |
void | SetGlobalNumber (int) |
Public Member Functions inherited from itk::LightObject | |
virtual Pointer | CreateAnother () const |
virtual void | Delete () |
virtual int | GetReferenceCount () const |
itkCloneMacro (Self) | |
void | Print (std::ostream &os, Indent indent=0) const |
virtual void | Register () const |
virtual void | SetReferenceCount (int) |
virtual void | UnRegister () const |
Protected Member Functions | |
virtual void | PopulateEdgeIds (void) |
virtual void | PrintSelf (std::ostream &os, Indent indent) const |
Protected Member Functions inherited from itk::fem::ElementStd< 8, 3 > | |
virtual void | SetNodeInternal (unsigned int n, const Node *node) |
Additional Inherited Members | |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes inherited from itk::fem::Element | |
static const Float | gaussPoint [gaussMaxOrder+1][gaussMaxOrder] |
static const Float | gaussWeight [gaussMaxOrder+1][gaussMaxOrder] |
Protected Types inherited from itk::LightObject | |
typedef int | InternalReferenceCountType |
Protected Attributes inherited from itk::fem::ElementStd< 8, 3 > | |
const Node * | m_node [NumberOfNodes] |
typedef SmartPointer<const Self> itk::fem::Element3DC0LinearHexahedron::ConstPointer |
Definition at line 72 of file itkFEMElement3DC0LinearHexahedron.h.
Definition at line 71 of file itkFEMElement3DC0LinearHexahedron.h.
Standard class typedefs.
Definition at line 68 of file itkFEMElement3DC0LinearHexahedron.h.
Definition at line 70 of file itkFEMElement3DC0LinearHexahedron.h.
Definition at line 69 of file itkFEMElement3DC0LinearHexahedron.h.
Float itk::fem::Element3DC0LinearHexahedron::Determinant3x3 | ( | const VectorType & | c1, |
const VectorType & | c2, | ||
const VectorType & | c3 | ||
) | const |
|
virtual |
Methods related to numeric integration
Implements itk::fem::Element.
|
virtual |
Convert from global to local coordinates
Implements itk::fem::Element.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::fem::ElementStd< 8, 3 >.
Reimplemented in itk::fem::Element3DMembrane< Element3DC0LinearHexahedron >, itk::fem::Element3DC0LinearHexahedronMembrane, itk::fem::Element3DC0LinearHexahedronStrain, and itk::fem::Element3DStrain< Element3DC0LinearHexahedron >.
|
virtual |
Returns total number of integration points, for given order of Gauss-Legendre numerical integration rule.
Implements itk::fem::Element.
void itk::fem::Element3DC0LinearHexahedron::InterpolationDerivs | ( | const VectorType & | pcoords, |
VectorType & | derivs | ||
) | const |
void itk::fem::Element3DC0LinearHexahedron::InterpolationFunctions | ( | const VectorType & | pcoords, |
VectorType & | sf | ||
) | const |
Methods used in computing parametric/local coordinates given global coordinates.
|
protectedvirtual |
Set the edge order and the points defining each edge
Implements itk::fem::Element.
|
protectedvirtual |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::fem::ElementStd< 8, 3 >.
Reimplemented in itk::fem::Element3DMembrane< Element3DC0LinearHexahedron >, itk::fem::Element3DStrain< Element3DC0LinearHexahedron >, itk::fem::Element3DC0LinearHexahedronMembrane, and itk::fem::Element3DC0LinearHexahedronStrain.
|
virtual |
Return the shape functions derivatives in the shapeD matrix
Implements itk::fem::Element.
|
virtual |
Methods related to the geometry of an elementReturn the shape functions used to interpolate across the element
Implements itk::fem::Element.