18 #ifndef itkFEMObject_h
19 #define itkFEMObject_h
36 #include "ITKFEMExport.h"
74 template <
unsigned int VDimension = 3>
90 itkStaticConstMacro(FEMDimension,
unsigned int, VDimension);
91 itkStaticConstMacro(MaxDimensions,
unsigned int, 3);
156 return m_NodeContainer->Size();
162 return m_ElementContainer->Size();
168 return m_LoadContainer->Size();
174 return m_MaterialContainer->Size();
202 this->AddNextMaterialInternal(mat.
GetPointer());
206 this->AddNextMaterialInternal(mat.
GetPointer());
218 { this->AddNextLoadInternal(ld.
GetPointer()); }
220 { this->AddNextLoadInternal(ld.
GetPointer()); }
222 { this->AddNextLoadInternal(ld.
GetPointer()); }
224 { this->AddNextLoadInternal(ld.
GetPointer()); }
226 { this->AddNextLoadInternal(ld.
GetPointer()); }
228 { this->AddNextLoadInternal(ld.
GetPointer()); }
230 { this->AddNextLoadInternal(ld.
GetPointer()); }
298 void RenumberNodeContainer();
312 virtual void PrintSelf(std::ostream& os,
Indent indent)
const ITK_OVERRIDE;
329 void AddNextMaterialInternal(
Material *mat);
348 void operator=(
const Self &);
350 void AddNextLoadInternal(
Load *l);
356 #ifndef ITK_MANUAL_INSTANTIATION
357 #include "itkFEMObject.hxx"
360 #endif // #ifndef itkFEMObject_h
MaterialContainerType::ConstPointer MaterialContainerConstPointer
Implements N-dimensional Finite element (FE) models including elements, materials, and loads.
unsigned long ElementIdentifier
ElementContainerType::Iterator ElementContainerIterator
LoadContainerType::ConstPointer LoadContainerConstPointer
void AddNextLoad(LoadBCMFC::Pointer ld)
void AddNextLoad(LoadGravConst::Pointer ld)
NodeContainerType::Pointer NodeContainerPointer
MaterialContainerPointer m_MaterialContainer
SmartPointer< const Self > ConstPointer
void AddNextLoad(LoadNode::Pointer ld)
ElementContainerPointer m_ElementContainer
void AddNextMaterial(MaterialLinearElasticity::Pointer mat)
ObjectType * GetPointer() const
static const double e
The base of the natural logarithm or Euler's number
void AddNextLoad(LoadBC::Pointer ld)
NodeContainerPointer m_NodeContainer
unsigned int GetNumberOfElements(void) const
unsigned int GetNumberOfMaterials(void) const
MaterialContainerType::Pointer MaterialContainerPointer
unsigned long LoadIdentifier
unsigned long MaterialIdentifier
VectorContainer< NodeIdentifier, Element::Node::Pointer > NodeContainerType
SmartPointer< Self > Pointer
Base class for storing all the implicit material and other properties required to fully define the el...
void AddNextLoad(LoadEdge::Pointer ld)
void AddNextMaterial(Material::Pointer mat)
LoadContainerPointer m_LoadContainer
VectorContainer< MaterialIdentifier, Material::Pointer > MaterialContainerType
void AddNextLoad(Load::Pointer ld)
unsigned int GetNumberOfLoads(void) const
VectorContainer< ElementIdentifier, Element::Pointer > ElementContainerType
LoadContainerType::Pointer LoadContainerPointer
unsigned int GetNumberOfNodes(void) const
LoadContainerType::Iterator LoadContainerIterator
NodeContainerType::ConstPointer NodeContainerConstPointer
unsigned int GetNumberOfDegreesOfFreedom(void) const
unsigned long NodeIdentifier
MaterialContainerType::Iterator MaterialContainerIterator
NodeContainerType::ConstIterator NodeContainerConstIterator
ElementContainerType::ConstPointer ElementContainerConstPointer
unsigned int GetNumberOfMultiFreedomConstraints(void) const
Define a front-end to the STL "vector" container that conforms to the IndexedContainerInterface.
Control indentation during Print() invocation.
General abstract load base class.
MaterialContainerType::ConstIterator MaterialContainerConstIterator
NodeContainerType::Iterator NodeContainerIterator
ElementContainerType::Pointer ElementContainerPointer
void AddNextLoad(LoadLandmark::Pointer ld)
LoadContainerType::ConstIterator LoadContainerConstIterator
Base class for all data objects in ITK.
VectorContainer< LoadIdentifier, Load::Pointer > LoadContainerType
ElementContainerType::ConstIterator ElementContainerConstIterator