A Bezier Based Approach to Unstructured Moving Meshes ALADDIN and Sangria Gary Miller David Cardoze Todd Phillips Noel Walkington Mark Olah Miklos Bergou.

Slides:



Advertisements
Similar presentations
Steady-state heat conduction on triangulated planar domain May, 2002
Advertisements

Arc-length computation and arc-length parameterization
Computer Graphics (Spring 2008) COMS 4160, Lecture 6: Curves 1
Cubic Curves CSE167: Computer Graphics Instructor: Steve Rotenberg UCSD, Fall 2006.
A Painting Interface for Interactive Surface Deformations Jason Lawrence Thomas Funkhouser Princeton University.
Jehee Lee Seoul National University
Lecture 29 of 42 Bezier Curves and Splines Wednesday, 02 April 2008
Coupling Continuum Model and Smoothed Particle Hydrodynamics Methods for Reactive Transport Yilin Fang, Timothy D Scheibe and Alexandre M Tartakovsky Pacific.
CS Peter Schröder Subdivision I: The Basic Ideas.
A Bezier Based Approach to Unstructured Moving Meshes ALADDIN and Sangria Gary Miller David Cardoze Todd Phillips Noel Walkington Mark Olah Miklos Bergou.
1cs542g-term Notes. 2 Meshing goals  Robust: doesn’t fail on reasonable geometry  Efficient: as few triangles as possible Easy to refine later.
Coupled Fluid-Structural Solver CFD incompressible flow solver has been coupled with a FEA code to analyze dynamic fluid-structure coupling phenomena CFD.
Numerical geometry of non-rigid shapes
CSE351/ IT351 Modeling and Simulation
Modelling. Outline  Modelling methods  Editing models – adding detail  Polygonal models  Representing curves  Patched surfaces.
Steady Aeroelastic Computations to Predict the Flying Shape of Sails Sriram Antony Jameson Dept. of Aeronautics and Astronautics Stanford University First.
1/36 Gridless Method for Solving Moving Boundary Problems Wang Hong Department of Mathematical Information Technology University of Jyväskyklä
Delaunay Triangulations for 3D Mesh Generation Shang-Hua Teng Department of Computer Science, UIUC Work with: Gary Miller, Dafna Talmor, Noel Walkington.
Lamps of Aladdin1 Moving Mesh Adaptation Techniques Todd Phillips Gary Miller Mark Olah.
MCE 561 Computational Methods in Solid Mechanics
Numerical methods for PDEs PDEs are mathematical models for –Physical Phenomena Heat transfer Wave motion.
Introduction to virtual engineering László Horváth Budapest Tech John von Neumann Faculty of Informatics Institute of Intelligent Engineering.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Curves and Surfaces (cont’) Amy Zhang. Conversion between Representations  Example: Convert a curve from a cubic B-spline curve to the Bézier form:
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
Grid Generation.
CIS V/EE894R/ME894V A Case Study in Computational Science & Engineering HW 5 Repeat the HW associated with the FD LBI except that you will now use.
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Spline curves 1/23 Curves and Surfaces.
1 Data Structures for Scientific Computing Orion Sky Lawlor charm.cs.uiuc.edu 2003/12/17.
Geometric Modeling using Polygonal Meshes Lecture 1: Introduction Hamid Laga Office: South.
Haptics and Virtual Reality
Mesh Generation 58:110 Computer-Aided Engineering Reference: Lecture Notes on Delaunay Mesh Generation, J. Shewchuk (1999)
Discontinuous Galerkin Methods Li, Yang FerienAkademie 2008.
CFD Refinement By: Brian Cowley. Overview 1.Background on CFD 2.How it works 3.CFD research group on campus for which problem exists o Our current techniques.
Stable, Circulation- Preserving, Simplicial Fluids Sharif Elcott, Yiying Tong, Eva Kanso, Peter Schröder, and Mathieu Desbrun.
1 Complex Images k’k’ k”k” k0k0 -k0-k0 branch cut   k 0 pole C1C1 C0C0 from the Sommerfeld identity, the complex exponentials must be a function.
Parametric Surfaces Define points on the surface in terms of two parameters Simplest case: bilinear interpolation s t s x(s,t)x(s,t) P 0,0 P 1,0 P 1,1.
© Fluent Inc. 11/24/2015J1 Fluids Review TRN Overview of CFD Solution Methodologies.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2010 Shewchuck 2D Triangular Meshing.
MECH4450 Introduction to Finite Element Methods Chapter 9 Advanced Topics II - Nonlinear Problems Error and Convergence.
Keyframing and Splines Jehee Lee Seoul National University.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS Representation of Curves and Surfaces Graphics.
04/18/02(c) 2002 University of Wisconsin Last Time Hermite Curves Bezier Curves.
CSCE 441: Keyframe Animation/Smooth Curves (Cont.) Jinxiang Chai.
(c) 2002 University of Wisconsin
CS 450: Computer Graphics PARAMETRIC SPLINES AND SURFACES
Application: Multiresolution Curves Jyun-Ming Chen Spring 2001.
Splines Sang Il Park Sejong University. Particle Motion A curve in 3-dimensional space World coordinates.
MECH593 Introduction to Finite Element Methods
1 Data Structures for Scientific Computing Orion Sky Lawlor /04/14.
1 Rocket Science using Charm++ at CSAR Orion Sky Lawlor 2003/10/21.
Foundations of Computer Graphics (Spring 2012) CS 184, Lecture 12: Curves 1
CDS 301 Fall, 2008 Domain-Modeling Techniques Chap. 8 November 04, 2008 Jie Zhang Copyright ©
A Fully Conservative 2D Model over Evolving Geometries Ricardo Canelas Master degree student IST Teton Dam 1976.
CS274 Spring 01 Lecture 8 Copyright © Mark Meyer Lecture VIII Deformable Bodies CS274: Computer Animation and Simulation.
1 Copyright by PZ Bar-Yoseph © Finite Element Methods in Engineering Winter Semester Lecture 7.
Processing Images and Video for An Impressionist Effect Automatic production of “painterly” animations from video clips. Extending existing algorithms.
Computational Fluid Dynamics Lecture II Numerical Methods and Criteria for CFD Dr. Ugur GUVEN Professor of Aerospace Engineering.
Introduction to Parametric Curve and Surface Modeling.
Introduction to the Finite Element Method
Data Structures for Efficient and Integrated Simulation of Multi-Physics Processes in Complex Geometries A.Smirnov MulPhys LLC github/mulphys
Morphing and Shape Processing
Constructing Objects in Computer Graphics By Andries van Dam©
CSE 167 [Win 17], Lecture 9: Curves 1 Ravi Ramamoorthi
FEA Introduction.
© University of Wisconsin, CS559 Fall 2004
© University of Wisconsin, CS559 Spring 2004
GENERAL VIEW OF KRATOS MULTIPHYSICS
Fast Refrigerant Property Calculations
Introduction to Parametric Curve and Surface Modeling
Presentation transcript:

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

Motivation for Meshing 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

Mesh Example Linear Triangular Mesh, Unstructured

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: Many elements required for accuracy

Lagrangian Framework Elements themselves move over time, boundaries are “real” and exist in the geometry Problems As mesh moves elements deform Elements may be added and removed over time Advantages Since boundaries lie in geometry, they are more accurate Requires fewer 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 is a polynomial curve, parameterized over u=[0,1] A Bezier curve of degree n is determined by n+1 control values, p 0 …p n+1 We use Quadratic Bezier Curves (3 control points) Benefits: 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 We use Quadratic BSplines which interface naturally with our Quadratic Bezier Edges

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, of high quality; well sized and well shaped Remember that functions are only approximations, so we must constantly strive to keep errors small

Delaunay Triangulation Examine circumcircle of each triangle Triangle is Delaunay if no other points are within circle Delaunay Meshes maximize the minimum angle Small angles are bad because they increase interpolation error Edge Flip

Mesh Quality High Quality mesh ensures low interpolation error Mesh size (Number of Elements) Mesh grading (Avoid drastic element size changes) Element Quality (Avoid large interpolation errors) –Linear triangles must not have small angles –Higher-Order Quality via edge smoothing

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

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

Cleaning Process: Step 3 Mesh 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 4 Mesh Refinement Identify poorly sized triangles – Too big Identify poor logical triangles – Small angles Use Rupert Refinement; insert circumcenters of logical triangles, then flip out to Delaunay Expected constant number of edge flips

Overview of Operation Project functions onto mesh’s basis Move mesh discretely according to velocity function Clean mesh –Edge Flips –Smoothing –Coarsening –Refinement Send functions to solver, receive new functions, and repeat

Moving Mesh Example: Our Prototype

My Research: Optimizing Implementation Original mesh implementation done in Ruby Advantages of Ruby –Ruby is flexible like Perl, object oriented like Java, and can be used functionally like ML –Easy to evaluate new techniques and algorithms –Garbage collection Disadvantages of Ruby –Garbage collection! –Difficult to control heap usage –Slow control structures (for_each) –Primitives are large (float ~ 24 bytes)

Solution: Implement Mesh in C++ Achieve speedups and small memory footprint by: –Efficiently managing heap allocation –Separating data from mesh topology using dictionaries –Reducing dependence on large hash structures –Developing mutable data structures (B-Splines) –Utilize more efficient algorithms Fast linear system solver for spline movement Fibonacci heaps for coarsening

Project Organization DATA TOPOLOGY MESH OPERATORS CLEANER SOLVER C++ TOPOLOGY AND DATA MESH OPERATORS CLEANER SOLVER RUBY COMMON FILE FORMAT

Program Organization SOLVER API SIMULATION CLEANERBEZIER MESHMESH I/OBOUNDARY MESH RUBY WRAPPERS C SOLVERRUBY SOLVERRUBY DEBUGGER CELL COMPLEX CONTROL PTS DATA PTS VEF

Results Achieved memory savings by a factor of 100. Able to practically operate on meshes with more than 300,000 degrees of freedom Achieved move/clean speeds that approach those of production-quality moving meshes Smaller meshes move/clean in “real time” New implementation is flexible and provides easy integration with other programs and languages

28,000 Node Mesh 110,000 Node Mesh