1 / 25

A Bezier Based Approach to Unstructured Moving Meshes

A Bezier Based Approach to Unstructured Moving Meshes. ALADDIN and Sangria Gary Miller David Cardoze Todd Phillips Noel Walkington Mark Olah Miklos Bergou. The Sangria Project. Goal: Simulation of blood flow on a microscopic level Need to solve Navier-Stokes fluid dynamics equations

elan
Download Presentation

A Bezier Based Approach to Unstructured Moving Meshes

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. A Bezier Based Approach to Unstructured Moving Meshes ALADDIN and Sangria Gary Miller David Cardoze Todd Phillips Noel Walkington Mark Olah Miklos Bergou

  2. The Sangria Project • Goal: Simulation of blood flow on a microscopic level • Need to solve Navier-Stokes fluid dynamics equations • Challenges • Cells have a non-linear boundary that changes over time • Discontinuities across boundaries

  3. Problem: Need to keep track of various functions over our domain (Pressure, Temperature, Velocity, etc.) Need to deal with dynamic curved domain Must represent these functions in a small amount of space on a computer Representation must be accurate Representation must be efficient for numerically solving PDE’s Solution: Use a Mesh Divide domain into simple geometric elements Define a finite set of basis functions on these elements Approximate function as a linear combination of basis functions Only need to store scalar coefficients on nodes to represent function Motivation for Meshing

  4. Mesh Examples Linear Triangular Mesh, Unstructured

  5. Mesh Examples Linear Quadrilateral Mesh, Structured

  6. Moving Meshes • To simulate blood flow our mesh needs to be able to keep track of cell boundaries and fluid as they move in time. • Essentially, two approaches • Eulerian • Lagrangian

  7. Eulerian Framework • Domain is statically meshed and used throughout the simulation • Boundaries and blood cell locations are simply functions defined on the domain • Advantage: Geometry is simple, static mesh does not move or deform • Disadvantage: Boundaries are only approximations • Disadvantage: More work to solve equations each time step.

  8. Lagrangian Framework • Elements themselves move over time, boundaries are “real” and exist in the geometry • Advantages • Since boundaries lie in geometry, they are more accurate • Less equations to solve • Problems • As mesh moves elements deform • Elements may be added and removed over time

  9. Moving Mesh Example: Our PrototypeUnstructured Lagrangian Moving Mesh, with Quadratic Bezier Elements

  10. What Type of Elements? • Linear Triangles? • Very easy to represent (set of 3 points) • Very easy to deal with geometrically • Quality metrics well understood • No small angles implies good linear element • NOT good at approximating curved boundaries or domains • NOT good at approximating non-linear motion

  11. Advantages of Curved Elements • Better approximation of curved domain boundaries and curved boundaries within the mesh • Better approximation of non-linear motion in a moving mesh

  12. Bezier Curves • A Bezier curve of degree n is determined by n+1 control values, p0 …pn+1 • A Bezier curve of degree n can be represented as a linear combination of n+1 basis polynomials • For Quadratic Bezier curves this takes the form: B(t) =(1-t)2p0 + 2t(1-t)p1+ t2p2

  13. Why Use Bezier Curves? • Easy evaluation since they are polynomials • Easy subdivision via the deCasteljau algorithm • End point values are interpolated along curves • Curve lies within the convex hull of its control points

  14. Bezier Triangles • Triangle made from 3 Bezier edges • Defined by set of 6 control points • Consists of 4 underlying linear triangles, called the control mesh

  15. BSplines for Boundaries • BSplines are piecewise Bezier curves • They maintain an additional condition of continuity along the curve • Use Quadratic BSplines to represent boundaries in the mesh

  16. Mesh Implementation • Unstructured mesh where elements consist of Bezier Edges and Bezier Triangles • BSplines used for boundaries • Uses Lagrangian framework, so elements of mesh move over time • Mesh moves in discrete time steps based on velocity field given by Navier-Stokes • As mesh moves elements will become deformed, areas in need of detail will change as well • Apply cleaning operations at each time step to keep mesh well sized and well shaped to minimize error

  17. Mesh Hierarchy Curved Bezier Mesh Control Mesh Logical Mesh

  18. Delaunay Triangulation • Examine circumcenter of each triangle • Delaunay if circle’s center is within triangle • Delaunay Meshes maximize the minimum angle • Small angles are bad because they increase interpolation error

  19. Mesh Quality • Mesh size (Number of Elements) • Mesh grading (Avoid drastic element size changes) • Element Quality (Avoid large interpolation errors)

  20. Bezier Triangle Quality • Linear triangles must not have small angles • Delaunay property keeps quality logical mesh • Higher-Order Quality • Quality of triangles in Control Mesh affect quality of curved triangle. • Edge Smoothing keeps quality control mesh

  21. Cleaning Process: Step 1Edge Flips to Maintain Delaunay • A quadratic edge flip is implemented as four edge flips in the control mesh • Localized operation (2 Triangles) • Edge flips alone can ensure Delaunay

  22. Cleaning Process: Step 2Edge Smoothing for High-Order Quality • Identify overly curved triangles, smooth edge and re interpolate • Keeps control mesh well shaped • Also localized operation (2 Triangles)

  23. Cleaning Process: Step 3Mesh Coarsening • Given a sizing function on mesh, determine areas that have too many small triangles • Coarsen mesh by using edge flips and vertex removal • Keeps the number of mesh elements low • Local operation (expected num. of triangles <=6)

  24. Cleaning Process: Step 4Mesh Refinement • Identify poorly sized triangles • Identify poor logical triangles • Cases where edge flips produce too much interpolation error • Use Rupert Refinement to insert circumcenters of logical triangles

  25. Overview • Project functions onto mesh’s basis • Move mesh linearly according to velocity function • Clean mesh • Edge Flips • Smoothing • Coarsening • Refinement • Send functions to solver, receive new functions, and repeat

More Related