advection part 2
Download
Skip this Video
Download Presentation
Advection (Part 2)

Loading in 2 Seconds...

play fullscreen
1 / 43

Advection (Part 2) - PowerPoint PPT Presentation


  • 134 Views
  • Uploaded on

Advection (Part 2). Hank Childs, University of Oregon. October 18 th , 2013. Announcements. Bonus OH Mon 1-2 Quiz on Weds Project #4 is out, due Mon. Today’s lecture: Review of advection Overview of project 4 More particle advection usages.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Advection (Part 2)' - obert


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
advection part 2

Advection (Part 2)

Hank Childs, University of Oregon

October 18th,2013

announcements
Announcements
  • Bonus OH Mon 1-2
  • Quiz on Weds
  • Project #4 is out, due Mon.
  • Today’s lecture:
    • Review of advection
    • Overview of project 4
    • More particle advection usages
lerping vectors
LERPing vectors

X = B-A

A

B

}

t

X

A

A+t*X

  • LERP = Linear Interpolate
  • Goal: interpolate vector between A and B.
  • Consider vector X, where X = B-A
  • A + t*(B-A) = A+t*X
  • Takeaway:
    • you can LERP the components individually
    • the above provides motivation for why this works
overview of advection process
Overview of advection process
  • Place a massless particle at a seed location
  • Displace the particle according to the vector field
  • Result is an “integral curve” corresponding to the trajectory the particle travels
  • Math gets tricky
formal definition for p article advection
Formal definition for particle advection
  • Output is an integral curve, S, which follows trajectory of the advection
  • S(t) = position of curve at time t
    • S(t0) = p0
      • t0: initial time
      • p0: initial position
    • S’(t) = v(t, S(t))
      • v(t, p): velocity at time t and position p
      • S’(t): derivative of the integral curve at time t

This is an ordinary differential equation (ODE).

the integral curve for particle advection is calculated iteratively
The integral curve for particle advection is calculated iteratively

S(t0) = p0

while (ShouldContinue())

{

S(ti) = AdvanceStep(S(t(i-1))

}

ShouldContinue(): keep stepping as long as it returns true

How to do an advance?

advancestep goal to calculate s i from s i 1
AdvanceStep goal: to calculate Si from S(i-1)

S0

S1 = AdvanceStep(S0)

S4 = AdvanceStep(S3)

S5= AdvanceStep(S4)

S2 = AdvanceStep(S1)

S3= AdvanceStep(S2)

S1

S3

S4

S2

S5

This picture is misleading:

steps are typically much smaller.

advancestep overview
AdvanceStep Overview
  • Think of AdvanceStep as a function:
    • Input arguments:
      • S(i-1): Position, time
    • Output arguments:
      • Si: New position, new time (later than input time)
    • Optional input arguments:
      • More parameters to control the stepping process.
advancestep overview1
AdvanceStep Overview
  • Different numerical methods for implementing AdvanceStep:
    • Simplest version: Euler step
    • Most common: Runge-Kutta-4 (RK4)
    • Several others as well
euler method
Euler Method
  • Most basic method for solving an ODE
  • Idea:
    • First, choose step size: h.
    • Second,AdvanceStep(pi, ti) returns:
      • New position: pi+1 = pi+h*v(ti, pi)
      • New time: ti+1 = ti+h
quiz time euler method
Quiz Time: Euler Method
  • Euler Method:
    • New position: pi+1 = pi+h*v(ti, pi)
    • New time: ti+1 = ti+h
  • Let h=0.01s
  • Let p0 = (1,2,1)
  • Let t0 = 0s
  • Let v(p0, t0) = (-1, -2, -1)
  • What is (p1, t1) if you are using an Euler method?

Answer: ((0.99, 1.98, 0.99), 0.01)

runge kutta method rk4
Runge-Kutta Method (RK4)
  • Most common method for solving an ODE
  • Definition:
    • First, choose step size, h.
    • Second,AdvanceStep(pi, ti) returns:
      • New position: pi+1 = pi+(1/6)*h*(k1+2k2+2k3+k4)
        • k1 = v(ti, pi)
        • k2 = v(ti + h/2, pi + h/2*k1)
        • k3= v(ti + h/2, pi + h/2*k2)
        • k4= v(ti + h, pi + h*k3)
      • New time: ti+1 = ti+h
physical interpretation of rk4
Physical interpretation of RK4
  • New position: pi+1 = pi+(1/6)*h*(k1+2k2+2k3+k4)
    • k1 = v(ti, pi)
    • k2 = v(ti + h/2, pi + h/2*k1)
    • k3= v(ti + h/2, pi + h/2*k2)
    • k4= v(ti + h, pi + h*k3)

v(ti+h, pi+h*k3) = k4

pi

pi+ h/2*k2

pi+ h*k3

v(ti+h/2, pi+h/2*k2) = k3

v(ti, pi) = k1

pi+ h/2*k1

v(ti+h/2, pi+h/2*k1) = k2

Evaluate 4 velocities, use combination

to calculate pi+1

reminder
Reminder
  • Omitting review of material in Lecture #5 on errors in advection step.
termination causes
Termination causes

Quiz: which one is time and which one is distance?

  • Criteria reached
    • Time
    • Distance
    • Number of steps
      • Same as time?
    • Other advanced criteria, based on particle advection purpose
  • Can’t meet criteria
    • Exit the volume
    • Advect into a sink

Distance

Time

steady versus unsteady state
Steady versus Unsteady State
  • Unsteady state: the velocity field evolves over time
  • Steady state: the velocity field has reached steady state and remains unchanged as time evolves
most common particle advection technique streamlines and pathlines
Most common particle advection technique: streamlines and pathlines
  • Idea: plot the entire trajectory of the particle all at one time.

Streamlines in the “fish tank”

streamline vs pathlines
Streamline vsPathlines
  • Streamlines: plot trajectory of a particle from a steady state field
  • Pathlines: plot trajectory of a particle from an unsteady state field
  • Quiz: most common configuration?
    • Neither!!
    • Pretend an unsteady state field is actually steady state and plot streamlines from one moment in time.
  • Quiz: why would anyone want to do this?
    • (answer: performance)
lots more to talk about
Lots more to talk about
  • How do we pragmatically deal with unsteady state flow (velocities that change over time)?
  • More operations based on particle advection
  • Stability of results
    • You all will figure this out (project 5)
dealing with steady state velocities
Dealing with steady state velocities
  • Euler Method (unsteady):
    • New position: pi+1 = pi+h*v(ti, pi)
    • New time: ti+1 = ti+h
  • Euler Method (steady):
    • New position: pi+1 = pi+h*v(t0, pi)
    • New time: ti+1 = ti+h
unsteady vs steady rk4
Unsteady vs Steady: RK4
  • Unsteady:
    • New position: pi+1 = pi+(1/6)*h*(k1+2k2+2k3+k4)
      • k1 = v(ti, pi)
      • k2 = v(ti + h/2, pi + h/2*k1)
      • k3= v(ti + h/2, pi + h/2*k2)
      • k4= v(ti + h, pi + h*k3)
      • New time: ti+1 = ti+h
unsteady vs steady rk41
Unsteady vs Steady: RK4
  • Steady:
    • New position: pi+1 = pi+(1/6)*h*(k1+2k2+2k3+k4)
      • k1 = v(t0, pi)
      • k2 = v(t0, pi + h/2*k1)
      • k3= v(t0, pi + h/2*k2)
      • k4= v(t0, pi + h*k3)
      • New time: ti+1 = ti+h
project 4
Project 4
  • Assigned October 16th, prompt online
  • Due October 21st, midnight ( October 22nd, 6am)
  • Worth 7% of your grade
  • Provide:
    • Code skeleton online
    • Correct answers provided
  • You send me:
    • source code
    • screenshot with:
      • text output on screen
      • image of results
project 4 in a nutshell
Project 4 in a nutshell
  • Do some vector LERPing
  • Do particle advection with Euler steps
  • Examine results
project 4 in a nutshell1
Project 4 in a nutshell
  • Implement 3 methods:
    • EvaluateVectorFieldAtLocation
      • LERP vector field. (Reuse code from before, but now multiple component)
    • AdvectWithEulerStep
      • You know how to do this
    • CalculateArcLength
      • What is the total length of the resulting trajectory?
project 5 in a nutshell
Project 5 in a nutshell
  • Implement Runge-Kutta 4
  • Assess the quality of RK4 vs Euler
  • Open ended project
    • I don’t tell you how to do this assessment.
      • You will need to figure it out.
      • Multiple right answers
  • Deliverable: short report (~1 page) describing your conclusions and methodology.
    • Pretend that your boss wants to know which method to use and you have to convince her which one is the best and why.
  • Not everyone will receive full credit.
additional particle advection techniques
Additional Particle Advection Techniques
  • This content courtesy of Christoph Garth, Kaiserslautern University.
streamline pathline timeline streakline
Streamline, Pathline,Timeline, Streakline,
  • Streamline: steady state velocity, plot trajectory of a curve
  • Pathline: unsteady state velocity, plot trajectory of a curve
  • Timeline: start with a line, advect that line and plot the line’s position at some future time
time surface
Time Surface
  • Advect a surface and see where it goes
    • “A sheet blowing in the wind”
streamline pathline timeline streakline1
Streamline, Pathline,Timeline, Streakline
  • Streamline: steady state velocity, plot trajectory of a curve
  • Pathline: unsteady state velocity, plot trajectory of a curve
  • Timeline: start with a line, advect that line and plot the line’s position at some future time
  • Streakline: unsteady state, introduce new particles at a location continuously
streaklines
Streaklines

Will do an example on the board

slide35
Stream surface:
    • Start with a seeding curve
    • Advect the curve to form a surface
slide36

Stream surface:

    • Start with a seeding curve
    • Advect the curve to form a surface
stream surface computation
Stream Surface Computation
  • Skeleton from Integral Curves + Timelines
stream surface computation1
Stream Surface Computation
  • Skeleton from Integral Curves + Timelines
  • Triangulation

Generation of Accurate Integral Surfaces in Time-Dependent Vector Fields. C. Garth, H. Krishnan, X. Tricoche, T. Bobach, K. I. Joy. In IEEE TVCG, 14(6):1404–1411, 2007

stream surface example 2
Stream Surface Example #2

Vortex system behind ellipsoid

lagrangian methods
Lagrangian Methods
  • Visualize manifolds of maximal stretching in a flow, as indicated by dense particles
  • Finite-Time Lyapunov Exponent (FTLE)

www.vacet.org

lagrangian methods1
Lagrangian Methods
  • Visualize manifolds of maximal stretching in a flow, as indicated by dense particles
    • forward in time: FTLE+ indicates divergence
    • Backward in time: FTLE+ indicates convergence

www.vacet.org

ad