#include <itkFEMElement2DC0QuadraticTriangularStress.h>
Inheritance diagram for itk::fem::Element2DC0QuadraticTriangularStress:


This element is combined from Element2DC0LinearTriangular and Element2DStress.
Definition at line 36 of file itkFEMElement2DC0QuadraticTriangularStress.h.
Public Types | |
| enum | { DefaultIntegrationOrder = 2 } |
| enum | { InvalidDegreeOfFreedomID = 0xffffffff } |
| enum | { gaussMaxOrder = 10 } |
| typedef FEMPArray< Element > | ArrayType |
| typedef Self | Baseclass |
| typedef const Self * | ConstPointer |
| typedef Superclass::DegreeOfFreedomIDType | DegreeOfFreedomIDType |
| typedef Superclass::Float | Float |
| typedef Superclass::LoadPointer | LoadPointer |
| typedef Superclass::LoadType | LoadType |
| typedef Superclass::MatrixType | MatrixType |
| typedef Superclass::Node | Node |
| typedef Superclass::NodeIDType | NodeIDType |
| typedef Self * | Pointer |
| typedef Element2DC0QuadraticTriangularStress | Self |
| typedef Element2DStress< Element2DC0QuadraticTriangular > | Superclass |
| typedef Superclass::VectorType | VectorType |
Public Member Functions | |
| virtual int | ClassID () const |
| virtual Baseclass::Pointer | Clone () const |
| Element2DC0QuadraticTriangularStress (NodeIDType n1_, NodeIDType n2_, NodeIDType n3_, NodeIDType n4_, NodeIDType n5_, NodeIDType n6_, Material::ConstPointer p_) | |
| Element2DC0QuadraticTriangularStress () | |
| Element2DStress () | |
| ElementStd () | |
| *Convenient way to access IDs of degrees of freedom *that are stored in node objects **param local_dof Local number of degree of freedom within an element *DegreeOfFreedomIDType | GetDegreeOfFreedom (unsigned int local_dof) const |
| virtual Float | GetElementDeformationEnergy (MatrixType &LocalSolution) const |
| virtual VectorType | GetGlobalFromLocalCoordinates (const VectorType &pt) const |
| virtual void | GetIntegrationPointAndWeight (unsigned int i, VectorType &pt, Float &w, unsigned int order) const |
| virtual void | GetLandmarkContributionMatrix (float eta, MatrixType &Le) const |
| virtual void | GetLoadVector (LoadPointer l, VectorType &Fe) const =0 |
| *Easy and consistent access to LoadElement and LoadElement::Pointer type *This is a pointer to FEMLightObject to avoid cyclic references between *LoadElement and Element classes *As a consequence whenever you need to use a pointer to LoadElement class within the element s declaration or definition ALWAYS use this typedef *instead *When calling the | GetLoadVector (...) function from outside |
| virtual bool | GetLocalFromGlobalCoordinates (const VectorType &, VectorType &) const |
| void | GetMassMatrix (MatrixType &Me) const |
| virtual Material::ConstPointer | GetMaterial (void) const |
| virtual void | GetMaterialMatrix (MatrixType &D) const |
| virtual NodeIDType | GetNode (unsigned int n) const |
| virtual const VectorType & | GetNodeCoordinates (unsigned int n) const |
| virtual unsigned int | GetNumberOfDegreesOfFreedom (void) const |
| virtual unsigned int | GetNumberOfDegreesOfFreedomPerNode (void) const |
| virtual unsigned int | GetNumberOfIntegrationPoints (unsigned int order) const |
| virtual unsigned int | GetNumberOfNodes (void) const |
| virtual unsigned int | GetNumberOfSpatialDimensions () const |
| virtual void | GetStiffnessMatrix (MatrixType &Ke) const |
| virtual void | GetStrainDisplacementMatrix (MatrixType &B, const MatrixType &shapeDgl) const |
| 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 |
| HANDLE_ELEMENT_LOADS () | |
| 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 | Read (std::istream &, void *info) |
| virtual void | SetMaterial (Material::ConstPointer mat_) |
| virtual void | SetNode (unsigned int n, NodeIDType node) |
| virtual void | ShapeFunctionDerivatives (const VectorType &pt, MatrixType &shapeD) const |
| virtual void | ShapeFunctionGlobalDerivatives (const VectorType &pt, MatrixType &shapeDgl, const MatrixType *pJ=0, const MatrixType *pshapeD=0) const |
| virtual VectorType | ShapeFunctions (const VectorType &pt) const |
| *Easy and consistent access to LoadElement and LoadElement::Pointer type *This is a pointer to FEMLightObject to avoid cyclic references between *LoadElement and Element classes *As a consequence whenever you need to use a pointer to LoadElement class within the element s declaration or definition ALWAYS use this typedef *instead *When calling the you should *ALWAYS first convert the argument to Element::LoadPointer See *code of function | Solver::AssembleF (...) for more info.*/typedef FEMLightObject LoadType |
| virtual void | Write (std::ostream &f) const |
Static Public Member Functions | |
| static FEMLightObject::Pointer | CreateFromStream (std::istream &f, void *info) |
| static Self::Pointer | New () |
| static void | SkipWhiteSpace (std::istream &f) |
Public Attributes | |
| int | GN |
| *Pointer to material properties of the element *MaterialLinearElasticity::ConstPointer | m_mat |
Static Public Attributes | |
| static const int | CLID |
| static const Float | gaussPoint [gaussMaxOrder+1][gaussMaxOrder] |
| static const Float | gaussWeight [gaussMaxOrder+1][gaussMaxOrder] |
| static const std::string | whitespaces |
Protected Attributes | |
| NodeIDType | m_node [NumberOfNodes] |
|
|
Array class that holds special pointers to the Element objects Definition at line 90 of file itkFEMElementBase.h. |
|
|
Store the base class typedef for easy access from derived classes. FEM_CLASS macro also expects this for the FEMOF... Definition at line 67 of file itkFEMLightObject.h. |
|
|
Const pointer or SmartPointer to an object. Reimplemented from itk::fem::Element2DStress< Element2DC0QuadraticTriangular >. Definition at line 38 of file itkFEMElement2DC0QuadraticTriangularStress.h. |
|
|
Reimplemented from itk::fem::Element. Definition at line 70 of file itkFEMElementStd.h. |
|
|
Reimplemented from itk::fem::ElementStd< 6, 2 >. Definition at line 51 of file itkFEMElement2DStress.h. |
|
|
Reimplemented from itk::fem::Element. Definition at line 68 of file itkFEMElementStd.h. |
|
|
Definition at line 67 of file itkFEMElementStd.h. |
|
|
Reimplemented from itk::fem::ElementStd< 6, 2 >. Definition at line 52 of file itkFEMElement2DStress.h. |
|
|
Definition at line 71 of file itkFEMElementStd.h. |
|
|
Reimplemented from itk::fem::Element. Definition at line 69 of file itkFEMElementStd.h. |
|
|
Pointer or SmartPointer to an object. Reimplemented from itk::fem::Element2DStress< Element2DC0QuadraticTriangular >. Definition at line 38 of file itkFEMElement2DC0QuadraticTriangularStress.h. |
|
|
Standard Self typedef. Reimplemented from itk::fem::Element2DStress< Element2DC0QuadraticTriangular >. Definition at line 38 of file itkFEMElement2DC0QuadraticTriangularStress.h. |
|
|
Standard Superclass typedef. Reimplemented from itk::fem::Element2DStress< Element2DC0QuadraticTriangular >. Definition at line 38 of file itkFEMElement2DC0QuadraticTriangularStress.h. |
|
|
Reimplemented from itk::fem::ElementStd< 6, 2 >. Definition at line 53 of file itkFEMElement2DStress.h. |
|
|
Definition at line 46 of file itkFEMElement2DC0QuadraticTriangular.h. |
|
|
Constant that represents an invalid DegreeOfFreedomID object. If a degree of freedom is assigned this value, this means that that no specific value was (yet) assigned to this DOF. Definition at line 127 of file itkFEMElementBase.h. |
|
|
Maximum supported order of 1D Gauss-Legendre integration. Integration points are defined for orders from 1 to gaussMaxOrder. Number of integration points is equal to the order of integration rule.
Definition at line 481 of file itkFEMElementBase.h. |
|
|
Default constructor only clears the internal storage |
|
||||||||||||||||||||||||||||||||
|
Construct an element by specifying pointers to 3 points and a material. |
|
|
Virtual function to access the class ID Implements itk::fem::FEMLightObject. Definition at line 38 of file itkFEMElement2DC0QuadraticTriangularStress.h. |
|
|
Create a new object from the existing one Implements itk::fem::FEMLightObject. |
|
||||||||||||
|
Read object of any derived type from stream. This static function creates an object of a class, which is derived from FEMLightObject. The class of object is first determined from the stream, then the object of that class is constructed using the FEMObjectFactory. Finally the data for this object is read from the stream, by calling the Read() member function. |
|
|
Default constructor only clears the internal storage |
|
|
Default constructor just clears the ivars |
|
|
Definition at line 394 of file itkFEMElementBase.h. References itk::fem::Element::GetNode(), itk::fem::Element::GetNumberOfDegreesOfFreedom(), itk::fem::Element::InvalidDegreeOfFreedomID, and itk::fem::this. |
|
|
Compute the physical energy, U, of the deformation (e.g. stress / strain ). T U = u Ke u The matrix LocalSolution contains the solution to use in the energy computation. Usually, this is the solution at the nodes. |
|
|
Transforms the given local element coordinates into global.
|
|
||||||||||||||||||||
|
Computes the vector representing the i-th integration point in local element coordinates for a Gauss-Legendre numerical integration over the element domain. It also computes the weight at this integration point. Optionally you can also specify the order of integration. If order is not specified, it defaults to 0, which means that the derived element should use the optimal integration order specific for that element.
Implements itk::fem::Element. |
|
||||||||||||
|
Compute and return landmark contribution to element stiffness matrix (Le) in global coordinate system. b T int (1/eta)^2 N(x) N(x) dx a where (eta ) is the landmark weight. Implementation is similar to GetMassMatrix. |
|
||||||||||||
|
Compute and return the element load vector for a given external load. The class of load object determines the type of load acting on the elemnent. Basically this is the contribution of this element on the right side of the master matrix equation, due to the specified load. Returned vector includes only nodal forces that correspond to the given Load object. Visitor design pattern is used in the loads implementation. This function only selects and calls the proper function based on the given class of load object. The code that performs the actual conversion to the corresponding nodal loads is defined elswhere.
|
|
|
|
|
||||||||||||
|
Transforms the given global element coordinates into local. Returns false if the point is outside.
Implements itk::fem::Element. Definition at line 64 of file itkFEMElement2DC0QuadraticTriangular.h. |
|
|
Compute the mass matrix specific for 2D stress problems. Reimplemented from itk::fem::Element. |
|
|
Reimplemented from itk::fem::Element. Definition at line 108 of file itkFEMElement2DStress.h. |
|
|
Compute the D matrix. Implements itk::fem::Element. |
|
|
Implements itk::fem::Element. Definition at line 101 of file itkFEMElementStd.h. |
|
|
Implements itk::fem::Element. Definition at line 116 of file itkFEMElementStd.h. |
|
|
Return the total number of degrees of freedom defined in a derived element class. By default this is equal to number of points in a cell multiplied by number of degrees of freedom at each point. Definition at line 658 of file itkFEMElementBase.h. References itk::fem::Element::GetNumberOfDegreesOfFreedomPerNode(), and itk::fem::Element::GetNumberOfNodes(). Referenced by itk::fem::Element::GetDegreeOfFreedom(). |
|
|
2D stress elements have 2 DOFs per node. Implements itk::fem::Element. Definition at line 97 of file itkFEMElement2DStress.h. |
|
|
Returns total number of integration points, for given order of Gauss-Legendre numerical integration rule.
Implements itk::fem::Element. |
|
|
Implements itk::fem::Element. Definition at line 98 of file itkFEMElementStd.h. |
|
|
Implements itk::fem::Element. Definition at line 121 of file itkFEMElementStd.h. |
|
|
Compute and return element stiffnes matrix (Ke) in global coordinate system. The base class provides a general implementation which only computes b T int B(x) D B(x) dx a using the Gaussian numeric integration method. The function calls GetIntegrationPointAndWeight() / GetNumberOfIntegrationPoints() to obtain the integration points. It also calls the GetStrainDisplacementMatrix() and GetMaterialMatrix() member functions.
Reimplemented in itk::fem::Element2DC1Beam, and itk::fem::Element1DStress< Element2DC0LinearLine >. |
|
||||||||||||
|
Compute the B matrix. Implements itk::fem::Element. |
|
||||||||||||||||
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
||||||||||||||||
|
Return interpolated value of all unknown functions at given local point.
|
|
||||||||||||||||||||
|
Return interpolated value of f-th unknown function at given local point.
|
|
||||||||||||||||
|
Compute the Jacobian matrix of the transformation from local to global coordinates at a given local point. A column in this matrix corresponds to a global coordinate, while a row corresponds to different local coordinates. E.g. element at row 2, col 3 contains derivative of the third global coordinate with respect to local coordinate number 2. In order to compute the Jacobian, we normally need the shape function derivatives. If they are known, you should pass a pointer to an object of MatrixType that contains the shape function derivatives. If they are not known, pass null pointer and they will be computed automatically.
Reimplemented in itk::fem::Element2DC0LinearLine. |
|
||||||||||||
|
Compute the determinant of the Jacobian matrix at a given point with respect to the local coordinate system.
Reimplemented from itk::fem::Element. |
|
||||||||||||||||
|
Compute the inverse of the Jacobian matrix at a given point with respect to the local coordinate system.
Reimplemented from itk::fem::Element. |
|
|
Object creation in an itk compatible way Definition at line 38 of file itkFEMElement2DC0QuadraticTriangularStress.h. |
|
||||||||||||
|
Read data for this class from input stream Reimplemented from itk::fem::ElementStd< 6, 2 >. |
|
|
Reimplemented from itk::fem::Element. Definition at line 109 of file itkFEMElement2DStress.h. |
|
||||||||||||
|
Implements itk::fem::Element. Definition at line 110 of file itkFEMElementStd.h. |
|
||||||||||||
|
Compute the matrix of values of the shape functions derivatives with respect to local coordinates of this element at a given point. A column in this matrix corresponds to a specific shape function, while a row corresponds to different local coordinates. E.g. element at row 2, col 3 contains derivative of shape function number 3 with respect to local coordinate number 2.
Implements itk::fem::Element. |
|
||||||||||||||||||||
|
Compute matrix of shape function derivatives with respect to global coordinates. A column in this matrix corresponds to a specific shape function, while a row corresponds to different global coordinates.
|
|
|
Returns a vector containing the values of all shape functions that define the geometry of a finite element at a given local point within an element.
Implements itk::fem::Element. |
|
|
Helper function that skips all the whitespace and comments in an input stream. |
|
|
|
|
|
Write this class to output stream Reimplemented from itk::fem::ElementStd< 6, 2 >. |
|
|
Class ID for FEM object factory Definition at line 38 of file itkFEMElement2DC0QuadraticTriangularStress.h. |
|
|
Points for 1D Gauss-Legendre integration from -1 to 1. First index is order of integration, second index is the number of integration point. Example: gaussPoint[4][2] returns third point of the 4th order integration rule. Subarray gaussPoint[0][...] does not provide useful information. It is there only to keep order index correct.
Definition at line 494 of file itkFEMElementBase.h. |
|
|
Weights for Gauss-Legendre integration.
Definition at line 501 of file itkFEMElementBase.h. |
|
|
Global number of an object (ID of an object) In general the ID's are required to be unique only within a specific type of derived classes (Elements, Nodes, ...) If the GN is not required, it can be ignored. (normally you need the GN when writing or reading objects to/from stream. Definition at line 168 of file itkFEMLightObject.h. Referenced by itk::fem::FEMLightObject::FEMLightObject(). |
|
|
Definition at line 107 of file itkFEMElement2DStress.h. |
|
|
Array of pointers to point objects that define the element Definition at line 152 of file itkFEMElementStd.h. |
|
|
Const string of all whitespace characters. This string is used by SkipWhiteSpace function. Definition at line 138 of file itkFEMLightObject.h. |
1.4.2 written by Dimitri van Heesch,
© 1997-2000