380 likes | 1.22k Views
ME451 Kinematics and Dynamics of Machine Systems. Dealing with Differential Equations ~ A Numerical Approach ~ March 12, 2009. © Dan Negrut, 2009 ME451, UW-Madison. Before we get started…. Last Time Exam Before that: talked about singularities of mechanism
E N D
ME451 Kinematics and Dynamics of Machine Systems Dealing with Differential Equations~ A Numerical Approach ~ March 12, 2009 © Dan Negrut, 2009ME451, UW-Madison
Before we get started… • Last Time • Exam • Before that: talked about singularities of mechanism • Remember that as long as the constraint Jacobian is noinsingular, you are in great shape • Today • HW assigned (due on March 26): • Problems stated on two separate slides of today’s lecture • Basically require you to solve an IVP using MATLAB • ADAMS component has been uploaded • We’ll discuss about • Numerical Methods • Initial Value Problems and their numerical solution • Material not included in the book 2
Numerical Method(also called Numerical Algorithm, or simply Algorithm) • Represents a recipe, a succession of steps that one takes to find the solution of a problem that does not admit an analytical solution • Analytical solution: sometimes called “closed form”, or “exact” solution • The solution obtained with the numerical method is called “numerical solution” • Examples: • Evaluate the integral • Solve the equation • Solve the IVP that comes form the EOM for a simple pendulum • Many, many others (actually very seldom can you find the exact solution of a problem…) 3
Where are Numerical Methods Used? • Thermo and Heat Transfer: compute the flow of heat (diffusion) through a media (Finite Element Methods) • Fluid Dynamics: solve the Navier-Stokes equations (Finite Element/Finite Volume Methods) • Mechanics of Materials: solve the partial differential equations to find stress/strain distribution (Finite Element Methods) • Multibody Dynamics: solve differential-algebraic equations (DAEs) that result from Newton’s second law 4
Numerical Methods in ME451 • In regards to ME451, one would use numerical method to solve the dynamics problem (the resulting set of differential equations that capture Newton’s second law) • The particular class of numerical methods used to solve differential equations is typically called “numerical integrators”, or “integration formulas” • A numerical integrator generates a numerical solution at discrete time points (also called grid points, station points, nodes) • This is in fact just like in Kinematics, where the solution is computed on a time grid • Different numerical integrators generate different solutions, but the solutions are typically very close together, and [hopefully] closed to the actual solution of our problem • In 99% of the cases, the use of numerical integrators is the only alternative for solving complicated systems described by non-linear differential equations 5
Numerical Integration~Basic Concepts~ • Initial Value Problem: (IVP) • So what’s the problem? • You are looking for a function y(t) that depends on time (changes in time), whose time derivative is equal to a function f(t,y) that is given to you (see IVP above) • In other words, I give you the derivative of a function, can you tell me what the function is? • In ME451, the best you can hope for is to find an approximation of the unknown function y(t) at a sequence of discrete points (as many of them as you wish) • The numerical algorithm produces an approximation of the value of the unknown function y(t) at the each grid point. That is, the numerical algorithm produces y(t1), y(t2), y(t3), etc. 6
Relation to ME451 • When carrying out Dynamics Analysis, what you can compute is the acceleration of each part in the model • Acceleration represents the second time derivative of your coordinates • Somewhat oversimplifying the problem to make the point across, in ME451 you get the second time derivate • This represents a second order differential equation since it has two time derivatives taken on the position q • Problem is reduced to a set of first order differential equations by introducing a helper variable v (the velocity): • With this, the original second order differential problem becomes: 7
The difference between an ordinary differential equation (ODE) and an initial value problem (IVP) 8
ODE vs. IVP • Difference between ODE and IVP - Often a source of confusion • Ordinary Differential Equation (ODE) • Typically, has an infinite number of solutions • Initial Value Problem (IVP) • Is an ODE plus an initial condition (IC): • The solution assumes at time T=0 a certain prescribed value • The solution for the IVP’s that we’ll deal with is UNIQUE 9
ODE: Infinite Number of Solutions • ODE Problem: • Initial Condition: y0 =[-1000:50:1000] 10
ODE vs. IVP (Contd.) • Example: consider a simple first order ODE • It has an infinite number of solutions: • However, if you specify an Initial Condition (IC) at time t=0, for instance, x(0) =2.5, then there is a UNIQUE solution that satisfies both the ODE and the imposed IC: • Remember: 1. IVP = ODE + IC 2. IVP has a UNIQUE solution (unlike on ODE) 11
How do you go about solving an Initial Value Problem? A look at: Euler’s Method Predictor-Corrector Method Runge-Kutta Method 12
Find solution of this Initial Value Problem: Numerical Integration:Euler’s Method Euler’s Method: • t is the step size • The idea: at each grid point tk, turn the differential problem into an algebraic problem by approximating the value of the time derivative: 13
Example:- Integrate 5 steps using Euler’s Method- Compare to exact solution f(t,y) = -10y (note no explicit dependency on time t for f) k=0 y0=1.0 k=1 y1=y0+f(t0,y0)t = 1.0000 + (-10*1.000)*0.01 = 0.9000 k=2 y2=y1+f(t1,y1)t = 0.9000 + (-10*.9000)*0.01 = 0.8100 k=3 y3=y2+f(t2,y2)t = 0.8100 + (-10*.8100)*0.01 = 0.7290 k=4 y4=y3+f(t3,y3)t = 0.7290 + (-10*.7290)*0.01 = 0.6561 k=5 y5=y4+f(t4,y4)t = 0.6561 + (-10*.6561)*0.01 = 0.5905 Exact solution: y(t) = e-10t Solution: y(0) =1.0000 y(0.01)=0.9048 y(0.02)=0.8187 y(0.03)=0.7408 y(0.04)=0.6703 y(0.05)=0.6065 14
Example- Integrate in Matlab for 1 second using Euler’s Method- Compare to exact solution • Matlab y0=1; % Euler’s Method dt=.01; t=0:.01:1.; yh=y0; for i=2:length(t) f=-10*yh(i-1); yh(i)=yh(i-1)+f*dt; end % Exact solution y=y0*exp(-10*t); % Plot and compare plot(t,y,'b-',t,yh,'ro'); 15
Euler Method: ~ Effect of Step Size ~ • Solve using step sizes t=0.1, 1 and 5 sec dt=5 sec • Matlab dt=1 sec dt=0.1 sec % Exact solution t=0:.01:50; y=.99*exp(-t/10)+.995*sin(t-1.47); % Numerical solution dt=.1; th=0:dt:50; yh=0; for i=2:length(th) f=-yh(i-1)/10+sin(th(i)); yh(i)=yh(i-1)+f*dt; end plot(t,y,'b-',th,yh,'ro-'); Conclusion: If you use large step-sizes t, the quality of the solution is really bad (you can’t be too aggressive) 16
Predictor-Corrector Methods • Instead of computing f(y,t) at one point, you can average over multiple points (two in this case) • To implement, must predict yk+1 using forward Euler Method The predictor The corrector 17
Runge-Kutta Methods • 4th Order Runge-Kutta • Uses slope at 4 pts within each time step • Per-step error is proportional to t5 • Euler’s Method [introduced a couple of slides ago…] • Simple first order • Per-step error is proportional to t2 18
Ordinary Differential Equations(Initial Value Problem) • An ODE + initial value: • Use ode45 for non-stiff IVPs and ode23t for stiff IVPs (concept of “stiffness” discussed later in presentation) [t,y] = ode45(odefun,tspan,y0,options) function dydt = odefun(t,y) Initialvlue [initialtime finaltime] • Use odeset to define options parameter 20
IVP Example: function dydt = myfunc(t,y) dydt=zeros(2,1); dydt(1)=y(2); dydt(2)=(1-y(1)^2)*y(2)-y(1); • [t,y]=ode45('myfunc',[0 20],[2;0]) Note: Help on odesetto set options for more accuracy and other useful utilities like drawing results during solving. 21
Homework Problem 1 (out of 2) • Use MATLAB’s ODE45 in order to solve the IVP below on the interval [0,20] seconds: 22
Homework Problem 2 (out of 2) • Consider the following IVP: • In MATLAB, over the interval t 2 [0,100]: • Implement the Backward Euler (BE) formula to find the solution of this IVP • Work with a step-size t that ensures good quality results • Implement the Runge-Kutta (RK) method discussed to solve the IVP • Work with a step-size t that ensures good quality results • Use MATLAB’s ODE15s numerical integrator to solve the IVP • Find the analytical solution of the above IVP and compare it with the numerical solutions obtained above (that is, plot all solutions together) • Of BE, RK, and ODE15s, which seems to finish first when computing the solution? Does this come in line with expectations and why? 23
The concept of stiff differential equations, and how to solve the corresponding IVP 24
Example: IVP 0 0.01873075307798 0.03032004603564 0.03681163609403 0.03972896411722 0.04019944117144 - Integrate 5 steps using forward Euler formula: t=0.002, t=0.01, t=0.03 - Compare the errors between numerical and analytical solutions t=0.002: Error t=0.01:Error t=0.03:Error 0 0.36787944117144 0.13533528323661 0.04978706836786 0.01831563888873 0.00673794699909 0 2.04978706836786 -3.99752124782333 8.00012340980409 -15.99999385578765 32.00000030590232 25
Example: Analytical Solution Forward Euler (t=0.03) 26
Concept of stiff IVP’s • IVP’s for which forward Euler doesn’t work well (see example) • In general, the entire class of so called explicit formulas doesn’t work • Forward Euler, Runge-Kuta (RK23, RK45), DOPRI5, etc. • Stiff IVP’s require a different class of integration formulas • Implicit formulas • Example: backward Euler 27
Forward Euler • Backward Euler Explicit vs. Implicit Formulas(look at Euler family) • Initial Value Problem 28
The Nonlinear System Associated with an Implicit Integrator • Implicit integration requires finding the value of yk+1 that verifies the equation • You find it by solving the following nonlinear equation • The nonlinear function is defined as: 29
Back to Newton-Raphson… • Newton algorithm for nonlinear systems requires: • An initial guess from where solution starts being searched for • An iterative process in which the approximation of the solution is gradually improved: • I’m dropping the subscript “k+1” to keep notation simple. Then, 30
Example: Exact Solution Backward Euler and Analytical Solution Forward Euler (t=0.03) 31
Stiffness: Detecting It. • The IVP we just considered was stiff: • Dealing with stiff IVP’s is tricky • Calls for special integration formulas (we just saw that) • How can I tell if a system is stiff ? • Two ways: • You have “inside” information about the problem you solve (lots of damping in a mechanical system, for instance, leads to stiffness) • You compute and analyze the eigenvalues of the “Jacobian” matrix. If eigenvalues are way out to the left of the complex plane, the system is stiff… 32
Numerical Integration Formula:The STABILITY Attribute • The stability question: • So how big can I choose the integration step-size t and be safe? • Tough question (Numerical Analysis class) • Different integration formulas, have different stability regions • You’d like to use an integration formula with large stability region: • Example: Backward Euler, BDF methods, Newmark, HHT • Why not always use these methods with large stability region? • There is no free lunch: these methods are implicit methods that require the solution of an algebra problem at each step 33
Numerical Integration Formula :The ACCURACY Attribute • The accuracy question: • How accurate is the formula that I’m using? • If I start decreasing t , how will the accuracy of the numerical solution scheme improve? • Tough question (Numerical Analysis class) • Examples: • Forward and Backward Euler: accuracy O(t ) • RK45: accuracy O(t 4) • Why not always use methods with high accuracy order? • There is no free lunch: these methods usually have very small stability • Therefore, you are limited to very small values of t 34
BDF Integrators(Used for Stiff IVPs) • 1st order: • 2nd order: • 3rd order: • 4th order: • 5th order: 36
Concluding Remarks • The purpose of a numerical method is to find an approximation of the solution of a mathematical problem when you cannot find an analytical (closed form, exact) solution • Powerful and inexpensive computers revolutionized the use of numerical methods • Simulation of a car crash in minute detail • Formation of galaxies • Folding of a protein • Finding the electron distribution around nuclei in a nanostructure • Numerical methods enable the concept of “simulation-based engineering” • You use computer simulation to understand how your mechanism (mechanical system) behaves, how it can be modified and controlled 37