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 |
| class | FEMExceptionItpackSolver |
| class | FEMExceptionItpackSparseMatrixSbagn |
| class | FEMExceptionItpackSparseMatrixSbsij |
| class | FEMExceptionLinearSystem |
| class | FEMExceptionLinearSystemBounds |
| class | FEMExceptionObjectNotFound |
| class | FEMExceptionSolution |
| class | FEMExceptionWrongClass |
| class | FEMInitialization |
| class | FEMLightObject |
| Base class for all classes that define the FEM system. More... | |
| class | FEMObjectFactory |
| 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. More... | |
| class | FiniteDifferenceFunctionLoad |
| General image pair load that uses the itkFiniteDifferenceFunctions. More... | |
| class | ImageMetricLoad |
| General image pair load that uses the itkImageToImageMetrics. More... | |
| class | ImageMetricLoadImplementation |
| 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 |
| 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 |
| class | LoadImplementationGenericBodyLoad |
| Class that holds a templated generic body load implementation. More... | |
| class | LoadImplementationGenericLandmarkLoad |
| class | LoadImplementationTest |
| 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 |
| 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 |
| class | SolverHyperbolic |
| Solver class suitable for hyperbolic problems. More... | |
| class | VisitorDispatcher |
| class | VisitorDispatcherTemplateHelper |
Typedefs | |
| typedef void(* | c_void_cast )() |
| typedef FEMObjectFactory< FEMLightObject > | FEMOF |
| typedef Element::Node | Node |
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) |
| virtual void | GetLoadVector (Element::LoadPointer l, Element::VectorType &Fe) const \ |
| static INITClass | Initializer_ElementNode (Element::Node::CLID()) |
| *class GaussIntegrate *brief Use the Gauss Legendre formula to perform integration **Numerical | integration (Gauss-Legendre formula).*Integrates function f(x) from x |
| *****Since this code is the same for all derived element you should *probably put it in the macro **Register each visitor class with the VisitorDispatcher class before it *is called This is done by calling the member function RegisterVisitor *of the VisitorDispatcher class and providing the pointer to the Visitor *function that performs the required task The visitor function must be *declared according to the VisitFunctionPointerType template parameter **ReturnType | MyVisitor_Function (...) |
| *class VisitorDispatcher *brief This class provides the functionality needed to apply the correct *visitor function to object of some class The specific visitor *function is based on a given pointer to some object **A visitor function is a that can perform various operations on *objects of various classes Usually we want this operation applied on *any of the polymorphic derived classes The specific operation is *defined in visitor functions **For is called the *visitor function A specific version of this function must be defined *for each on which you want the perform the | operation (Area(Circle *);*Area(Square *);...).**Now suppose that you want different operations performed on the shape *objects.Which operation will be performed is specified by the class of *the Visitor object.If the Visitor object is of class Area |
| *m lhs | push_back (LoadBCMFC::MFCTerm(elements.Find(5), 1, 2.1)) |
| *m lhs | push_back (LoadBCMFC::MFCTerm(elements.Find(1), 0, 0.5)) |
| it is good to set rho to something | small (for the itpack solver).*The advantage of choosing alpha=0.5 is that the solution is then stable for any *choice of time step |
Variables | |
| alpha = 1.0 | |
| *class FEMObjectFactory *brief Create objects of derived classes by specifying a class ID **ObjectFactory is used to create various objects of derived classes by *specifying an ID of a derived class Before the objects can be created by *object you should first call the Register method for each *NewDerivedClassName *** | BaseClass |
| *class VisitorDispatcher *brief This class provides the functionality needed to apply the correct *visitor function to object of some class The specific visitor *function is | choosen |
| *class FEMObjectFactory *brief Create objects of derived classes by specifying a class ID **ObjectFactory is used to create various objects of derived classes by *specifying an ID of a derived class Before the objects can be created by *object you should first call the Register method for each | class |
| *class VisitorDispatcher *brief This class provides the functionality needed to apply the correct *visitor function to object of some class The specific visitor *function is based on a given pointer to some object **A visitor function is a that can perform various operations on *objects of various classes Usually we want this operation applied on *any of the polymorphic derived classes The specific operation is *defined in visitor functions **For is called the *visitor function A specific version of this function must be defined *for each on which you want the perform the then the *area of objects will be calculated If the visitor is object of class Circumference then the circumference of the shapes will be calculated **In order to be able to do that and provide the framework to easily add *new Visitor as well as Visited | classes |
| *class VisitorDispatcher *brief This class provides the functionality needed to apply the correct *visitor function to object of some class The specific visitor *function is based on a given pointer to some object **A visitor function is a that can perform various operations on *objects of various classes Usually we want this operation applied on *any of the polymorphic derived classes The specific operation is *defined in visitor functions **For is called the *visitor function A specific version of this function must be defined *for each on which you want the perform the then the *area of objects will be calculated If the visitor is object of class Circumference then the circumference of the shapes will be calculated **In order to be able to do that and provide the framework to easily add *new Visitor as well as Visited we create the VisitorDispatcher *class It is implemented as a singelton It stores pointers to Visitor *functions together with the information about which Visitor function must *be called in order to perform an operation specified by Visitor class on *objects of Visited class **To make a specific base class and all its derived classes visitable you *must make the following changes to your | code |
| *class LoadImplementationTest *brief Example implementation of templated LoadTest class **This is an example of how to define the implementation of a templated *Load class Since the Load class is templated its implementation must *also be templated Due to limitations of MS | compiler |
| ***Once all this is | done |
| dt = 1.0 | |
| *class VisitorDispatcher *brief This class provides the functionality needed to apply the correct *visitor function to object of some class The specific visitor *function is based on a given pointer to some object **A visitor function is a that can perform various operations on *objects of various classes Usually we want this operation applied on *any of the polymorphic derived classes The specific operation is *defined in visitor functions **For | example |
| ***The Visitor class is templated over several classes that make its use *generic and simple **TVisitedClass Class of objects that will be visited **TVisitorBase Base class of Visitor objects Objects of class *TVisitedClass will be visited by object of any *registered class that is derived from TVisitorBase **TVisitFunctionPointerType Type of visit functions Visitor dispatcher *stores an array of pointers to these functions Default *function pointer type is provided **note Template parameter TVisitFunctionPointerType in general doesn t *have to be a pointer to function In | fact |
| *class FEMObjectFactory *brief Create objects of derived classes by specifying a class ID **ObjectFactory is used to create various objects of derived classes by *specifying an ID of a derived class Before the objects can be created by *object | factory |
| static FEMInitialization | FEMInitialization_var |
| it is good to set rho to something dt This class inherits and uses most of the Solver class *functionality One must call AssembleKandM instead of AssembleK and *AssembleFforTimeStep instead of AssembleF * | FIXMEs |
| *class VisitorDispatcher *brief This class provides the functionality needed to apply the correct *visitor function to object of some class The specific visitor *function is based on a given pointer to some object **A visitor function is a | function |
| Pointer type that specifies functions that can handle loads on this element *typedef void(* | LoadImplementationFunctionPointer )(ConstPointer, Element::LoadPointer, Element::VectorType &) |
| *template class | LoadImplementationTest< MyLoadTestClass > |
| ** | NewDerivedClassname |
| *const int | OF_Derived = FEMObjectFactory<BaseClass>::Register( NewDerivedClass, "NewDerivedObjectName" ) |
| * | Practically |
| uses Crank Nicolson implicit discretization scheme **This is the main class used for solving FEM time dependent problems *It solves the following | problem |
| *class SolverCrankNicolson *brief FEM Solver for time dependent | problems |
| ***The Visitor class is templated over several classes that make its use *generic and simple **TVisitedClass Class of objects that will be visited **TVisitorBase Base class of Visitor objects Objects of class *TVisitedClass will be visited by object of any *registered class that is derived from TVisitorBase **TVisitFunctionPointerType Type of visit functions Visitor dispatcher *stores an array of pointers to these functions Default *function pointer type is provided **note Template parameter TVisitFunctionPointerType in general doesn t *have to be a pointer to function In it can be any type *Object of this type will be | returned |
| *m | rhs = 10.0 |
| *class LoadImplementationTest *brief Example implementation of templated LoadTest class **This is an example of how to define the implementation of a templated *Load class Since the Load class is templated its implementation must *also be templated Due to limitations of MS we define this *implementation function as static a function inside a templated class **To make things easier to we template the class over the whole *templated load class and not only over the template parameters required *to define the templated Load class **You must manually instantiate this class to register the load *implementation function with the VisitorDispatcher The *instantiation is normally done like | this |
| *class LoadImplementationTest *brief Example implementation of templated LoadTest class **This is an example of how to define the implementation of a templated *Load class Since the Load class is templated its implementation must *also be templated Due to limitations of MS we define this *implementation function as static a function inside a templated class **To make things easier to | use |
| *class FEMInitialization *brief FEM Library initialization and housekeeping **Construction of FEMInitialization class is triggered whenever *FEM library is linked to a program Before the library can *be | used |
| ****Implement this function in ALL derived classes like | VisitorBase |
|
|
Definition at line 214 of file itkFEMObjectFactory.h. |
|
|
Short alias for FEMObjectFactory<FEMLightObject> Definition at line 176 of file itkFEMLightObject.h. |
|
|
Definition at line 696 of file itkFEMElementBase.h. |
|
||||||||||||||||||||||||
|
Use this function to generate 2D meshes in Solver. Generate a rectangular mesh of quadrilateral elements |
|
||||||||||||||||||||||||
|
Use this function to generate 3D meshes in Solver. Generate3DRectilinearMesh Generate a rectangular mesh of hexahedron elements.
|
|
||||||||||||
|
Definition at line 73 of file itkFEMElementBase.h. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 52 of file itkFEMSolverCrankNicolson.h. |
|
|
Definition at line 32 of file itkFEMObjectFactory.h. |
|
|
Definition at line 42 of file itkVisitorDispatcher.h. |
|
|
Definition at line 42 of file itkVisitorDispatcher.h. |
|
|
Definition at line 92 of file itkVisitorDispatcher.h. |
|
|
Definition at line 70 of file itkVisitorDispatcher.h. |
|
|
Definition at line 35 of file itkFEMLoadImplementationTest.h. |
|
|
Definition at line 106 of file itkVisitorDispatcher.h. Referenced by itk::ImageRegionReverseConstIterator< TImage >::operator++(), and itk::ImageRegionReverseConstIterator< TImage >::operator--(). |
|
|
Definition at line 52 of file itkFEMSolverCrankNicolson.h. |
|
|
Definition at line 42 of file itkVisitorDispatcher.h. |
|
|
Definition at line 120 of file itkVisitorDispatcher.h. |
|
|
Definition at line 32 of file itkFEMObjectFactory.h. |
|
|
Definition at line 58 of file itkFEMInitialization.h. |
|
|
Definition at line 55 of file itkFEMSolverCrankNicolson.h. |
|
|
Definition at line 42 of file itkVisitorDispatcher.h. |
|
|
Definition at line 72 of file itkFEMElementBase.h. |
|
|
Definition at line 48 of file itkFEMLoadImplementationTest.h. |
|
|
Definition at line 62 of file itkFEMObjectFactory.h. |
|
|
Definition at line 63 of file itkFEMObjectFactory.h. |
|
|
Definition at line 53 of file itkFEMSolverCrankNicolson.h. |
|
|
Definition at line 45 of file itkFEMSolverCrankNicolson.h. |
|
|
Definition at line 42 of file itkFEMSolverCrankNicolson.h. |
|
|
Definition at line 120 of file itkVisitorDispatcher.h. |
|
|
Definition at line 48 of file itkFEMLoadBCMFC.h. |
|
|
|
Definition at line 35 of file itkFEMLoadImplementationTest.h. |
|
|
Definition at line 39 of file itkFEMInitialization.h. Referenced by itk::Statistics::MersenneTwisterRandomVariateGenerator::GetIntegerVariate(). |
|
|
Definition at line 80 of file itkVisitorDispatcher.h. |
1.4.2 written by Dimitri van Heesch,
© 1997-2000