Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::fem::Element2DC1Beam Class Reference

1D Beam (spring that also bends) finite element in 2D space. More...

#include <itkFEMElement2DC1Beam.h>

Inheritance diagram for itk::fem::Element2DC1Beam:

Inheritance graph
[legend]
Collaboration diagram for itk::fem::Element2DC1Beam:

Collaboration graph
[legend]
List of all members.

[NOHEADER]

virtual Material::ConstPointer GetMaterial (void) const
virtual void SetMaterial (Material::ConstPointer mat_)
MaterialLinearElasticity::ConstPointer m_mat

Public Types

typedef Element2DC1Beam Self
typedef TemplatedParentClass Superclass
typedef SelfPointer
typedef const SelfConstPointer
enum  { DefaultIntegrationOrder = 1 }

Public Member Functions

virtual Baseclass::Pointer Clone () const
virtual int ClassID () const
 Element2DC1Beam ()
 Element2DC1Beam (Node::ConstPointer n1_, Node::ConstPointer n2_, Material::ConstPointer mat_)
void Read (std::istream &, void *info)
void Write (std::ostream &f) const
virtual void GetStiffnessMatrix (MatrixType &Ke) const
virtual void GetMassMatrix (MatrixType &Me) const
 HANDLE_ELEMENT_LOADS ()
virtual void GetStrainDisplacementMatrix (MatrixType &, const MatrixType &) const
virtual void GetMaterialMatrix (MatrixType &) const
virtual void GetIntegrationPointAndWeight (unsigned int i, VectorType &pt, Float &w, unsigned int order=0) const
virtual unsigned int GetNumberOfIntegrationPoints (unsigned int order) const
virtual VectorType ShapeFunctions (const VectorType &pt) const
virtual void ShapeFunctionDerivatives (const VectorType &pt, MatrixType &shapeD) const
virtual bool GetLocalFromGlobalCoordinates (const VectorType &, VectorType &) const
virtual Float JacobianDeterminant (const VectorType &pt, const MatrixType *pJ) const
virtual unsigned int GetNumberOfDegreesOfFreedomPerNode (void) const

Static Public Member Functions

Self::Pointer New ()

Static Public Attributes

const int CLID

Detailed Description

1D Beam (spring that also bends) finite element in 2D space.

Definition at line 35 of file itkFEMElement2DC1Beam.h.


Member Typedef Documentation

typedef const Self* itk::fem::Element2DC1Beam::ConstPointer
 

Const pointer or SmartPointer to an object.

Reimplemented from itk::fem::ElementStd< 2, 2 >.

Definition at line 38 of file itkFEMElement2DC1Beam.h.

typedef Self* itk::fem::Element2DC1Beam::Pointer
 

Pointer or SmartPointer to an object.

Reimplemented from itk::fem::ElementStd< 2, 2 >.

Definition at line 38 of file itkFEMElement2DC1Beam.h.

typedef Element2DC1Beam itk::fem::Element2DC1Beam::Self
 

Standard Self typedef.

Reimplemented from itk::fem::ElementStd< 2, 2 >.

Definition at line 38 of file itkFEMElement2DC1Beam.h.

typedef TemplatedParentClass itk::fem::Element2DC1Beam::Superclass
 

Standard Superclass typedef.

Reimplemented from itk::fem::ElementStd< 2, 2 >.

Definition at line 38 of file itkFEMElement2DC1Beam.h.


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
DefaultIntegrationOrder 

Definition at line 85 of file itkFEMElement2DC1Beam.h.


Constructor & Destructor Documentation

itk::fem::Element2DC1Beam::Element2DC1Beam  ) 
 

Default constructor only clears the internal storage

itk::fem::Element2DC1Beam::Element2DC1Beam Node::ConstPointer  n1_,
Node::ConstPointer  n2_,
Material::ConstPointer  mat_
 

Construct an element by specifying two nodes and material


Member Function Documentation

virtual int itk::fem::Element2DC1Beam::ClassID  )  const [inline, virtual]
 

Virtual function to access the class ID

Implements itk::fem::FEMLightObject.

Definition at line 38 of file itkFEMElement2DC1Beam.h.

virtual Baseclass::Pointer itk::fem::Element2DC1Beam::Clone  )  const [virtual]
 

Create a new object from the existing one

Implements itk::fem::FEMLightObject.

virtual void itk::fem::Element2DC1Beam::GetIntegrationPointAndWeight unsigned int  i,
VectorType pt,
Float w,
unsigned int  order = 0
const [virtual]
 

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.

Note:
This function must be implemented in derived element classes, and is expected to provide valid integration points for up to gaussMaxOrder-th order of integration.
Parameters:
i Integration point number 0<=i<GetNumberOfIntegrationPoints()
pt Reference to object of class VectorType that will hold the integration point.
w Reference to Float variable that will hold the weight.
order Order of integration.
See also:
GetNumberOfIntegrationPoints()

Implements itk::fem::Element.

virtual bool itk::fem::Element2DC1Beam::GetLocalFromGlobalCoordinates const VectorType ,
VectorType
const [inline, virtual]
 

Transforms the given global element coordinates into local. Returns false if the point is outside.

Parameters:
globalPt Reference to vector containing a point in global (world) coordinates.
localPt Reference to the vector that will store the local coordinate.

Implements itk::fem::Element.

Definition at line 99 of file itkFEMElement2DC1Beam.h.

virtual void itk::fem::Element2DC1Beam::GetMassMatrix MatrixType Me  )  const [virtual]
 

Compute and return element mass matrix (Me) in global coordinate system.

b T int N(x) (rho c) N(x) dx a

where (rho c) is constant (element density), which is here assumed to be equal to one. If this is not the case, this function must be overriden in a derived class. Implementation is similar to GetStiffnessMatrix.

Reimplemented from itk::fem::Element.

virtual Material::ConstPointer itk::fem::Element2DC1Beam::GetMaterial void   )  const [inline, virtual]
 

Return the pointer to the Material object used by the element. All derived classes, which use objects of Material class should override this method to provide access to the material from the base class.

Note:
Derived Element classes don't have to use a material class, but since the majority of the final Element classes uses Material classes to specify phhysical constants that the element depends on, we provide this virtual function that enables easy access to this pointer from the base class. If the derived class does not override this function, the returned pointer is 0 by default, signaling that there is no Material object.
See also:
SetMaterial

Reimplemented from itk::fem::Element.

Definition at line 122 of file itkFEMElement2DC1Beam.h.

References itk::fem::Material::ConstPointer, and m_mat.

virtual void itk::fem::Element2DC1Beam::GetMaterialMatrix MatrixType  )  const [inline, virtual]
 

Compute the element material matrix.

Parameters:
D Reference to a matrix object

Implements itk::fem::Element.

Definition at line 77 of file itkFEMElement2DC1Beam.h.

virtual unsigned int itk::fem::Element2DC1Beam::GetNumberOfDegreesOfFreedomPerNode void   )  const [inline, virtual]
 

Return the number of degrees of freedom at each node. This is also equal to number of unknowns that we want to solve for at each point within an element.

Note:
This function must be overriden in all derived classes.

Implements itk::fem::Element.

Definition at line 105 of file itkFEMElement2DC1Beam.h.

virtual unsigned int itk::fem::Element2DC1Beam::GetNumberOfIntegrationPoints unsigned int  order  )  const [virtual]
 

Returns total number of integration points, for given order of Gauss-Legendre numerical integration rule.

Note:
This function must be implemented in derived element classes, and is expected to provide valid number of integration points for up to gaussMaxOrder-th order of integration.
See also:
GetIntegrationPointAndWeight()

Implements itk::fem::Element.

virtual void itk::fem::Element2DC1Beam::GetStiffnessMatrix MatrixType Ke  )  const [virtual]
 

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.

Parameters:
Ke Reference to the resulting stiffnes matrix.
Note:
This is a very generic implementation of the stiffness matrix that is suitable for any problem/element definition. A specifc element may override this implementation with its own simple one.

Reimplemented from itk::fem::Element.

virtual void itk::fem::Element2DC1Beam::GetStrainDisplacementMatrix MatrixType ,
const MatrixType
const [inline, virtual]
 

Compute the strain displacement matrix at local point.

Parameters:
B Reference to a matrix object that will contain the result
shapeDgl Matrix that contains derivatives of shape functions w.r.t. global coordinates.

Implements itk::fem::Element.

Definition at line 76 of file itkFEMElement2DC1Beam.h.

itk::fem::Element2DC1Beam::HANDLE_ELEMENT_LOADS  ) 
 

virtual Float itk::fem::Element2DC1Beam::JacobianDeterminant const VectorType pt,
const MatrixType pJ
const [virtual]
 

Compute the determinant of the Jacobian matrix at a given point with respect to the local coordinate system.

Parameters:
pt Point in local element coordinates.
pJ Optional pointer to Jacobian matrix computed at point pt. If this is set to 0, the Jacobian will be computed as necessary.

Reimplemented from itk::fem::Element.

Self::Pointer itk::fem::Element2DC1Beam::New void   )  [inline, static]
 

Object creation in an itk compatible way

Definition at line 38 of file itkFEMElement2DC1Beam.h.

void itk::fem::Element2DC1Beam::Read std::istream &  ,
void *  info
[virtual]
 

Read data of this class from input stream

Reimplemented from itk::fem::ElementStd< 2, 2 >.

virtual void itk::fem::Element2DC1Beam::SetMaterial Material::ConstPointer  mat_  )  [inline, virtual]
 

Set the pointer to the Material object used by the element. All derived classes, which use objects of Material class should override this method to provide access to the material from the base class.

See also:
GetMaterial

Reimplemented from itk::fem::Element.

Definition at line 123 of file itkFEMElement2DC1Beam.h.

References itk::fem::Material::ConstPointer, and m_mat.

virtual void itk::fem::Element2DC1Beam::ShapeFunctionDerivatives const VectorType pt,
MatrixType shapeD
const [virtual]
 

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.

Parameters:
pt Point in local element coordinates.
shapeD Reference to a matrix object, which will be filled with values of shape function derivatives.
See also:
ShapeFunctionGlobalDerivatives

Implements itk::fem::Element.

virtual VectorType itk::fem::Element2DC1Beam::ShapeFunctions const VectorType pt  )  const [virtual]
 

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.

Parameters:
pt Point in local element coordinates.

Implements itk::fem::Element.

void itk::fem::Element2DC1Beam::Write std::ostream &  f  )  const [virtual]
 

Write this class to output stream

Reimplemented from itk::fem::ElementStd< 2, 2 >.


Member Data Documentation

const int itk::fem::Element2DC1Beam::CLID [static]
 

Class ID for FEM object factory

Definition at line 38 of file itkFEMElement2DC1Beam.h.

MaterialLinearElasticity::ConstPointer itk::fem::Element2DC1Beam::m_mat
 

Pointer to geometric and material properties of the element

Definition at line 121 of file itkFEMElement2DC1Beam.h.

Referenced by GetMaterial(), and SetMaterial().


The documentation for this class was generated from the following file:
Generated at Thu May 25 02:52:09 2006 for ITK by doxygen 1.3.5 written by Dimitri van Heesch, © 1997-2000