250 likes | 352 Views
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
E N D
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 • Challenges • Cells have a non-linear boundary that changes over time • Discontinuities across boundaries
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
Mesh Examples Linear Triangular Mesh, Unstructured
Mesh Examples Linear Quadrilateral Mesh, Structured
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
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.
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
Moving Mesh Example: Our PrototypeUnstructured Lagrangian Moving Mesh, with Quadratic Bezier Elements
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
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
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
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
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
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
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
Mesh Hierarchy Curved Bezier Mesh Control Mesh Logical Mesh
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
Mesh Quality • Mesh size (Number of Elements) • Mesh grading (Avoid drastic element size changes) • Element Quality (Avoid large interpolation errors)
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
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
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)
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)
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
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