Refactoring itk::FEM framework - V4: Difference between revisions
From KitwarePublic
Jump to navigationJump to search
Line 9: | Line 9: | ||
#*mat | #*mat | ||
#Add the following member functions: | #Add the following member functions: | ||
#*bool AddNextElement(ElementType *element) – Add the next element to the mesh data structure. This will be used to | #*bool '''AddNextElement'''(ElementType *element) – Add the next element to the mesh data structure. This will be used to replace the solver->el.push_back() | ||
replace the solver->el.push_back() | #*bool '''InsertElement'''(ElementType *element, unsigned long index) – Insert the element to the position within the mesh data structure. | ||
#*bool InsertElement(ElementType *element, unsigned long index) – Insert the element to the position within the mesh data structure. | #*bool '''AddNextNode'''(NodeType *node) – Add the next node to the mesh data structure. This will be used to replace the | ||
#*bool AddNextNode(NodeType *node) – Add the next node to the | |||
mesh data structure. This will be used to replace the | |||
solver->node.push_back() | solver->node.push_back() | ||
#*bool InsertNode(NodeType *node, unsigned long index) – Insert | #*bool '''InsertNode'''(NodeType *node, unsigned long index) – Insert the node into the desired location within the mesh data structure. | ||
the node into the desired location within the mesh data | #*bool '''AddNextMaterial'''(itk::fem::FEMP<itk::fem::Material>) – Add the next material type to the solver. | ||
structure. | #*bool '''InsertMaterial'''(itk::fem::FEMP<itk::fem::Material>, int) – Insert the material property to the specified index in the solver material property array. | ||
#*bool AddNextMaterial(itk::fem::FEMP<itk::fem::Material>) – Add the next material type to the solver. | #*bool '''AddNextLoad'''(itk::fem::FEMP<itk::fem::Load>) – Add the next load to the solver. | ||
#*bool InsertMaterial(itk::fem::FEMP<itk::fem::Material>, int) – Insert the material property to the specified index in the | #*bool '''InsertLoad'''(itk::fem::FEMP<itk::fem::Load>, int) – Insert the load to the specified index in the solver load array. | ||
solver material property array. | #*bool '''GetElement'''(unsigned long index, ElementType *element) – Get the specified element from the mesh data structure | ||
#*bool AddNextLoad(itk::fem::FEMP<itk::fem::Load>) – Add the | #*bool '''GetNode'''(unsigned long index, NodeType *node) – Get the specified node from the mesh data structure | ||
next load to the solver. | #*bool '''GetMaterial'''(itk::fem::FEMP<itk::fem::Material>, int) – Get the specified material from the solver. | ||
#*bool InsertLoad(itk::fem::FEMP<itk::fem::Load>, int) – Insert the load to the specified index in the solver load array. | #*bool '''GetLoad'''(itk::fem::FEMP<itk::fem::Load>, int) – Get the specified load from the solver. | ||
#*bool GetElement(unsigned long index, ElementType *element) – Get the specified element from the mesh data structure | #*unsigned int '''GetNumberOfNodes'''() – Returns the number of nodes stored in the solver. | ||
#*bool GetNode(unsigned long index, NodeType *node) – Get the specified node from the mesh data structure | #*unsigned int '''GetNumberOfElements'''()– Returns the number of element stored in the solver. | ||
#*bool GetMaterial(itk::fem::FEMP<itk::fem::Material>, int) – Get the specified material from the solver. | #*unsigned int '''GetNumberOfMaterials'''()– Returns the number of materials stored in the solver. | ||
#*bool GetLoad(itk::fem::FEMP<itk::fem::Load>, int) – Get the specified load from the solver. | #*unsigned int '''GetNumberOfLoads'''() – Returns the number of loads stored in the solver | ||
#*unsigned int GetNumberOfNodes() – Returns the number of nodes stored in the solver. | #*bool '''ClearMaterialArray'''() – Insert the load to the specified index in the solver load array. | ||
#*unsigned int GetNumberOfElements()– Returns the number of element stored in the solver. | #*bool '''ClearloadArray'''() – Insert the load to the specified index in the solver load array. | ||
#*unsigned int GetNumberOfMaterials()– Returns the number of materials stored in the solver. | #*bool '''RemoveMaterial'''(int) – Remove the material property at the specified index from the solver Material array. | ||
#*unsigned int GetNumberOfLoads() – Returns the number of loads stored in the solver | #*bool '''RemoveLoad'''(int) – Remove the load at the specified index from the solver load array. | ||
#*bool ClearMaterialArray() – Insert the load to the specified index in the solver load array. | #*void '''SetMesh'''(itk::Mesh) – Specify the entire mesh to be used by the solver. | ||
#*bool ClearloadArray() – Insert the load to the specified index in the solver load array. | #*itk::Mesh '''GetMesh'''() – Returns the mesh used by the solver. | ||
#*bool RemoveMaterial(int) – Remove the material property at the specified index from the solver Material array. | #*MeshType::Pointer '''GetDeformedMesh'''() – Returns the resulting mesh after applying the loading and boundary conditions on | ||
#*bool RemoveLoad(int) – Remove the load at the specified index from the solver load array. | |||
#*void SetMesh(itk::Mesh) – Specify the entire mesh to be used by the solver. | |||
#*itk::Mesh GetMesh() – Returns the mesh used by the solver. | |||
#*MeshType::Pointer GetDeformedMesh() – Returns the resulting mesh after applying the loading and boundary conditions on | |||
the mesh. | the mesh. | ||
#*itk::Array<double>::Pointer GetMeshStresses() – Returns the stresses for the mesh with each element of the array corresponding to an element in the mesh. | #*itk::Array<double>::Pointer '''GetMeshStresses'''() – Returns the stresses for the mesh with each element of the array corresponding to an element in the mesh. | ||
#*itk::Array<double>::Pointer GetMeshStrains()– Returns the strains for the mesh with each element of the array corresponding to an element in the mesh. | #*itk::Array<double>::Pointer '''GetMeshStrains'''()– Returns the strains for the mesh with each element of the array corresponding to an element in the mesh. | ||
==itk::Load== | ==itk::Load== |
Revision as of 17:00, 4 July 2010
This page outlines the proposed changes to the itk::FEM framework. Feed back on these changes should be sent to Vincent Magnotta (vincent-magnotta - at- uiowa.edu). A number of these changes will break backwards compatibility.
Encapsulate class variables in FEM Framework
itk::Solver
- Move the following class variables from public to protected:
- node
- el
- load
- mat
- Add the following member functions:
- bool AddNextElement(ElementType *element) – Add the next element to the mesh data structure. This will be used to replace the solver->el.push_back()
- bool InsertElement(ElementType *element, unsigned long index) – Insert the element to the position within the mesh data structure.
- bool AddNextNode(NodeType *node) – Add the next node to the mesh data structure. This will be used to replace the
solver->node.push_back()
- bool InsertNode(NodeType *node, unsigned long index) – Insert the node into the desired location within the mesh data structure.
- bool AddNextMaterial(itk::fem::FEMP<itk::fem::Material>) – Add the next material type to the solver.
- bool InsertMaterial(itk::fem::FEMP<itk::fem::Material>, int) – Insert the material property to the specified index in the solver material property array.
- bool AddNextLoad(itk::fem::FEMP<itk::fem::Load>) – Add the next load to the solver.
- bool InsertLoad(itk::fem::FEMP<itk::fem::Load>, int) – Insert the load to the specified index in the solver load array.
- bool GetElement(unsigned long index, ElementType *element) – Get the specified element from the mesh data structure
- bool GetNode(unsigned long index, NodeType *node) – Get the specified node from the mesh data structure
- bool GetMaterial(itk::fem::FEMP<itk::fem::Material>, int) – Get the specified material from the solver.
- bool GetLoad(itk::fem::FEMP<itk::fem::Load>, int) – Get the specified load from the solver.
- unsigned int GetNumberOfNodes() – Returns the number of nodes stored in the solver.
- unsigned int GetNumberOfElements()– Returns the number of element stored in the solver.
- unsigned int GetNumberOfMaterials()– Returns the number of materials stored in the solver.
- unsigned int GetNumberOfLoads() – Returns the number of loads stored in the solver
- bool ClearMaterialArray() – Insert the load to the specified index in the solver load array.
- bool ClearloadArray() – Insert the load to the specified index in the solver load array.
- bool RemoveMaterial(int) – Remove the material property at the specified index from the solver Material array.
- bool RemoveLoad(int) – Remove the load at the specified index from the solver load array.
- void SetMesh(itk::Mesh) – Specify the entire mesh to be used by the solver.
- itk::Mesh GetMesh() – Returns the mesh used by the solver.
- MeshType::Pointer GetDeformedMesh() – Returns the resulting mesh after applying the loading and boundary conditions on
the mesh.
- itk::Array<double>::Pointer GetMeshStresses() – Returns the stresses for the mesh with each element of the array corresponding to an element in the mesh.
- itk::Array<double>::Pointer GetMeshStrains()– Returns the strains for the mesh with each element of the array corresponding to an element in the mesh.