ITK
4.6.0
Insight Segmentation and Registration Toolkit
|
#include <itkFEMObject.h>
Implements N-dimensional Finite element (FE) models including elements, materials, and loads.
The FEMObject stores the FE problem using Vector Containers for 1) Load 2) Material 3) Element 4) Node
Definition at line 74 of file itkFEMObject.h.
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::DataObject | |
static bool | GetGlobalReleaseDataFlag () |
static void | GlobalReleaseDataFlagOff () |
static void | GlobalReleaseDataFlagOn () |
static void | SetGlobalReleaseDataFlag (bool val) |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool flag) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | FEMDimension = VDimension |
static const unsigned int | MaxDimensions = 3 |
Protected Member Functions | |
void | AddNextMaterialInternal (Material *mat) |
void | GenerateGFN (void) |
void | GenerateMFC (void) |
FEMObject () | |
~FEMObject () | |
virtual void | PrintSelf (std::ostream &os, Indent indent) const ITK_OVERRIDE |
Protected Member Functions inherited from itk::DataObject | |
DataObject () | |
virtual void | PropagateResetPipeline () |
~DataObject () | |
Protected Member Functions inherited from itk::Object | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
virtual void | SetTimeStamp (const TimeStamp &time) |
virtual | ~Object () |
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 () |
Protected Attributes | |
ElementContainerPointer | m_ElementContainer |
LoadContainerPointer | m_LoadContainer |
MaterialContainerPointer | m_MaterialContainer |
unsigned int | m_NGFN |
unsigned int | m_NMFC |
NodeContainerPointer | m_NodeContainer |
Protected Attributes inherited from itk::LightObject | |
InternalReferenceCountType | m_ReferenceCount |
SimpleFastMutexLock | m_ReferenceCountLock |
Private Member Functions | |
void | AddNextLoadInternal (Load *l) |
FEMObject (const Self &) | |
void | operator= (const Self &) |
Additional Inherited Members | |
Protected Types inherited from itk::LightObject | |
typedef int | InternalReferenceCountType |
typedef SmartPointer<const Self> itk::fem::FEMObject< VDimension >::ConstPointer |
Definition at line 81 of file itkFEMObject.h.
typedef ElementContainerType::ConstIterator itk::fem::FEMObject< VDimension >::ElementContainerConstIterator |
Create types that are iterators for each of the container types.
Definition at line 115 of file itkFEMObject.h.
typedef ElementContainerType::ConstPointer itk::fem::FEMObject< VDimension >::ElementContainerConstPointer |
Definition at line 105 of file itkFEMObject.h.
typedef ElementContainerType::Iterator itk::fem::FEMObject< VDimension >::ElementContainerIterator |
Definition at line 117 of file itkFEMObject.h.
typedef ElementContainerType::Pointer itk::fem::FEMObject< VDimension >::ElementContainerPointer |
Create types that are pointers to each of the container types.
Definition at line 104 of file itkFEMObject.h.
typedef VectorContainer<ElementIdentifier, Element::Pointer> itk::fem::FEMObject< VDimension >::ElementContainerType |
Definition at line 100 of file itkFEMObject.h.
typedef unsigned long itk::fem::FEMObject< VDimension >::ElementIdentifier |
Definition at line 92 of file itkFEMObject.h.
typedef LoadContainerType::ConstIterator itk::fem::FEMObject< VDimension >::LoadContainerConstIterator |
Definition at line 123 of file itkFEMObject.h.
typedef LoadContainerType::ConstPointer itk::fem::FEMObject< VDimension >::LoadContainerConstPointer |
Definition at line 109 of file itkFEMObject.h.
typedef LoadContainerType::Iterator itk::fem::FEMObject< VDimension >::LoadContainerIterator |
Definition at line 125 of file itkFEMObject.h.
typedef LoadContainerType::Pointer itk::fem::FEMObject< VDimension >::LoadContainerPointer |
Definition at line 108 of file itkFEMObject.h.
typedef VectorContainer<LoadIdentifier, Load::Pointer> itk::fem::FEMObject< VDimension >::LoadContainerType |
typedef unsigned long itk::fem::FEMObject< VDimension >::LoadIdentifier |
Definition at line 94 of file itkFEMObject.h.
typedef MaterialContainerType::ConstIterator itk::fem::FEMObject< VDimension >::MaterialContainerConstIterator |
Definition at line 127 of file itkFEMObject.h.
typedef MaterialContainerType::ConstPointer itk::fem::FEMObject< VDimension >::MaterialContainerConstPointer |
Definition at line 111 of file itkFEMObject.h.
typedef MaterialContainerType::Iterator itk::fem::FEMObject< VDimension >::MaterialContainerIterator |
Definition at line 129 of file itkFEMObject.h.
typedef MaterialContainerType::Pointer itk::fem::FEMObject< VDimension >::MaterialContainerPointer |
Definition at line 110 of file itkFEMObject.h.
typedef VectorContainer<MaterialIdentifier, Material::Pointer> itk::fem::FEMObject< VDimension >::MaterialContainerType |
Definition at line 99 of file itkFEMObject.h.
typedef unsigned long itk::fem::FEMObject< VDimension >::MaterialIdentifier |
Definition at line 95 of file itkFEMObject.h.
typedef NodeContainerType::ConstIterator itk::fem::FEMObject< VDimension >::NodeContainerConstIterator |
Definition at line 119 of file itkFEMObject.h.
typedef NodeContainerType::ConstPointer itk::fem::FEMObject< VDimension >::NodeContainerConstPointer |
Definition at line 107 of file itkFEMObject.h.
typedef NodeContainerType::Iterator itk::fem::FEMObject< VDimension >::NodeContainerIterator |
Definition at line 121 of file itkFEMObject.h.
typedef NodeContainerType::Pointer itk::fem::FEMObject< VDimension >::NodeContainerPointer |
Definition at line 106 of file itkFEMObject.h.
typedef VectorContainer<NodeIdentifier, Element::Node::Pointer> itk::fem::FEMObject< VDimension >::NodeContainerType |
Definition at line 101 of file itkFEMObject.h.
typedef unsigned long itk::fem::FEMObject< VDimension >::NodeIdentifier |
Definition at line 93 of file itkFEMObject.h.
typedef SmartPointer<Self> itk::fem::FEMObject< VDimension >::Pointer |
Definition at line 80 of file itkFEMObject.h.
typedef FEMObject itk::fem::FEMObject< VDimension >::Self |
Standard class typedefs.
Definition at line 78 of file itkFEMObject.h.
typedef DataObject itk::fem::FEMObject< VDimension >::Superclass |
Definition at line 79 of file itkFEMObject.h.
|
protected |
Constructor for use by New() method.
|
protected |
Constructor for use by New() method.
|
private |
void itk::fem::FEMObject< VDimension >::AddNextElement | ( | Element::Pointer | e | ) |
Add next element to the element array
|
inline |
Add next load data to the load array
Definition at line 216 of file itkFEMObject.h.
References itk::fem::FEMObject< VDimension >::AddNextLoadInternal(), and itk::SmartPointer< TObjectType >::GetPointer().
|
inline |
Definition at line 218 of file itkFEMObject.h.
References itk::fem::FEMObject< VDimension >::AddNextLoadInternal(), and itk::SmartPointer< TObjectType >::GetPointer().
|
inline |
Definition at line 220 of file itkFEMObject.h.
References itk::fem::FEMObject< VDimension >::AddNextLoadInternal(), and itk::SmartPointer< TObjectType >::GetPointer().
|
inline |
Definition at line 222 of file itkFEMObject.h.
References itk::fem::FEMObject< VDimension >::AddNextLoadInternal(), and itk::SmartPointer< TObjectType >::GetPointer().
|
inline |
Definition at line 224 of file itkFEMObject.h.
References itk::fem::FEMObject< VDimension >::AddNextLoadInternal(), and itk::SmartPointer< TObjectType >::GetPointer().
|
inline |
Definition at line 226 of file itkFEMObject.h.
References itk::fem::FEMObject< VDimension >::AddNextLoadInternal(), and itk::SmartPointer< TObjectType >::GetPointer().
|
inline |
Definition at line 228 of file itkFEMObject.h.
References itk::fem::FEMObject< VDimension >::AddNextLoadInternal(), and itk::SmartPointer< TObjectType >::GetPointer().
|
private |
Referenced by itk::fem::FEMObject< VDimension >::AddNextLoad().
|
inline |
Add next material data to the material array
Definition at line 199 of file itkFEMObject.h.
References itk::fem::FEMObject< VDimension >::AddNextMaterialInternal(), and itk::SmartPointer< TObjectType >::GetPointer().
|
inline |
Definition at line 203 of file itkFEMObject.h.
References itk::fem::FEMObject< VDimension >::AddNextMaterialInternal(), and itk::SmartPointer< TObjectType >::GetPointer().
|
protected |
Referenced by itk::fem::FEMObject< VDimension >::AddNextMaterial().
void itk::fem::FEMObject< VDimension >::AddNextNode | ( | Element::Node::Pointer | e | ) |
Add next node to the node array
void itk::fem::FEMObject< VDimension >::Clear | ( | ) |
Clear the entire model and return to an initial state
|
virtual |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::Object.
void itk::fem::FEMObject< VDimension >::DeepCopy | ( | FEMObject< VDimension > * | Copy | ) |
void itk::fem::FEMObject< VDimension >::FinalizeMesh | ( | ) |
This should be called when all nodes, elements, and loads have been assigned. This method will then generate the degrees of freedom for the speficied system and the number of multi freedom constraints on the system.
|
protected |
Assign a global freedom numbers to each DOF in a system. This must be done before any other solve function can be called. This is called internally by FinalizeMesh()
|
protected |
Assign the number of multi freedom constraints on the system. This must be done before any other solve function can be called. This is called internally by FinalizeMesh()
Element::ConstPointer itk::fem::FEMObject< VDimension >::GetElement | ( | ElementIdentifier | index | ) | const |
Get the element at the specified index location
Element::Pointer itk::fem::FEMObject< VDimension >::GetElement | ( | ElementIdentifier | index | ) |
Get the element at the specified index location
|
virtual |
Element::ConstPointer itk::fem::FEMObject< VDimension >::GetElementWithGlobalNumber | ( | int | globalNumber | ) | const |
Get the element at with the specified global number
Element::Pointer itk::fem::FEMObject< VDimension >::GetElementWithGlobalNumber | ( | int | globalNumber | ) |
Get the element at with the specified global number
Load::ConstPointer itk::fem::FEMObject< VDimension >::GetLoad | ( | LoadIdentifier | index | ) | const |
Get the load data at the specified index location
Load::Pointer itk::fem::FEMObject< VDimension >::GetLoad | ( | LoadIdentifier | index | ) |
Get the load data at the specified index location
|
virtual |
Load::Pointer itk::fem::FEMObject< VDimension >::GetLoadWithGlobalNumber | ( | int | globalNumber | ) |
Get the Load at with the specified global number
Material::ConstPointer itk::fem::FEMObject< VDimension >::GetMaterial | ( | MaterialIdentifier | index | ) | const |
Get the material data at the specified index location
Material::Pointer itk::fem::FEMObject< VDimension >::GetMaterial | ( | MaterialIdentifier | index | ) |
Get the material data at the specified index location
|
virtual |
Material::ConstPointer itk::fem::FEMObject< VDimension >::GetMaterialWithGlobalNumber | ( | int | globalNumber | ) | const |
Get the Material at with the specified global number
Material::Pointer itk::fem::FEMObject< VDimension >::GetMaterialWithGlobalNumber | ( | int | globalNumber | ) |
Get the Material at with the specified global number
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Standard part of every itk Object.
Reimplemented from itk::DataObject.
Element::Node::Pointer itk::fem::FEMObject< VDimension >::GetNode | ( | NodeIdentifier | index | ) |
Get the node at the specified index location
Element::Node::ConstPointer itk::fem::FEMObject< VDimension >::GetNode | ( | NodeIdentifier | index | ) | const |
Get the node at the specified index location
|
virtual |
Element::Node::Pointer itk::fem::FEMObject< VDimension >::GetNodeWithGlobalNumber | ( | int | globalNumber | ) |
Get the Node at with the specified global number
|
inline |
Get the Degrees of Freedom for the FE model
Definition at line 141 of file itkFEMObject.h.
References itk::fem::FEMObject< VDimension >::m_NGFN.
|
inline |
Get the Number of elements in the FE mesh
Definition at line 159 of file itkFEMObject.h.
References itk::fem::FEMObject< VDimension >::m_ElementContainer.
|
inline |
Get the Number of Loads in the FE problem
Definition at line 165 of file itkFEMObject.h.
References itk::fem::FEMObject< VDimension >::m_LoadContainer.
|
inline |
Get the Number of Materials in the FE problem
Definition at line 171 of file itkFEMObject.h.
References itk::fem::FEMObject< VDimension >::m_MaterialContainer.
|
inline |
Get the Degrees of Freedom for the FE model
Definition at line 147 of file itkFEMObject.h.
References itk::fem::FEMObject< VDimension >::m_NMFC.
|
inline |
Get the Number of nodes in the FE mesh
Definition at line 153 of file itkFEMObject.h.
References itk::fem::FEMObject< VDimension >::m_NodeContainer.
void itk::fem::FEMObject< VDimension >::InsertElement | ( | Element::Pointer | e, |
ElementIdentifier | index | ||
) |
Insert an element at the specified location
void itk::fem::FEMObject< VDimension >::InsertLoad | ( | Load::Pointer | ld, |
LoadIdentifier | index | ||
) |
Insert material data at the specified index location
void itk::fem::FEMObject< VDimension >::InsertMaterial | ( | Material::Pointer | e, |
MaterialIdentifier | index | ||
) |
Insert material data at the specified index location
void itk::fem::FEMObject< VDimension >::InsertNode | ( | Element::Node::Pointer | e, |
NodeIdentifier | index | ||
) |
Insert a node at the specified index location
|
static |
Method for creation through the object factory.
|
private |
|
protectedvirtual |
Constructor for use by New() method.
Reimplemented from itk::DataObject.
void itk::fem::FEMObject< VDimension >::RenumberNodeContainer | ( | ) |
Renumber the nodes global number based on their current order in the Node VectorContainer
|
static |
Definition at line 89 of file itkFEMObject.h.
|
protected |
Definition at line 340 of file itkFEMObject.h.
Referenced by itk::fem::FEMObject< VDimension >::GetNumberOfElements().
|
protected |
Definition at line 342 of file itkFEMObject.h.
Referenced by itk::fem::FEMObject< VDimension >::GetNumberOfLoads().
|
protected |
Definition at line 343 of file itkFEMObject.h.
Referenced by itk::fem::FEMObject< VDimension >::GetNumberOfMaterials().
|
protected |
Number of global degrees of freedom in a system
Definition at line 332 of file itkFEMObject.h.
Referenced by itk::fem::FEMObject< VDimension >::GetNumberOfDegreesOfFreedom().
|
protected |
Number of multi freedom constraints in a system. This member is set in a AssembleK function.
Definition at line 338 of file itkFEMObject.h.
Referenced by itk::fem::FEMObject< VDimension >::GetNumberOfMultiFreedomConstraints().
|
protected |
Definition at line 341 of file itkFEMObject.h.
Referenced by itk::fem::FEMObject< VDimension >::GetNumberOfNodes().
|
static |
Definition at line 90 of file itkFEMObject.h.