Successfully reported this slideshow.
Your SlideShare is downloading. ×

Visualization of large FEM meshes

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
Matlab dip
Matlab dip
Loading in …3
×

Check these out next

1 of 24 Ad
Advertisement

More Related Content

Similar to Visualization of large FEM meshes (20)

Advertisement

Visualization of large FEM meshes

  1. 1. Visualization of large FEM models Visualization of large FEM models Tomáš Hnilica t omas.hnilica @webstep.net
  2. 2. Visualization of large FEM models <ul><li>Overview </li></ul><ul><li>Motivation </li></ul><ul><li>FEM model structure </li></ul><ul><li>Typical FEA process </li></ul><ul><li>Requirements </li></ul><ul><li>Design of out-of-core system </li></ul><ul><li>Out-of-core FEM model </li></ul><ul><li>Out-of-core v isualization </li></ul><ul><li>Further work </li></ul>
  3. 3. Visualization of large FEM models <ul><li>Motivation </li></ul><ul><li>FEM: Finite Element Method - numerical technique for finding approximate solutions of partial differential equations (PDE) as well as of integral equations . </li></ul><ul><li>FEM model: </li></ul><ul><li>Mesh of predefined 3D elements (triangle, tetrahedron, cube) </li></ul><ul><li>Typical FEM models can be processed on commodity PC (they fit to main memory) </li></ul><ul><li>Large models need out-of-core , optimization </li></ul><ul><li>G raphics engines of (leading) FEM software do not support out-of-core visualization = > server machines are needed for large datasets. </li></ul><ul><li>Interactive processing of large FEM models on com m odity PCs is our goal. </li></ul><ul><li>- interactive: about 10 frames per second </li></ul><ul><li>- large: larger than main memory </li></ul><ul><li>- commodity PCs: 2GB RAM, GPU with 128MB… </li></ul>
  4. 4. Visualization of large FEM models <ul><li>Motivation </li></ul><ul><li>Several approaches have been proposed and developed for massive dataset visualization. </li></ul><ul><li>Scene graphs </li></ul><ul><li>Level of Details , Multi-resolution rendering (Progressive meshes, QEM) </li></ul><ul><li>Occlusion culling </li></ul><ul><li>Out-of-core visualization (Adaptive TetraPuzzles, QVDR) </li></ul><ul><li>We adopt approaches suitable for FEM models. </li></ul>
  5. 5. Visualization of large FEM models <ul><li>FEM model structure </li></ul><ul><li>Nodes . Point defined by X, Y, Z coordinates. </li></ul><ul><li>Elements . Specified by Element type, list of node numbers, FEM simulation related properties (degrees of freedom, real constants, materials, etc.). Every FEM simulation software has library of Element types (solid, shell, beam elements). </li></ul><ul><li>- Components . Component is set of Nodes, Elements and Components. They are used to specify meaningful parts of the FEM model. (e.g. parts of a car body). For visualization components are important entities. </li></ul>
  6. 6. Visualization of large FEM models <ul><li>FEM model structure – examples </li></ul><ul><li>ANSYS SOLID70 element type </li></ul><ul><li>3D volume element </li></ul><ul><li>Predefined as solid element with 8 nodes </li></ul><ul><li>I to P: nodes of the element represented by node numbers </li></ul><ul><li>1 to 6: faces of the element </li></ul><ul><li>Right: options of the SOLID70 </li></ul><ul><li>ANSYS SHELL57 element type </li></ul><ul><li>3D shell element </li></ul><ul><li>Predefined as s hell element with 4 nodes </li></ul><ul><li>I to L: nodes of the element represented by node numbers </li></ul><ul><li>1 to 6: faces of the element </li></ul><ul><li>Right: options of the SHELL57 </li></ul>
  7. 7. Visualization of large FEM models <ul><li>FEM model structure – examples </li></ul><ul><li>FEM model example (machine part) </li></ul><ul><li>made of volume elements (SOLID70) </li></ul><ul><li>Components are identified by color </li></ul>
  8. 8. Visualization of large FEM models <ul><li>FEM model structure - results </li></ul><ul><li>After FEM simulation there are simulation results available. They are: </li></ul><ul><li>- nodal : results placed on nodes of the model, </li></ul><ul><li>- element : results placed on elements, </li></ul><ul><li>- nodal-element : nodal results specified for each element. </li></ul><ul><li>Result types with examples are: </li></ul><ul><li>- Scalar : temperature </li></ul><ul><li>- Vector : displacement, rotation </li></ul><ul><li>Tensor : stress </li></ul>scalar results example Source: Ansys, Inc. Example: deformation is vector result (translation in X,Y,Z direction) placed on nodes.
  9. 9. Visualization of large FEM models <ul><li>Typical FEA process: </li></ul><ul><li>Import data from CAD software (IGES, CATIA) </li></ul><ul><li>Meshing of the model </li></ul><ul><li>Definition of environment (forces, supports, etc. – for structural analysis) </li></ul><ul><li>Invoking FEA solver: solver calculates the equation set and writes results into result files </li></ul><ul><li>Analysis of the results: result files are analyzed, visualized, etc. </li></ul>Preprocessing phase Solution Postprocessing phase
  10. 10. Visualization of large FEM models <ul><li>Typical FEA process: preprocessing </li></ul>Initial geometry - Input from CAD (Catia) Mesh - Input is meshed into FEM model
  11. 11. Visualization of large FEM models <ul><li>Typical FEA process: preprocessing </li></ul><ul><li>Environment setting </li></ul><ul><li>loads </li></ul><ul><li>fixed supports </li></ul>
  12. 12. Visualization of large FEM models <ul><li>Typical FEA process: postprocessing </li></ul>Visualization of simulation results
  13. 13. Visualization of large FEM models <ul><li>Requirements </li></ul><ul><li>The out-of-core visualization system must offer the same functionality as existing in-core applications: </li></ul><ul><li>- Display and manipulation . Interactive visualization of the model, pick of certain entities of the model (elements/nodes/components), operations on entities – show/hide, transparency, different display modes. </li></ul><ul><li>- Cutting planes . Feature that allows set a cutting plane on the scene is very useful in post processing phase. </li></ul><ul><li>- Selections . Ability to select certain model entities e.g. by user picking or box selection. </li></ul><ul><li>- Results . Display results data on the model, standard post processing features (display elements with certain results, etc.). </li></ul><ul><li>Animations . Results often have more time steps. It is required to create an animation from the steps. </li></ul><ul><li>Model data . Effective data structures for storing of the FEM model data that is larger that main memory. </li></ul>
  14. 14. Visualization of large FEM models Design of out-of-core system - structured into modules for possible combinations of in-core and out-of-core modules (in-code model database may operate with out-of-core visualization)
  15. 15. Visualization of large FEM models <ul><li>Out-of-core model </li></ul><ul><li>stXXl library used for large datasets ( http://stxxl.sourceforge.net/ ) </li></ul><ul><li>Nodes and Elements stored in vector : index = position = node/element numbers </li></ul><ul><li>Renumbering of node/element numbers if necessary (not sequential numbering in input format) </li></ul><ul><li>1 vector for component elements: component object identifies first and last index of element numbers. </li></ul><ul><li>Components have to be filled sequentially </li></ul><ul><li>Native data format for fast reading: </li></ul><ul><ul><li>Each data vector saved to a file (nodes, elements, components) </li></ul></ul><ul><ul><li>Configuration file saved (XML) </li></ul></ul><ul><li>Native format: direct mapping file to stXXl containers </li></ul>Nodes <- 0–n -> Elements <- 0–n -> Component 1 | Component 2 | Component 3
  16. 16. Visualization of large FEM models <ul><li>Out-of-core v isualization - overview </li></ul><ul><li>Preprocessing phase </li></ul><ul><ul><li>model data are imported in cache coherent format (element data contain node data, not only reference) </li></ul></ul><ul><ul><li>3D space is spatially divided into tetrahedron hierarchy </li></ul></ul><ul><ul><li>Elements are assigned to corresponding tetrahedron </li></ul></ul><ul><ul><li>Leaves of multiresolution binary forest are saved – full resolution model </li></ul></ul><ul><ul><li>Tree is built in bottom-up manner (simplification) </li></ul></ul><ul><li>Realtime rendering </li></ul><ul><ul><li>OpenSceneGraph used </li></ul></ul><ul><ul><li>Nodes are read from the files in separate thread </li></ul></ul><ul><ul><li>Attached nodes are processed for current component view setting </li></ul></ul><ul><ul><li>OpenSceneGraph PagedLOD class incorporated for paging </li></ul></ul>
  17. 17. Visualization of large FEM models <ul><li>Out-of-core v isualization – mesh partitioning </li></ul><ul><li>Import model into vector of cache coherent elements: Node data are included in the element object. Element node numbers are usualy ordered -> reading of node properties do not cause much paging. </li></ul><ul><li>ATPtetrahedron: unit of spatial division on 3D space of a model. (Adaptive TetraPuzzles) </li></ul><ul><li>3D space is divided into 6 ATPtetrahedra. Furthermore tetrahedra is splitted into 2 children. </li></ul><ul><li>ATPtetrahedra may contain max. N elements. If N is reached, ATPtetrahedra is splitted and elements are re distributed to child ATPtetrahedra </li></ul><ul><li>ATPtetrahedrons create binary forest covering 3D space of the model </li></ul><ul><li>Leaves of the forest are full resolution model chunks </li></ul><ul><li>Binary forest of ATPtetrahedra remains in main memory, element data are stored out-of-core </li></ul>
  18. 18. Visualization of large FEM models Visualization – mesh partitioning Source: Adaptive Tetra Puzzles (P. Cignoni, F.Ganovelli, E. Gobetti, F. Marton, F. Ponchio, R. Scopingo)
  19. 19. Visualization of large FEM models <ul><li>Visualization – mesh partitioning </li></ul><ul><li>Chunk file format </li></ul><ul><li>Chunk contains: </li></ul><ul><ul><li>Shared array of Nodes </li></ul></ul><ul><ul><li>For each component: array of node numbers = triangle array </li></ul></ul><ul><li>Data stored in the file contain: </li></ul><ul><ul><li>Shared array of nodes (=vertices) </li></ul></ul><ul><ul><li>For each component subgraph with corresponding geometry </li></ul></ul><ul><ul><li>osg::PagedLOD with chunk subgraph, reference to children </li></ul></ul>
  20. 20. Visualization of large FEM models <ul><li>Visualization – mesh partitioning </li></ul><ul><li>Chunk file structure </li></ul><ul><li>One file contains 2 chunk subgraphs </li></ul><ul><li>Leaf chunks are not used, but included in the parent chunk </li></ul><ul><li>osg::PagedLOD node used </li></ul>
  21. 21. Visualization of large FEM models <ul><li>Visualization – simplification </li></ul><ul><li>OpenMesh library incorporated ( www.openmesh.org ) </li></ul><ul><li>osg::Geometry of the same component are merged from both child nodes </li></ul><ul><li>Quadric Error Metrics used. No special settings. For models with results the result values may be additional criteria . </li></ul><ul><li>Border nodes have to be marked as non-collapsible </li></ul>
  22. 22. Visualization of large FEM models <ul><li>Visualization – rendering </li></ul><ul><li>Binary forest hierarchy remains in main memory </li></ul><ul><li>Geometry files are loaded on demand </li></ul><ul><li>Chunk files contain reference to child nodes through osg::PagedLOD </li></ul><ul><li>File loading is processed in different thread </li></ul><ul><li>osg::PagedLOD is used, sprecial subclass is planned </li></ul><ul><li>travers ing the scenegraph top-down to decide which LOD to use. (osg::PageLOD d o es n ot handle list of active nodes - QVDR) </li></ul><ul><li>LOD criteria: number of pixels on screen (of the chunk) </li></ul><ul><li>Chunk on load: traversing the node to set correct display settings (visibility, color, transparency, display mode) </li></ul>
  23. 23. Visualization of large FEM models <ul><li>Visualization – OpenSceneGraph incorporation </li></ul><ul><li>OpenSceneGraph is high performance 3D toolit </li></ul><ul><li>View- frustum culling , occlusion culling, small feature culling </li></ul><ul><li>OpenGL state sorting </li></ul><ul><li>Vertex Buffer Objects (heavily used in the project) </li></ul><ul><li>Further work </li></ul><ul><li>Improvement of the realtime rendering part – osg::PagedLOD subclass </li></ul><ul><li>Implementation of custom file format (OSG + FEM data) </li></ul><ul><li>QEM simplification improvements </li></ul>
  24. 24. Visualization of large FEM models <ul><li>Thank you for your attention ! </li></ul>

×