Differential Equations

Similar documents
Differential Equations

Physically Based Modeling Differential Equation Basics

Physically Based Modeling: Principles and Practice Differential Equation Basics

CS 450 Numerical Analysis. Chapter 9: Initial Value Problems for Ordinary Differential Equations

Scientific Computing: An Introductory Survey

Lecture Notes to Accompany. Scientific Computing An Introductory Survey. by Michael T. Heath. Chapter 9

Logistic Map, Euler & Runge-Kutta Method and Lotka-Volterra Equations

Review Higher Order methods Multistep methods Summary HIGHER ORDER METHODS. P.V. Johnson. School of Mathematics. Semester

ECE257 Numerical Methods and Scientific Computing. Ordinary Differential Equations

Ordinary differential equation II

NUMERICAL SOLUTION OF ODE IVPs. Overview

What we ll do: Lecture 21. Ordinary Differential Equations (ODEs) Differential Equations. Ordinary Differential Equations

Fourth Order RK-Method

Chapter 11 ORDINARY DIFFERENTIAL EQUATIONS

Ordinary Differential Equations II

Modeling & Simulation 2018 Lecture 12. Simulations

Solving scalar IVP s : Runge-Kutta Methods

Ordinary Differential Equations II

Consistency and Convergence

Numerical Methods - Initial Value Problems for ODEs

Stability regions of Runge-Kutta methods. Stephan Houben Eindhoven University of Technology

Chapter 6 Nonlinear Systems and Phenomena. Friday, November 2, 12

8.1 Introduction. Consider the initial value problem (IVP):

Integration of Ordinary Differential Equations

Ordinary Differential Equations

Numerical Methods for Initial Value Problems; Harmonic Oscillators

Numerical solution of ODEs

Solving Ordinary Differential equations

Numerical Methods for Initial Value Problems; Harmonic Oscillators

Identification Methods for Structural Systems. Prof. Dr. Eleni Chatzi Lecture March, 2016

Ordinary differential equations - Initial value problems

Numerical Methods for Differential Equations

Initial value problems for ordinary differential equations

A Brief Introduction to Numerical Methods for Differential Equations

Mathematics for chemical engineers. Numerical solution of ordinary differential equations

Physics 115/242 Comparison of methods for integrating the simple harmonic oscillator.

Math 660 Lecture 4: FDM for evolutionary equations: ODE solvers

The family of Runge Kutta methods with two intermediate evaluations is defined by

Numerical Methods for the Solution of Differential Equations

Ordinary Differential Equations

ODE Runge-Kutta methods

Ordinary Differential Equations

Lecture 4: Numerical solution of ordinary differential equations

Numerical Differential Equations: IVP

Ordinary Differential Equations I

Solving Ordinary Differential Equations

Math Numerical Analysis Homework #4 Due End of term. y = 2y t 3y2 t 3, 1 t 2, y(1) = 1. n=(b-a)/h+1; % the number of steps we need to take

CS520: numerical ODEs (Ch.2)

Computational Techniques Prof. Dr. Niket Kaisare Department of Chemical Engineering Indian Institute of Technology, Madras

Physically Based Modeling: Principles and Practice Implicit Methods for Differential Equations

Applied Math for Engineers

Numerical Methods for Differential Equations

APPLICATIONS OF FD APPROXIMATIONS FOR SOLVING ORDINARY DIFFERENTIAL EQUATIONS

PowerPoints organized by Dr. Michael R. Gustafson II, Duke University

Numerical Methods for ODEs. Lectures for PSU Summer Programs Xiantao Li

Mini project ODE, TANA22

Chapter 8. Numerical Solution of Ordinary Differential Equations. Module No. 1. Runge-Kutta Methods


Ordinary Differential Equations I

Chapter 6 - Ordinary Differential Equations

Finite Difference and Finite Element Methods

4 Stability analysis of finite-difference methods for ODEs

The Chemical Kinetics Time Step a detailed lecture. Andrew Conley ACOM Division

Ordinary Differential Equations (ODEs)

[ ] is a vector of size p.

Fundamentals Physics

Explicit One-Step Methods

Initial value problems for ordinary differential equations

Virtual Reality & Physically-Based Simulation

CDS 101 Precourse Phase Plane Analysis and Stability

Numerical methods for physics simulations.

Solution of ordinary Differential Equations

Graded Project #1. Part 1. Explicit Runge Kutta methods. Goals Differential Equations FMN130 Gustaf Söderlind and Carmen Arévalo

Ordinary Differential Equations

Numerical Methods for Differential Equations

Differential Equations

Worksheet 8 Sample Solutions

Numerical Algorithms for ODEs/DAEs (Transient Analysis)

Scientific Computing with Case Studies SIAM Press, Lecture Notes for Unit V Solution of

Dynamical Systems. August 13, 2013

Lecture V: The game-engine loop & Time Integration

PowerPoints organized by Dr. Michael R. Gustafson II, Duke University

AIMS Exercise Set # 1

AMS 147 Computational Methods and Applications Lecture 09 Copyright by Hongyun Wang, UCSC. Exact value. Effect of round-off error.

PowerPoints organized by Dr. Michael R. Gustafson II, Duke University

Lecture IV: Time Discretization

The Finite Element Method for the Analysis of Non-Linear and Dynamic Systems: Non-Linear Dynamics Part I

Bindel, Fall 2011 Intro to Scientific Computing (CS 3220) Week 12: Monday, Apr 18. HW 7 is posted, and will be due in class on 4/25.

Computational project: Modelling a simple quadrupole mass spectrometer

Ordinary Differential Equations: Initial Value problems (IVP)

Numerical Solutions to Partial Differential Equations

Ordinary Differential Equations

THE TRAPEZOIDAL QUADRATURE RULE

Lecture 5: Single Step Methods

Constrained dynamics

STABILITY. Phase portraits and local stability

Numerical Methods for Ordinary Differential Equations

1 The pendulum equation

A plane autonomous system is a pair of simultaneous first-order differential equations,

FIRST-ORDER ORDINARY DIFFERENTIAL EQUATIONS III: Numerical and More Analytic Methods David Levermore Department of Mathematics University of Maryland

Transcription:

Differential Equations

Overview of differential equation! Initial value problem! Explicit numeric methods! Implicit numeric methods! Modular implementation

Physics-based simulation An algorithm that produces a sequence of states over time under the laws of physics! What is a state?

Physics simulation x i differential equations x i+1 integrator x i x i+1 = x i + 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 ẋ(t) =f(x(t)) time derivative of the unknown function unknown function that 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: ẋ(t) = Solution: x(t) =e kt kx(t)

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 x i differential equations x i+1 integrator x i x i+1 = x i + 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: ẋ = f(x, t) x(t 0 )=x 0 To solve x(t) numerically, we start out from x 0 and follow the changes defined by f thereafter

Vector field x 2 The differential equation can be visualized as a vector field ẋ = f(x,t) x 1

Quiz Which one is the vector field of ẋ = 0.5x?

Vector field x 2 The differential equation can be visualized as a vector field ẋ = f(x,t) How does the vector field look like if f depends directly on time? x 1

Integral curves t 0 f(x,t)dt f(x,t)

Physics-based simulation x i Newtonian laws gravity wind gust x i+1 elastic force.. integrator x x i x i+1 = x i + 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(t 0 + h) x(t 0 ) p x(t 0 + h) =x 0 + hẋ(t 0 ) Instead of following real integral 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 ẋ = kx Symbolic solution: x(t) =e kt Oscillation: x(t) oscillates around equilibrium. Divergence: x(t) eventually goes to infinity (or negative infinity).

Problems of Euler method Instability ẋ = kx Symbolic solution: x(t) =e kt h < 1/k to avoid oscillation

Quiz Instability ẋ = kx Symbolic solution: x(t) =e kt What s the largest time step without divergence?

Quiz Instability ẋ = kx Symbolic solution: x(t) =e kt What s the largest time step without oscillation?

Accuracy of Euler method At each step, x(t) can be written in the form of Taylor series:! is a representation of a function as an infinite sum of terms calculated using! x(t 0 + h) =x(t 0 )+hẋ(t 0 )+ h2 2! ẍ(t 0)+ h3 3! x(3) (t 0 )+... hn the n x derivatives at a particular point n! t n 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!! Look at x parallel to the largest eigenvector of A!! Note that eigenvalue d dt x = Ax d dt x = λx λ can be complex

The test equation Test equation advances x by!! x n+1 = x n + hλx n Solving gives!! x n =(1+hλ) n x 0 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!! h 2 λ 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(t 0 )) 2. Evaluate f at the midpoint f mid = f(x(t 0 )+ x 2 ) 3. Take a step using f mid x(t 0 + h) =x(t 0 )+hf mid x(t + h) =x 0 + hf(x 0 + h 2 f(x 0))

Accuracy of midpoint Prove that the midpoint method has second order accuracy x(t + h) =x 0 + hf(x 0 + h 2 f(x 0)) x = h 2 f(x 0) f(x 0 + x) =f(x 0 )+ x f(x 0) x x(t + h) =x 0 + hf(x 0 )+ h2 2 f(x 0) f(x 0) x x(t + h) =x 0 + hẋ 0 + h2 2 ẍ0 + O(h 3 ) + O(x 2 ) + ho(x 2 )

Stability region x n+1 = x n + hλx n+ 1 2 = x n + hλ(x n + 1 2 hλx n) x n+1 = x n (1 + hλ + 1 2 (hλ)2 ) hλ = x + iy 1 [ 0 ] + [ x y ] + 1 2 [ x 2 y 2 2xy ] 1 [ 1+x + x 2 y 2 2 y + xy ] 1

Stability of midpoint Midpoint method has larger stability region, but still unstable on the imaginary axis

Quiz RK2 RK1 Consider a dynamic system where = 2 i2 What is the largest time step for RK1? What is the largest time step for RK2?

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: x n+1 is an explicit function of x n

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(h p+1 )! What order of Runge-Kutta does midpoint method correspond to?

4-stage 4 th order Runge-Kutta k 1 = hf(x 0,t 0 ) k 2 = hf(x 0 + k 1 2,t 0 + h 2 ) k 3 = hf(x 0 + k 2 2,t 0 + h 2 ) k 4 = hf(x 0 + k 3,t 0 + h) x(t 0 + h) = x 0 + 1 6 k 1 + 1 3 k 2 + 1 3 k 3 + 1 6 k 4 x 1. f(x 0,t 0 ) x 0 2. f(x 0 + k 1 2,t 0 + h 2 ) f(x 0 + k 2 3. 2,t 0 + h 2 ) x(t 0 + h) f(x 0 + k 3,t 0 + h) t 4.

High order Runge-Kutta RK3 and up are include part of the imaginary axis

Quiz If lambda is where the red dot is, which integrators can generate stable simulation? RK1 (A) RK4 only (B) RK4 and RK3 (C) RK4, RK3, and RK1

Stage vs. order p 1 2 3 4 5 6 7 8 9 10 q 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 x a = x 0 + hf(x 0,t 0 ) e Estimate x b by taking two half Euler steps x temp = x 0 + h 2 f(x 0,t 0 ) x b = x temp + h 2 f(x temp,t 0 + h 2 ) e = x a x b is bound by O(h 2 ) Given error tolerance ϵ, what is the optimal step size? ( ϵ e)1 2 h

Quiz I use step doubling at the current step and the error is 0.4. Given that the error threshold of the simulation is set at 0.001, I should (A) Increase h by 400 times! (B) Decrease h by 400 times! (C) Increase h by 20 times! (D) Decrease h by 20 times

Embedding estimate Also called Runge-Kutta-Fehlberg! Compare two estimates of! x(t 0 + 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)) x(t) Ẏ = d dt ( x(t) y(t) ) = ( x(t) ky(t) ) Explicit Euler s method: Y new = Y 0 + hẏ(t 0)= ( x(t) y(t) ) + h ( x(t) ky(t) ) Y new = ( (1 h)x(t) (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: Y new = Y 0 + hf(y 0 ) Implicit Euler: Y new = Y 0 + hf(y new ) Solving for Y new such that! f, at time t 0 + h, points directly back at!!! Y 0

Implicit methods Our goal is to solve for Y new such that Y new = Y 0 + hf(y new ) Approximating f(y new ) by linearizing f(y) f(y new )=f(y 0 )+ Yf (Y 0 ), where Y = Y new Y 0 Y new = Y 0 + hf(y 0 )+h Yf (Y 0 ) ( ) 1 1 Y = h I f (Y 0 ) f(y 0 ) f(y,t)=ẏ(t) f(y,t) = f Y

Example: A bead on the wire Apply the implicit Euler method to the bead-on-wire example ( ) 1 1 Y = h I f (Y 0 ) f(y 0 ) [ ] x(t) f(y(t)) = ky(t) [ 1 0 f (Y(t)) = f(y(t)) = Y 0 k [ 1+h ] 1 [ ] Y = h 0 x0 1+kh 0 ky 0 = = h [ h h+1 0 0 h 1+kh [ h h+1 x 0 h 1+kh ky 0 ] ][ ] x0 ky 0 ]

Example: A bead on the wire What is the largest step size the implicit Euler method can take? lim Y = lim h h [ = x 0 1 k ky 0 [ h h+1 x 0 h 1+kh ky 0 ] = ] [ x0 y 0 ] Y new = Y 0 +( Y 0 )=0

Quiz Consider a linear ODE in apple ẋ = f(x) = R 2 1 0 0 99 x If h = 1 and the current state is apple 100 100 What is the next state computed by an implicit integrator?

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. explicit correct solution: x(h) =e hk x ẋ(h) = kx(h) x(0) = 1 explicit Euler: implicit Euler: x(h) = x(h) =1 hk 1 1+hk h

Trapezoidal rule Take a half step of explicit Euler and a half step of implicit Euler!! x n+1 = x n + h( 1 2 f(x n)+ 1 2 f(x n+1)) Explicit Euler is under-stable, implicit Euler is over-stable, the combination is just right

Stability of Trapezoidal What is the test equation for Trapezoidal?!! hλ 0 Where is the stability region?! negative half-plane! Stability region is consistent with physics! Good for pure rotation

Terminology Explicit Euler is also called forward Euler! Implicit Euler is also called backward Euler

Overview of differential equation! Initial value problem! Explicit numeric methods! Implicit numeric methods! Modular implementation

Modular implementation Write integrator in terms of! Reusable code! Simple system implementation! Generic operations:! Get dim(x)! Get/Set x and t! Derivative evaluation at current (x, t)

Solver interface GetDim System (black box) Get/Set State Solver (integrator) Deriv Eval

Summary Explicit Euler is simple, but might not be stable; modified Euler may be a cheap alternative! RK4 allows for larger time step, but requires much more computation! Use implicit Euler for better stability, but beware of over-damp

Quiz When I tried to simulate an ideal spring using explicit Euler method, the simulation blew up very quickly after a few iterations. Which of the following actions will result in stable simulation? Why?!! 1. Reduce time step 2. Use midpoint method 3. Use implicit method 4. Use fourth order Runge Kutta method! 5. Use trapzoidal rule