ITK
4.9.0
Insight Segmentation and Registration Toolkit
|
#include <itkFEMElement3DC0LinearTriangular.h>
3-noded, linear, C0 continuous finite element in 2D space.
The ordering of the nodes is counter clockwise. That is the nodes should be defined in the following order:
(0,1) 2
Definition at line 52 of file itkFEMElement3DC0LinearTriangular.h.
Public Member Functions | |
void | ComputeNormalDirection (const VectorType &v1, const VectorType &v2, const VectorType &v3, VectorType &n) const |
itk::fem::Element::Float | Determinant2x2 (const VectorType &c1, const VectorType &c2) const |
void | GeneralizedProjectPoint (const VectorType &x, const VectorType &origin, const VectorType &normal, VectorType &xproj) const |
virtual void | GetIntegrationPointAndWeight (unsigned int i, VectorType &pt, Float &w, unsigned int order) const override |
virtual bool | GetLocalFromGlobalCoordinates (const VectorType &globalPt, VectorType &localPt) const override |
virtual const char * | GetNameOfClass () const |
virtual unsigned int | GetNumberOfIntegrationPoints (unsigned int order) const override |
virtual Float | JacobianDeterminant (const VectorType &pt, const MatrixType *pJ=nullptr) const override |
virtual void | JacobianInverse (const VectorType &pt, MatrixType &invJ, const MatrixType *pJ=nullptr) const override |
virtual void | PopulateEdgeIds () override |
virtual void | ShapeFunctionDerivatives (const VectorType &pt, MatrixType &shapeD) const override |
virtual VectorType | ShapeFunctions (const VectorType &pt) const override |
Public Member Functions inherited from itk::fem::ElementStd< 3, 3 > | |
ElementStd () | |
virtual NodeIDType | GetNode (unsigned int n) const override |
virtual const VectorType & | GetNodeCoordinates (unsigned int n) const override |
virtual unsigned int | GetNumberOfNodes (void) const override |
virtual unsigned int | GetNumberOfSpatialDimensions () const override |
virtual void | SetNode (unsigned int n, NodeIDType node) override |
virtual void | SetNode (unsigned int n, typename Superclass::Node::Pointer node) override |
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=nullptr) const |
virtual void | SetMaterial (Material::ConstPointer) |
virtual void | ShapeFunctionGlobalDerivatives (const VectorType &pt, MatrixType &shapeDgl, const MatrixType *pJ=nullptr, const MatrixType *pshapeD=nullptr) 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 noexcept |
Static Public Attributes | |
static const unsigned int | Nip [6] |
static const Float | trigGaussRuleInfo [6][7][4] |
Static Public Attributes inherited from itk::fem::Element | |
static const unsigned int | gaussMaxOrder = 10 |
static const Float | gaussPoint [gaussMaxOrder+1][gaussMaxOrder] |
static const Float | gaussWeight [gaussMaxOrder+1][gaussMaxOrder] |
Protected Member Functions | |
virtual void | PrintSelf (std::ostream &os, Indent indent) const override |
Protected Member Functions inherited from itk::fem::ElementStd< 3, 3 > | |
virtual void | SetNodeInternal (unsigned int n, const Node *node) |
Protected Member Functions inherited from itk::fem::FEMLightObject | |
FEMLightObject () | |
FEMLightObject (const FEMLightObject &o) | |
virtual | ~FEMLightObject () |
Protected Member Functions inherited from itk::LightObject | |
virtual LightObject::Pointer | InternalClone () const |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Additional Inherited Members | |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Protected Attributes inherited from itk::fem::ElementStd< 3, 3 > | |
const Node * | m_node [NumberOfNodes] |
Protected Attributes inherited from itk::fem::Element | |
std::vector< std::vector< int > > | m_EdgeIds |
Protected Attributes inherited from itk::fem::FEMLightObject | |
int | m_GlobalNumber |
Protected Attributes inherited from itk::LightObject | |
AtomicInt< int > | m_ReferenceCount |
typedef SmartPointer<const Self> itk::fem::Element3DC0LinearTriangular::ConstPointer |
Definition at line 60 of file itkFEMElement3DC0LinearTriangular.h.
Definition at line 59 of file itkFEMElement3DC0LinearTriangular.h.
Standard class typedefs.
Definition at line 56 of file itkFEMElement3DC0LinearTriangular.h.
Definition at line 58 of file itkFEMElement3DC0LinearTriangular.h.
Definition at line 57 of file itkFEMElement3DC0LinearTriangular.h.
anonymous enum |
Enumerator | |
---|---|
DefaultIntegrationOrder |
Definition at line 70 of file itkFEMElement3DC0LinearTriangular.h.
void itk::fem::Element3DC0LinearTriangular::ComputeNormalDirection | ( | const VectorType & | v1, |
const VectorType & | v2, | ||
const VectorType & | v3, | ||
VectorType & | n | ||
) | const |
Normal of the triangle element
itk::fem::Element::Float itk::fem::Element3DC0LinearTriangular::Determinant2x2 | ( | const VectorType & | c1, |
const VectorType & | c2 | ||
) | const |
Return the determinate of a 2x2 matrix
void itk::fem::Element3DC0LinearTriangular::GeneralizedProjectPoint | ( | const VectorType & | x, |
const VectorType & | origin, | ||
const VectorType & | normal, | ||
VectorType & | xproj | ||
) | const |
Project the point x onto the plane containing the triangle element
|
overridevirtual |
Get the Integration point and weight
Implements itk::fem::Element.
|
overridevirtual |
Convert from global to local coordinates
Implements itk::fem::Element.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::fem::ElementStd< 3, 3 >.
Reimplemented in itk::fem::Element3DMembrane< Element3DC0LinearTriangular >, itk::fem::Element3DC0LinearTriangularLaplaceBeltrami, itk::fem::Element3DMembrane1DOF< Element3DC0LinearTriangular >, and itk::fem::Element3DC0LinearTriangularMembrane.
|
overridevirtual |
Get the number of integration points
Implements itk::fem::Element.
|
overridevirtual |
Compute the determinate of the Jacobian matrix
Reimplemented from itk::fem::Element.
|
overridevirtual |
Compute the inverse of the Jacobian matrix
Reimplemented from itk::fem::Element.
|
overridevirtual |
Define the edges and nodes that correspond to the edges
Implements itk::fem::Element.
|
overrideprotectedvirtual |
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< 3, 3 >.
Reimplemented in itk::fem::Element3DMembrane< Element3DC0LinearTriangular >, itk::fem::Element3DMembrane1DOF< Element3DC0LinearTriangular >, itk::fem::Element3DC0LinearTriangularLaplaceBeltrami, and itk::fem::Element3DC0LinearTriangularMembrane.
|
overridevirtual |
Return the shape functions derivatives in the shapeD matrix
Implements itk::fem::Element.
|
overridevirtual |
Return the shape functions used to interpolate across the element
Implements itk::fem::Element.
|
static |
Array that holds number of integration point for each order of numerical integration.
Definition at line 125 of file itkFEMElement3DC0LinearTriangular.h.
|
static |
Constants for integration rules.
Definition at line 119 of file itkFEMElement3DC0LinearTriangular.h.