Difference between revisions of "Modules:IA FEMesh-Documentation-3.4"

From Slicer Wiki
Jump to: navigation, search
 
(16 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
[[Documentation-3.4|Return to Slicer 3.4 Documentation]]
 
[[Documentation-3.4|Return to Slicer 3.4 Documentation]]
 +
 +
[[Announcements:Slicer3.4#Highlights|Gallery of New Features]]
 
__NOTOC__
 
__NOTOC__
 
===Module Name===
 
===Module Name===
Line 26: Line 28:
  
 
===Module Description===
 
===Module Description===
This module allows the creation and editing of surface and volumetric meshes.  Polygonal surfaces in VTK or STL format are imported to begin the process.  Then a unique and intuitive bounding surface (called Building Blocks) are created interactively by the user and used to guide automated meshing algorithms.  The module includes visualization and analysis reports of the quality of mesh elements.  Meshes can be written out in Abaqus of VTK format for later processing.
+
This module allows the creation and editing of surface and volumetric meshes.  Polygonal surfaces in VTK or STL format are imported to begin the process.  Then a unique and intuitive bounding surface (called Building Blocks) are created interactively by the user and used to guide automated meshing algorithms.  The module includes visualization and analysis reports of the quality of mesh elements.  Meshes can be written out in Abaqus or VTK format for later processing.
 
 
  
 
== Usage ==
 
== Usage ==
Line 36: Line 37:
 
* [http://www.na-mic.org/Wiki/index.php/Iowa_Meshing_Tutorial Meshing Module Tutorial]
 
* [http://www.na-mic.org/Wiki/index.php/Iowa_Meshing_Tutorial Meshing Module Tutorial]
 
* [https://mri.radiology.uiowa.edu/downloads/IA-FEMesh_Manual_version1.pdf IA_FEMesh Users Manual]
 
* [https://mri.radiology.uiowa.edu/downloads/IA-FEMesh_Manual_version1.pdf IA_FEMesh Users Manual]
 +
  
 
===Quick Tour of Features and Use===
 
===Quick Tour of Features and Use===
Line 41: Line 43:
  
 
* '''Surface:''' This tab allows input and saving of surface files used to define the object which will be meshed.  
 
* '''Surface:''' This tab allows input and saving of surface files used to define the object which will be meshed.  
* '''Building Blocks:''' After a 3D object surface is input, the user interactively creates, modifies, and views a control surface used to guide meshing algorithms.  Under this tab, operations for editing, copying, deleting, and splitting building blocks provide the tools for rapid building block creation.
+
* '''Building Block:''' After a 3D object surface is input, the user interactively creates, modifies, and views a control surface used to guide meshing algorithms.  Under this tab, operations for editing, copying, deleting, and splitting building blocks provide the tools for rapid building block creation. The operations can be applied to all or a selected subset of building blocks.
* '''Mesh Creation:'''
+
* '''Mesh Creation:'''This tab contains the algorithms for projecting points along the building block walls down onto the selected surface mesh.  A solid mesh is created using transfinite or elliptical interploation. 
* '''Mesh Quality:'''
+
* '''Mesh Quality:''' After a mesh is created, tools inside this tab allow for interactive viewing, exploration, and mesh improvement algorithms to be run if desired.
 
+
* '''Material Properties:''' Meshes are composed of multiple surface and/or volume elements.  Individual elements or groups of elements are selected and given  material properties  with the tools inside this tab. Material properties stay with the mesh and are output when the mesh is saved as an external file.
 +
* '''Boundary Conditions:''' Multi-step  boundary conditions, including external forces, can be defined by the GUI tools defined under this tab.  A user can create an Abaqus input file and visually preview if conditions have been specified correctly before beginning an external finite element simulation.
  
 
== Development ==
 
== Development ==
  
 
===Dependencies===
 
===Dependencies===
IA_FEMesh has no external dependcies.  It creates meshes in Abaqus format.  To perform finite element analysis, the user will have to provide a suitable simulation environment.
+
IA_FEMesh has no external dependcies.  The module creates meshes in ABAQUS format.  To perform finite element analysis, the user will have to provide a suitable simulation environment.
 
    
 
    
 
As far as the software building process, all required support libraries, that extend the Slicer3 base, are built from source code during the Slicer3 build process automatically.
 
As far as the software building process, all required support libraries, that extend the Slicer3 base, are built from source code during the Slicer3 build process automatically.
  
 
===Known bugs===
 
===Known bugs===
 +
This module isn't fully integrated with MRML yet.  MRML scene snapshots and restores are not yet supported.  Please save your work using the file save dialogs in the user interface.
  
 
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker.
 
Follow this [http://na-mic.org/Mantis/main_page.php link] to the Slicer3 bug tracker.
Line 67: Line 71:
 
To browse the module source code, click [http://www.na-mic.org/ViewVC/index.cgi/trunk/Modules/Meshing/ here].
 
To browse the module source code, click [http://www.na-mic.org/ViewVC/index.cgi/trunk/Modules/Meshing/ here].
  
Custom GUI classes were created to group meshing operations -- inheriting from a common parent class developed for this module.  Doxygen generated documentation of the abstract parent class and the operations as derived classes is available [http://www.na-mic.org/Slicer/Documentation/Slicer3/html/classvtkKWMimxGroupBase.html here].
+
Custom GUI classes were created to group meshing operations -- inheriting from a common parent class developed for this module.  Doxygen generated documentation of the abstract parent class and the operations as derived classes is available [http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classvtkKWMimxGroupBase.html here].
 
 
  
 
== More Information ==  
 
== More Information ==  
Line 77: Line 80:
  
 
===References===
 
===References===
Publications related to this module go here. Links to pdfs would be useful.
+
Please see the publications section of the [http://wiki.na-mic.org/Wiki/index.php/NA-MIC_NCBC_Collaboration:Automated_FE_Mesh_Development grant description page] also listed directly above.

Latest revision as of 21:49, 15 January 2010

Home < Modules:IA FEMesh-Documentation-3.4

Return to Slicer 3.4 Documentation

Gallery of New Features

Module Name

IA_FEMesh (Finite Element Meshing Module from the University of Iowa)

IA-FEMesh Module in Slicer3

General Information

A loadable module to automate the creation of surface and volumetric meshes for finite element analysis.

Module Type & Category

Type: Interactive

Category: Meshing

Authors, Collaborators & Contact

  • Nicole Grosland, University of Iowa, grosland@engineering.uiowa.edu
  • Vince Magnotta, University of Iowa, vincent-magnotta@uiowa.edu
  • Kiran Shivanna, University of Iowa, kshivann@engineering.uiowa.edu
  • Austin Ramme, University of Iowa
  • Steve Pieper, Isomics, pieper@bwh.harvard.edu
  • Curtis Lisle, KnowledgeVis, clisle@knowledgevis.com

Module Description

This module allows the creation and editing of surface and volumetric meshes. Polygonal surfaces in VTK or STL format are imported to begin the process. Then a unique and intuitive bounding surface (called Building Blocks) are created interactively by the user and used to guide automated meshing algorithms. The module includes visualization and analysis reports of the quality of mesh elements. Meshes can be written out in Abaqus or VTK format for later processing.

Usage

Examples, Use Cases & Tutorials

  • IA_FEMesh is particularly well suited for quickly developing quality hexahedral meshes for artificial joint research and prothesis design. Its intuitive interface allows the user to mesh and review moderate sized objects, such as bone surfaces, efficiently. However, the use cases are not restricted to this application area.
  • Meshing Module Tutorial
  • IA_FEMesh Users Manual


Quick Tour of Features and Use

The user interface for IA_FEMesh is organized as a set of tabs, with each tab corresponding to a group of related activities. Often the user will move back and forth between the tabs during the meshing process. The tabs organize related operations yet allow free movement, depending on the users needs. The tabs and associated operations are listed below:

  • Surface: This tab allows input and saving of surface files used to define the object which will be meshed.
  • Building Block: After a 3D object surface is input, the user interactively creates, modifies, and views a control surface used to guide meshing algorithms. Under this tab, operations for editing, copying, deleting, and splitting building blocks provide the tools for rapid building block creation. The operations can be applied to all or a selected subset of building blocks.
  • Mesh Creation:This tab contains the algorithms for projecting points along the building block walls down onto the selected surface mesh. A solid mesh is created using transfinite or elliptical interploation.
  • Mesh Quality: After a mesh is created, tools inside this tab allow for interactive viewing, exploration, and mesh improvement algorithms to be run if desired.
  • Material Properties: Meshes are composed of multiple surface and/or volume elements. Individual elements or groups of elements are selected and given material properties with the tools inside this tab. Material properties stay with the mesh and are output when the mesh is saved as an external file.
  • Boundary Conditions: Multi-step boundary conditions, including external forces, can be defined by the GUI tools defined under this tab. A user can create an Abaqus input file and visually preview if conditions have been specified correctly before beginning an external finite element simulation.

Development

Dependencies

IA_FEMesh has no external dependcies. The module creates meshes in ABAQUS format. To perform finite element analysis, the user will have to provide a suitable simulation environment.

As far as the software building process, all required support libraries, that extend the Slicer3 base, are built from source code during the Slicer3 build process automatically.

Known bugs

This module isn't fully integrated with MRML yet. MRML scene snapshots and restores are not yet supported. Please save your work using the file save dialogs in the user interface.

Follow this link to the Slicer3 bug tracker.

Usability issues

Follow this link to the Slicer3 bug tracker. Please select the usability issue category when browsing or contributing.

Source code & documentation

IA_FEMesh was developed as a standalone program and has been integrated for use in Slicer3 as one of the products of a NA-MIC External Collaboration. A design goal for this effort is to allow software development to continue on both the standalone and integrated module versions while working off a common code base.

To browse the module source code, click here.

Custom GUI classes were created to group meshing operations -- inheriting from a common parent class developed for this module. Doxygen generated documentation of the abstract parent class and the operations as derived classes is available here.

More Information

Acknowledgment

PAR-05-063: NIH Grant R01EB005973 Automated FE Mesh Development

References

Please see the publications section of the grant description page also listed directly above.