1 / 34

An All-Hex Meshing Strategy for Bifurcation Geometries in Vascular Flow Simulation

tanek
Download Presentation

An All-Hex Meshing Strategy for Bifurcation Geometries in Vascular Flow Simulation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. 1 An All-Hex Meshing Strategy for Bifurcation Geometries in Vascular Flow Simulation Chaman Singh Verma* Mathematics and Computer Science Division Argonne National Laboratory Paul F. Fischer Argonne National Laboratory Frank Loth University of Illinois, Chicago Seung E. Lee Massachusetts Institute of Technology *Supported by NIH RO1

    2. 2 Outline: Introduction Basic Idea Methodology Performance Issues Results

    3. 3 Bifurcation Geometry:

    4. 4 Why all hex ? Targeting spectral element solution of vascular flows – efficient at transitional Reynolds numbers* Fast high-order operator evaluation ( O(N4) v/s O(N6) ) relies on local tensor-product forms ? hexahedral elements Spectral element meshes require orders of magnitude fewer elements than FEM meshes N3 points per element, where N = [8-16] Typical SEM meshes for bifurcation geometries require 1000 – 4000 elements, where FEM may require > 100000 elements.

    5. 5 Limitations of Existing Approaches: Plastering ( Steven Owen etc. ) Based on Advancing Front Technique (AFT). Quality may suffer in the regions where front collide. Whisker Weaving ( Timorthy J. Tautges) Also Based on AFT. Requires certain constraints on the surface mesh. Medial Axis Domain Decomposition: Implementation of MAD in 3D is difficult and is very sensitive to the boundary shape. Octree May have poor quality near the boundary. These methods are designed for fine granularity.

    6. 6 Our Goal: Not trying to solve the open all–hex meshing problem. Instead, we are developing domain-specific (vascular) mesh generation software. Our approach is based on sweeping:

    7. 7 Challenges for Sweeping Vascular Geometries Curvy and variable cross-sections. Bifurcations Surface descriptions come from medical images. 1000s of geometric models of identical topology. Need fast, accurate and reliable software.

    8. 8 Our Approach: Conduction Based Sweeping (CBS)

    9. 9 Advantages: CBS Approach Very easy to implement with reusable software components( > 90% reuse ) No intersection checks are required. Produce very high quality mesh. Mesh spacing and number of elements can be controlled. Numerically robust.

    10. 10 Weakness of CBS Method: Designed specifically for tubes and bifurcation geometries. Suitable for those applications where end cross sections are allowed to modify or cut.

    11. 11 Bifurcation Mesh Generation Procedure

    12. 12 Step 1: Create Unstructured Volume Mesh Use Advancing Front Technique to generate tetrahedral volume mesh for conduction problems. Quality of the volume mesh is not very important, therefore, any reasonable mesh generator can be used. Assign boundary markers on the surface vertices ( inflow, outflow, and surface ).

    13. 13 Step 2: Solve Three Heat Conduction Problems

    14. 14 Bifurcation: Domain Decomposition

    15. 15 Step 3: Create Principal Chips:

    16. 16 Step 3: Create Principal Chips:

    17. 17 Principal Chips: Uniqueness of common intersection can be proved in 2D case. In 3D, although not rigorously proven, experiments show that up-to machine precision, intersection take place along a common line. Exact intersection is not required for the mesh generation.

    18. 18 Step 4: Create Branch Chips:

    19. 19 Step 5: Split Chip Creation: Split Chips are created till the angle between left and right chip is less than 10 degrees. After split chip, simple chips are created till the end of the branch.

    20. 20 Topology of Chip:

    21. 21 Pseudo-Algorithm for Chip construction: Algorithm: ConstructSplitChip ( tetmesh, branchID,  isoVal, center0)              //********************************************************************************              // Input Parameters:              // branchID   :  The branch in which which Split chips are created.              // IsoVal       :   Temperature value for which the right surface of the chip is constructed.              //                       The left side depends on the location of the right ( because of alignment).              // center0      :   Approximate center of the previously generated chip.              //*********************************************************************************              bA = ( branchID+0)%3              bB  = ( branchID+1)%3              bC  = ( branchID+2)%3                        //  Search for right half of the chip separated by distance "width"               while(1) {                      rightmesh  = getSurface( tetmesh, isoval, bA)                      cutmesh    = getCutSurface( rightmesh, 0.0, bC)  // Implicit Cut the surface                      interface    = getInterface(cutmesh)                      // Extract the Cut boundary contour                      center1      = getCenter( cutmesh)                        // Get the center of interface contour                      if( dist( center0, center1) > width) break;                }                            discard( rightmesh, -1)                         // Remove the left portion of the righmesh.                addInterface( chip,  interface)               // Add the interface                addSurface( chip, rightmesh, 1)            // Remaining mesh constitutes right half of the chip.                // Create left half of the chip, such that interface align together.                isovalB  = getIsoValue( center1, bB)                         leftmesh = getSurface( tetmesh, isoValB, bB)                cutmesh = getCutSurface( leftmesh, 0.0, bC)                discard( leftmesh, 1)                            // Remove the right side of the leftmesh.                addSurface( chip, leftmesh, -1)          // Remaining mesh constitutes left half of the chip. Algorithm : ConstructSimpleChip( tetmesh, branchID, isoVal, center0)                           trimesh = getSurface( tetmesh, isoVal, branchID)                           addSurface( chip, trimesh)

    22. 22 Step 5: Apply Mesh Templates:

    23. 23 Step 6: Projecting Quad-Mesh On Chip New vertices are mapped onto the chip’s triangulated surfaces using nearest Euclidian neighbor. Triangulated surface and the boundary curves must be properly sampled. Taubin Smoothing is applied on both the triangulated and Quad mesh in order to remove noise.

    24. 24 Step 7: Volume Mesh: Take two adjacent chips and create Hex element by joining two Quad elements. Ensure the positivity of each hex-element by calculating the Jacobian at each eight nodes.

    25. 25 Step 8: Mesh Optimization and Quality Checks: The quality of final mesh further improved by mesh optimization software Mesquite Lori Freitag, LLNL, Pat Knupp, Sandia,…,Todd Munson, ANL Quality Checks: Min-Max Aspect Ratio Min-Max Volume Worst Condition Number

    26. 26 Results:

    27. 27 Thanks

    28. 28 Surface Reconstruction:

    29. 29 Performance Bottlenecks: From image acquisition to the final volume mesh generation, principal bottlenecks are: ( in decreasing order ) Image Segmentation Surface Reconstruction. Solving Heat Conduction Problems. Isosurface Extraction.

    30. 30 Image Segmentation: Images from Ultrasound may be fuzzy compared to CT-SCAN or MRI. In the case of free hand US, the arbitrary orientation may produce additional noise in the dataset. Full automation is difficult and expert intervention often provides the best solution.

    31. 31 Further Information: Surface Triangulation, Tet Mesh and Hex Mesh for three different levels are available for free download from BioMesh Project site: http://www-unix.mcs.anl.gov/~csverma/BioMesh/biomesh.html For further information, contact. C.S. Verma or Paul Fischer Mathematics and Computer Science Division, Argonne National Laboratory, Argonne, IL 60439,

    32. 32 Performance Results:

    33. 33 Performance Improvement: (I) A Coarse Grid Solver: Marching Tetrahedra generate too many triangles that are needed to solve the heat conduction problems. We are not concerned with accuracy of heat conduction but in satisfying non-intersection and orthogonality criteria. A Coarse grid obtained from Independent Sets of Mesh Graph nodes is used to generate volume mesh.

    34. 34 Performance Improvement: (II) Fast Iso-Surface Extraction: At each vertex, three scalar values corresponding to three solutions are stored. Sorted arrays are used to search for the Active Mesh Entities for isosurfaces.

More Related