Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts
Classes | Typedefs | Functions

itk::fem Namespace Reference

Contains finite element modeling (FEM) classes and support routines. More...

Classes

class  Element
 Abstract base element class. More...
class  Element1DStress
 Class that is used to define linear elasticity problem in 1D space. More...
class  Element2DC0LinearLine
 2-noded, linear, C0 continuous line element in 2D space. More...
class  Element2DC0LinearLineStress
 2-noded finite element class in 2D space for linear elasticity problem. More...
class  Element2DC0LinearQuadrilateral
 4-noded, linear, C0 continuous finite element in 2D space. More...
class  Element2DC0LinearQuadrilateralMembrane
 4-noded finite element class in 2D space for linear elasticity problem More...
class  Element2DC0LinearQuadrilateralStrain
 4-noded finite element class in 2D space for linear elasticity problem More...
class  Element2DC0LinearQuadrilateralStress
 4-noded finite element class in 2D space for linear elasticity problem More...
class  Element2DC0LinearTriangular
 3-noded, linear, C0 continuous finite element in 2D space. More...
class  Element2DC0LinearTriangularMembrane
 3-noded finite element class in 2D space for linear elasticity problem. More...
class  Element2DC0LinearTriangularStrain
 3-noded finite element class in 2D space for linear elasticity problem. More...
class  Element2DC0LinearTriangularStress
 3-noded finite element class in 2D space for linear elasticity problem. More...
class  Element2DC0QuadraticTriangular
 3-noded, quadratic, C0 continuous finite element in 2D space. More...
class  Element2DC0QuadraticTriangularStrain
 3-noded finite element class in 2D space for linear elasticity problem. More...
class  Element2DC0QuadraticTriangularStress
 3-noded finite element class in 2D space for linear elasticity problem. More...
class  Element2DC1Beam
 1D Beam (spring that also bends) finite element in 2D space. More...
class  Element2DMembrane
 Class that is used to define a membrane energy problem in 2D space. More...
class  Element2DStrain
 Class that is used to define linear elasticity problem in 2D space. More...
class  Element2DStress
 Class that is used to define linear elasticity problem in 2D space. More...
class  Element3DC0LinearHexahedron
 8-noded, linear, C0 continuous finite element in 3D space. More...
class  Element3DC0LinearHexahedronMembrane
 8-noded finite element class in 3D space for linear elasticity problem More...
class  Element3DC0LinearHexahedronStrain
 8-noded finite element class in 3D space for linear elasticity problem More...
class  Element3DC0LinearTetrahedron
 4-noded, linear, C0 continuous finite element in 3D space. More...
class  Element3DC0LinearTetrahedronMembrane
 4-noded finite element class in 3D space for linear elasticity problem More...
class  Element3DC0LinearTetrahedronStrain
 4-noded finite element class in 3D space for linear elasticity problem More...
class  Element3DMembrane
 Class that is used to define a membrane energy problem in 3D space. More...
class  Element3DStrain
 Class that is used to define linear elasticity problem in 3D space. More...
class  ElementStd
 Implements standard node management in the element classes. More...
class  FEMException
 Base class for all exception's that can occur within FEM classes. More...
class  FEMExceptionIO
 Base class for all IO exception's that can occur within FEM classe. More...
class  FEMExceptionItpackSolver
 handles errors that occur in itpack solving routines More...
class  FEMExceptionItpackSparseMatrixSbagn
 handles errors that occur when unfinalizing the matrix More...
class  FEMExceptionItpackSparseMatrixSbsij
 handles errors that occur when building the matrix More...
class  FEMExceptionLinearSystem
class  FEMExceptionLinearSystemBounds
class  FEMExceptionObjectNotFound
 Object not found exception. More...
class  FEMExceptionSolution
 Base class for all exceptions that can occur when solving FEM problem. More...
class  FEMExceptionWrongClass
 Bad object exception. More...
class  FEMInitialization
 FEM Library initialization and housekeeping. More...
class  FEMLightObject
 Base class for all classes that define the FEM system. More...
class  FEMObjectFactory
 Create objects of derived classes by specifying a class ID. More...
class  FEMP
 Pointer used to store polymorphic elements in STL arrays. More...
class  FEMPArray
 Array for FEMP objects. More...
class  FEMRegistrationFilter
 FEM Image registration filter. The image registration problem is modeled here with the finite element method. Image registration is, in general, an ill-posed problem. Thus, we use an optimization scheme where the optimization criterion is given by a regularized variational energy. The variational energy arises from modeling the image as a physical body on which external forces act. The body is allowed to deform so as to minimize the applied force. The resistance of the physical body to deformation, determined by the physics associated with the body, serves to regularize the solution. The forces applied to the body are, generally, highly non-linear and so the body is allowed to deform slowly and incrementally. The direction it deforms follows the gradient of the potential energy (the force) we define. The potential energies we may choose from are given by the itk image-to-image metrics. The choices and the associated direction of descent are : Mean Squares (minimize), Normalized Cross-Correlation (maximize) Mutual Information (maximize). Note that we have to set the direction (SetDescentDirection) when we choose a metric. The forces driving the problem may also be given by user-supplied landmarks. The corners of the image, in this example, are always pinned. This example is designed for 2D or 3D images. A rectilinear mesh is generated automatically given the correct element type (Quadrilateral or Hexahedral). Our specific Solver for this example uses trapezoidal time stepping. This is a method for solving a second-order PDE in time. The solution is penalized by the zeroth (mass matrix) and first derivatives (stiffness matrix) of the shape functions. There is an option to perform a line search on the energy after each iteration. Optimal parameter settings require experimentation. The following approach tends to work well : Choose the relative size of density to elasticity (e.g. Rho / E ~= 1.) such that the image deforms locally and slowly. This also affects the stability of the solution. Choose the time step to control the size of the deformation at each step. Choose enough iterations to allow the solution to converge (this may be automated). More...
class  FiniteDifferenceFunctionLoad
 General image pair load that uses the itkFiniteDifferenceFunctions. More...
class  GaussIntegrate
 Use the Gauss-Legendre formula to perform integration. More...
class  ImageMetricLoad
 General image pair load that uses the itkImageToImageMetrics. More...
class  ImageMetricLoadImplementation
class  INITClass
 Class that is used in FEM_CLASS_INIT macro. More...
class  ItpackSparseMatrix
 a compressed row sparse matrix representation that makes use of itpack to dynamically assemble the matrix More...
class  LinearSystemWrapper
 Defines all functions required by Solver class to allocate, assemble and solve a linear system of equation. More...
class  LinearSystemWrapperDenseVNL
 LinearSystemWrapper class that uses VNL numeric library functions to define a sparse linear system of equations. More...
class  LinearSystemWrapperItpack
 LinearSystemWrapper class that uses Itpack numeric library functions to define and solve a sparse linear system of equations. More...
class  LinearSystemWrapperVNL
 LinearSystemWrapper class that uses VNL numeric library functions to define a sparse linear system of equations. More...
class  Load
 General abstract load base class. More...
class  LoadBC
 Generic essential (Dirichlet) boundary conditions. More...
class  LoadBCMFC
 Generic linear multi freedom displacement constraint in global coordinate system. More...
class  LoadEdge
 A generic load that can be applied to an edge of the element. More...
class  LoadElement
 Virtual element load base class. More...
class  LoadGrav
 Abstract gravity load class. More...
class  LoadGravConst
 Constant gravity load class. More...
class  LoadImplementationGenericBodyLoad
 Class that holds a templated generic body load implementation. More...
class  LoadImplementationGenericLandmarkLoad
 Class that holds a templated generic landmark load implementation. More...
class  LoadImplementationTest
 Example implementation of templated LoadTest class. More...
class  LoadLandmark
 This load is derived from the motion of a specific landmark. More...
class  LoadNode
 This load is applied on a specific point within the system. More...
class  LoadPoint
 This load is applied on a point in an element. More...
class  LoadTest
 Example to show how to define templated load classes. More...
class  Material
 Base class for storing all the implicit material and other properties required to fully define the element class. More...
class  MaterialLinearElasticity
 Linear elasticity material class. More...
class  ReadInfoType
 Helper class for storing additional information that is required when reading FEM objects from stream. More...
class  Solution
 Provides functions to access the values of the solution vector. More...
class  Solver
 Main FEM solver. More...
class  SolverCrankNicolson
 FEM Solver for time dependent problems; uses Crank-Nicolson implicit discretization scheme. More...
class  SolverHyperbolic
 Solver class suitable for hyperbolic problems. More...
class  VisitorDispatcher
 This class provides the functionality needed to apply the correct visitor function to object of some class. The specific visitor function is choosen, based on a given pointer to some object. More...
class  VisitorDispatcherTemplateHelper

Typedefs

typedef FEMObjectFactory
< FEMLightObject
FEMOF
typedef Element::Node Node

typedef void(* c_void_cast )()

Functions

void Generate2DRectilinearMesh (itk::fem::Element::ConstPointer e0, Solver &S, vnl_vector< double > &orig, vnl_vector< double > &size, vnl_vector< double > &Nel)
void Generate3DRectilinearMesh (itk::fem::Element::ConstPointer e0, Solver &S, vnl_vector< double > &orig, vnl_vector< double > &size, vnl_vector< double > &Nel)
static INITClass Initializer_ElementNode (Element::Node::CLID())



typedef void(* LoadImplementationFunctionPointer )(ConstPointer, Element::LoadPointer, Element::VectorType &)
virtual void GetLoadVector (Element::LoadPointer l, Element::VectorType &Fe) const

Detailed Description

Contains finite element modeling (FEM) classes and support routines.


Typedef Documentation

typedef void(* itk::fem::c_void_cast)()

Definition at line 215 of file itkFEMObjectFactory.h.

Short alias for FEMObjectFactory<FEMLightObject>

Definition at line 173 of file itkFEMLightObject.h.

Pointer type that specifies functions that can handle loads on this element

Definition at line 70 of file itkFEMElementBase.h.

Definition at line 685 of file itkFEMElementBase.h.


Function Documentation

void itk::fem::Generate2DRectilinearMesh ( itk::fem::Element::ConstPointer  e0,
Solver &  S,
vnl_vector< double > &  orig,
vnl_vector< double > &  size,
vnl_vector< double > &  Nel 
)

Use this function to generate 2D meshes in Solver.

Generate2DRectilinearMesh This function uses the generic quadrilateral elements to build meshes that can be used with specific elements for solving membrane or linear elasticity problems.

See other functions if you need to constuct the mesh from other types of elements.

Note:
All elements will be created by copying the existing element which is passed to the function. Only number and node pointers will be changed in copied element. Make sure that this element has material class and any other properties defined before generating a mesh.
See also:
Generate3DRectilinearMesh Generate a rectangular mesh of quadrilateral elements
void itk::fem::Generate3DRectilinearMesh ( itk::fem::Element::ConstPointer  e0,
Solver &  S,
vnl_vector< double > &  orig,
vnl_vector< double > &  size,
vnl_vector< double > &  Nel 
)

Use this function to generate 3D meshes in Solver.

Generate3DRectilinearMesh Generate a rectangular mesh of hexahedron elements.

See also:
Generate2DRectilinearMesh
virtual void itk::fem::GetLoadVector ( Element::LoadPointer  l,
Element::VectorType &  Fe 
) const [virtual]

Pointer type that specifies functions that can handle loads on this element

Definition at line 71 of file itkFEMElementBase.h.

References itk::fem::VisitorDispatcher< TVisitedClass, TVisitorBase, TVisitFunctionPointerType >::Visit().

static INITClass itk::fem::Initializer_ElementNode ( Element::Node::  CLID()  )  [static]

Generated at Tue Jul 13 2010 03:29:17 for ITK by doxygen 1.7.1 written by Dimitri van Heesch, © 1997-2000