Differential Equations

Differential Equations

Differential Equations • Overview of differential equation • Initial value problem • Explicit numeric methods • Implicit numeric methods • Modular implementation Physics-based simulation • It’s an algorithm that produces a sequence of states over time under the laws of physics • What is a state? Physics-based simulation xi xi+1 xi xi+1 = xi +∆x ∆x Physics-based simulation xi Newtonian laws gravity wind gust xi+1 elastic force . integrator xi xi+1 = xi +∆x ∆x Differential equations • What is a differential equation? • It describes the relation between an unknown function and its derivatives • Ordinary differential equation (ODE) • is the relation that contains functions of only one independent variable and its derivatives Ordinary differential equations An ODE is an equality equation involving a function and its derivatives known function x˙(t)=f(x(t)) time derivative of the unknown function that unknown function evaluates the state given time What does it mean to “solve” an ODE? Symbolic solutions • Standard introductory differential equation courses focus on finding solutions analytically • Linear ODEs can be solved by integral transforms • Use DSolve[eqn,x,t] in Mathematica Differential equation: x˙(t)= kx(t) − kt Solution: x(t)=e− Numerical solutions • In this class, we will be concerned with numerical solutions • Derivative function f is regarded as a black box • Given a numerical value x and t, the black box will return the time derivative of x Physics-based simulation xi Newtonian laws gravity wind gust xi+1 elastic force . integrator xi xi+1 = xi +∆x ∆x • Overview of differential equation • Initial value problem • Explicit numeric methods • Implicit numeric methods • Modular implementation Initial value problems In a canonical initial value problem, the behavior of the system is described by an ODE and its initial condition: x˙ = f(x, t) x(t0)=x0 To solve x(t) numerically, we start out from x0 and follow the changes defined by f thereafter Vector field x2 The differential equation can be visualized as a vector field x˙ = f(x,t) x1 Vector field x2 The differential equation can be visualized as a vector field x˙ = f(x,t) How does the vector field look like if f depends directly on time? x1 Integral curves f(x,t)dt !t0 f(x,t) Physics-based simulation xi Newtonian laws gravity wind gust xi+1 elastic force . integrator xi xi+1 = xi +∆x ∆x • Overview of differential equation • Initial value problem • Explicit numeric methods • Implicit numeric methods • Modular implementation Explicit Euler method How do we get to the next state from the current state? x(t0 + h)=x0 + hx˙ (t0) x(t0 + h) Instead of following real integral x(t0) p curve, p follows a polygonal path Discrete time step h determines the errors Problems of Euler method Inaccuracy The circle turns into a spiral no matter how small the step size is Problems of Euler method Instability x˙ = −kx −kt Symbolic solution: x(t)=e Oscillation: Divergence: How small the step size has to be? Accuracy of Euler method • At each step, x(t) can be written in the form of TaylorTaylor series series: is a representation of a function as an infinite sum of termsh2 calculatedh3 usinghn ∂thenx x(t + h)=x(t )+hx˙ (t )+ x¨(t )+ x(3)(t )+... 0 derivatives0 0at a2! particular0 3! point0 n! ∂tn • What is the order of the error term in Euler method? • The cost per step is determined by the number of evaluations per step Stability of Euler method • Assume the derivative function is linear d x = Ax dt • Look at x parallel to the largest eigenvector of A d x = λx dt • Note that eigenvalue λ can be complex The test equation • Test equation advances x by xn+1 = xn + hλxn • Solving gives n xn =(1+hλ) x0 • Condition of stability |1+hλ|≤1 Stability region • Plot all the values of hλ on the complex plane where Euler method is stable Real eigenvalue • If eigenvalue is real and negative, what kind of the motion does x correspond to? • a damping motion smoothly coming to a halt • The threshold of time step 2 h ≤ |λ| • What about the imaginary axis? Imaginary eigenvalue • If eigenvalue is pure imaginary, Euler method is unconditionally unstable • What motion does x look like if the eigenvalue is pure imaginary? • an oscillatory or circular motion • We need to look at other methods The midpoint method 1. Compute an Euler step ∆x = hf(x(t0)) 2. Evaluate f at the midpoint ∆x fmid = f(x(t0)+ ) 2 3. Take a step using fmid x(t0 + h)=x(t0)+hfmid h x(t + h)=x0 + hf(x0 + f(x0)) 2 Accuracy of midpoint Prove that the midpoint method is correct within O(h3) h x(t + h)=x0 + hf(x0 + f(x0)) 2 h ∆x = f(x0) 2 ∂f(x0) 2 f(x0 +∆x)=f(x0)+∆x + O(x ) ∂x 2 h ∂f(x0) 2 x(t + h)=x0 + hf(x0)+ f(x0) + hO(x ) 2 ∂x 2 h 3 x(t + h)=x0 + hx˙ 0 + x¨0 + O(h ) 2 Stability region 1 xn+1 = xn + hλxn+ 1 = xn + hλ(xn + hλxn) 2 2 1 2 xn+1 = xn(1 + hλ + (hλ) ) 2 hλ = x + iy 1 x 1 x2 − y2 + + ≤ 1 !" 0 # " y # 2 " 2xy #! ! ! ! ! ! ! 2 2 1+ + x −y x 2 ≤ 1 !" y + xy #! ! ! ! ! ! ! Stability of midpoint • Midpoint method has larger stability region, but still unstable on the imaginary axis Runge-Kutta method • Runge-Kutta is a numeric method of integrating ODEs by evaluating the derivatives at a few locations to cancel out lower-order error terms • Also an explicit method: xn+1 is an explicit function of xn Runge-Kutta method • q-stage p-order Runge-Kutta evaluates the derivative function q times in each iteration and its approximation of the next state is correct within O(hp+1) • What order of Runge-Kutta does midpoint method correspond to? 4-stage 4th order Runge-Kutta k1 = hf(x0,t0) x k1 h k2 = hf( 0 + 2 ,t0 + 2 ) x k2 h k3 = hf( 0 + 2 ,t0 + 2 ) k4 = hf(x0 + k3,t0 + h) x x 1 1 1 1 (t0 + h)= 0 + 6 k1 + 3 k2 + 3 k3 + 6 k4 x0 1. f(x0,t0) k1 h 2. f(x0 + ,t0 + ) 2 2 k2 h x 3. f(x0 + ,t0 + ) x t h 2 2 ( 0 + ) 4. x t f( 0 + k3,t0 + h) High order Runge-Kutta • RK3 and up are include part of the imaginary axis Stage vs. order p 1 2 3 4 5 6 7 8 9 10 qmin(p) 1 2 3 4 6 7 9 11 12-17 13-17 The minimum number of stages necessary for an explicit method to attain order p is still an open problem Why is fourth order the most popular Runge Kutta method? Adaptive step size • Ideally, we want to choose h as large as possible, but not so large as to give us big error or instability • We can vary h as we march forward in time • Step doubling • Embedding estimate • Variable step, variable order Step doubling Estimate x a by taking a full Euler step xa = x0 + hf(x0,t0) e Estimate x b by taking two half Euler steps h xtemp = x0 + f(x0,t0) 2 h h xb = xtemp + f(xtemp,t0 + ) 2 2 2 e = |xa − xb| is bound by O(h ) ! 1 ! 2 h Given error tolerance , what is the optimal step size? !e" Embedding estimate • Also called Runge-Kutta-Fehlberg • Compare two estimates of x(t0 + h) • Fifth order Runge-Kutta with 6 stages • Forth order Runge-Kutta with 6 stages Variable step, variable order • Change between methods of different order as well as step based on obtained error estimates • These methods are currently the last work in numerical integration Problems of explicit methods • Do not work well with stiff ODEs • Simulation blows up if the step size is too big • Simulation progresses slowly if the step size is too small Example: a bead on the wire y(t) Y(t)=(x(t),y(t)) − Y˙ d x(t) x(t) = = − x(t) dt ! y(t) " ! ky(t) " Explicit Euler’s method: x(t) −x(t) Ynew = Y0 + hY˙ (t0)= + h ! y(t) " ! −ky(t) " (1 − h)x(t) Ynew = ! (1 − kh)y(t) " Stiff equations • Stiffness constant: k • Step size is limited by the largest k • Systems that has some big k’s mixed in are called “stiff system” • Overview of differential equation • Initial value problem • Explicit numeric methods • Implicit numeric methods • Modular implementation Implicit methods Explicit Euler: Ynew = Y0 + hf(Y0) Implicit Euler: Ynew = Y0 + hf(Ynew) Solving for Y new such that !f , at time t 0 + h , points directly back at !!Y0 ! Implicit methods Our goal is to solve for Ynew such that Ynew = Y0 + hf(Ynew) Approximating f(Ynew) by linearizing f(Y) ! f(Ynew)=f(Y0)+∆Yf (Y0) , where ∆Y = Ynew − Y0 ! Ynew = Y0 + hf(Y0)+h∆Yf (Y0) f(Y,t)=Y˙ (t) −1 Y 1 I − ! Y Y ⇥f ∆ = f ( 0) f( 0) f(Y,t) = !h " ⇥Y Example: A bead on the wire Apply the implicit Euler method to the bead-on-wire example −1 1 ! ∆Y = I − f (Y0) f(Y0) !h " −x(t) f(Y(t)) = ! −ky(t) " ! ∂f(Y(t)) −10 f (Y(t)) = = ∂Y ! 0 −k " − 1+h 0 1 − ∆Y = h x0 1+kh − ! 0 h " ! ky0 " h 0 − = h+1 x0 0 h − ! 1+kh "! ky0 " h h+1 x0 = − h ! 1+kh ky0 " Example: A bead on the wire What is the largest step size the implicit Euler method can take? h h+1 x0 lim ∆Y = lim − h h→∞ h→∞ ! 1+kh ky0 " x0 x0 = − 1 = − ! k ky0 " ! y0 " Ynew = Y0 +(−Y0)=0 Stability of implicit Euler • Test equation shows stable when |1 − hλ|≥1 • How does the stability region look like? Problems of implicit Euler • Implicit Euler could be stable even when physics is not! • Implicit Euler damps out motion unrealistically Implicit vs.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    63 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us