ITK
4.9.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 75 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 | GenerateMFC () |
FEMObject () | |
~FEMObject () | |
virtual void | PrintSelf (std::ostream &os, Indent indent) const 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 | |
AtomicInt< int > | m_ReferenceCount |
Private Member Functions | |
void | AddNextLoadInternal (Load *l) |
FEMObject (const Self &) ITK_DELETE_FUNCTION | |
void | operator= (const Self &) ITK_DELETE_FUNCTION |
typedef SmartPointer<const Self> itk::fem::FEMObject< VDimension >::ConstPointer |
Definition at line 82 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 116 of file itkFEMObject.h.
typedef ElementContainerType::ConstPointer itk::fem::FEMObject< VDimension >::ElementContainerConstPointer |
Definition at line 106 of file itkFEMObject.h.
typedef ElementContainerType::Iterator itk::fem::FEMObject< VDimension >::ElementContainerIterator |
Definition at line 118 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 105 of file itkFEMObject.h.
typedef VectorContainer<ElementIdentifier, Element::Pointer> itk::fem::FEMObject< VDimension >::ElementContainerType |
Definition at line 101 of file itkFEMObject.h.
typedef unsigned long itk::fem::FEMObject< VDimension >::ElementIdentifier |
Definition at line 93 of file itkFEMObject.h.
typedef LoadContainerType::ConstIterator itk::fem::FEMObject< VDimension >::LoadContainerConstIterator |
Definition at line 124 of file itkFEMObject.h.
typedef LoadContainerType::ConstPointer itk::fem::FEMObject< VDimension >::LoadContainerConstPointer |
Definition at line 110 of file itkFEMObject.h.
typedef LoadContainerType::Iterator itk::fem::FEMObject< VDimension >::LoadContainerIterator |
Definition at line 126 of file itkFEMObject.h.
typedef LoadContainerType::Pointer itk::fem::FEMObject< VDimension >::LoadContainerPointer |
Definition at line 109 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 95 of file itkFEMObject.h.
typedef MaterialContainerType::ConstIterator itk::fem::FEMObject< VDimension >::MaterialContainerConstIterator |
Definition at line 128 of file itkFEMObject.h.
typedef MaterialContainerType::ConstPointer itk::fem::FEMObject< VDimension >::MaterialContainerConstPointer |
Definition at line 112 of file itkFEMObject.h.
typedef MaterialContainerType::Iterator itk::fem::FEMObject< VDimension >::MaterialContainerIterator |
Definition at line 130 of file itkFEMObject.h.
typedef MaterialContainerType::Pointer itk::fem::FEMObject< VDimension >::MaterialContainerPointer |
Definition at line 111 of file itkFEMObject.h.
typedef VectorContainer<MaterialIdentifier, Material::Pointer> itk::fem::FEMObject< VDimension >::MaterialContainerType |
Definition at line 100 of file itkFEMObject.h.
typedef unsigned long itk::fem::FEMObject< VDimension >::MaterialIdentifier |
Definition at line 96 of file itkFEMObject.h.
typedef NodeContainerType::ConstIterator itk::fem::FEMObject< VDimension >::NodeContainerConstIterator |
Definition at line 120 of file itkFEMObject.h.
typedef NodeContainerType::ConstPointer itk::fem::FEMObject< VDimension >::NodeContainerConstPointer |
Definition at line 108 of file itkFEMObject.h.
typedef NodeContainerType::Iterator itk::fem::FEMObject< VDimension >::NodeContainerIterator |
Definition at line 122 of file itkFEMObject.h.
typedef NodeContainerType::Pointer itk::fem::FEMObject< VDimension >::NodeContainerPointer |
Definition at line 107 of file itkFEMObject.h.
typedef VectorContainer<NodeIdentifier, Element::Node::Pointer> itk::fem::FEMObject< VDimension >::NodeContainerType |
Definition at line 102 of file itkFEMObject.h.
typedef unsigned long itk::fem::FEMObject< VDimension >::NodeIdentifier |
Definition at line 94 of file itkFEMObject.h.
typedef SmartPointer<Self> itk::fem::FEMObject< VDimension >::Pointer |
Definition at line 81 of file itkFEMObject.h.
typedef FEMObject itk::fem::FEMObject< VDimension >::Self |
Standard class typedefs.
Definition at line 79 of file itkFEMObject.h.
typedef DataObject itk::fem::FEMObject< VDimension >::Superclass |
Definition at line 80 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 217 of file itkFEMObject.h.
References itk::fem::FEMObject< VDimension >::AddNextLoadInternal(), and itk::SmartPointer< TObjectType >::GetPointer().
|
inline |
Definition at line 219 of file itkFEMObject.h.
References itk::fem::FEMObject< VDimension >::AddNextLoadInternal(), and itk::SmartPointer< TObjectType >::GetPointer().
|
inline |
Definition at line 221 of file itkFEMObject.h.
References itk::fem::FEMObject< VDimension >::AddNextLoadInternal(), and itk::SmartPointer< TObjectType >::GetPointer().
|
inline |
Definition at line 223 of file itkFEMObject.h.
References itk::fem::FEMObject< VDimension >::AddNextLoadInternal(), and itk::SmartPointer< TObjectType >::GetPointer().
|
inline |
Definition at line 225 of file itkFEMObject.h.
References itk::fem::FEMObject< VDimension >::AddNextLoadInternal(), and itk::SmartPointer< TObjectType >::GetPointer().
|
inline |
Definition at line 227 of file itkFEMObject.h.
References itk::fem::FEMObject< VDimension >::AddNextLoadInternal(), and itk::SmartPointer< TObjectType >::GetPointer().
|
inline |
Definition at line 229 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 200 of file itkFEMObject.h.
References itk::fem::FEMObject< VDimension >::AddNextMaterialInternal(), and itk::SmartPointer< TObjectType >::GetPointer().
|
inline |
Definition at line 204 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 142 of file itkFEMObject.h.
References itk::fem::FEMObject< VDimension >::m_NGFN.
|
inline |
Get the Number of elements in the FE mesh
Definition at line 160 of file itkFEMObject.h.
References itk::fem::FEMObject< VDimension >::m_ElementContainer.
|
inline |
Get the Number of Loads in the FE problem
Definition at line 166 of file itkFEMObject.h.
References itk::fem::FEMObject< VDimension >::m_LoadContainer.
|
inline |
Get the Number of Materials in the FE problem
Definition at line 172 of file itkFEMObject.h.
References itk::fem::FEMObject< VDimension >::m_MaterialContainer.
|
inline |
Get the Degrees of Freedom for the FE model
Definition at line 148 of file itkFEMObject.h.
References itk::fem::FEMObject< VDimension >::m_NMFC.
|
inline |
Get the Number of nodes in the FE mesh
Definition at line 154 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 |
|
overrideprotectedvirtual |
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 90 of file itkFEMObject.h.
|
protected |
Definition at line 341 of file itkFEMObject.h.
Referenced by itk::fem::FEMObject< VDimension >::GetNumberOfElements().
|
protected |
Definition at line 343 of file itkFEMObject.h.
Referenced by itk::fem::FEMObject< VDimension >::GetNumberOfLoads().
|
protected |
Definition at line 344 of file itkFEMObject.h.
Referenced by itk::fem::FEMObject< VDimension >::GetNumberOfMaterials().
|
protected |
Number of global degrees of freedom in a system
Definition at line 333 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 339 of file itkFEMObject.h.
Referenced by itk::fem::FEMObject< VDimension >::GetNumberOfMultiFreedomConstraints().
|
protected |
Definition at line 342 of file itkFEMObject.h.
Referenced by itk::fem::FEMObject< VDimension >::GetNumberOfNodes().
|
static |
Definition at line 91 of file itkFEMObject.h.