ordinary differential equations - numerical factoryordinary differential equations • analytical...
TRANSCRIPT
© Numerical Factory
Numerical Methods in Engineering
Dept. Matemàtiques ETSEIB - UPC BarcelonaTech
Ordinary Differential Equations
© Numerical Factory
Differential Equations
Ordinary Differential Equations (ODE)
Equations including a variable and its derivatives
𝑢 = 𝑢(𝑡) dependent variable
𝑡 independent variable
𝑢′ =𝑑𝑢
𝑑𝑡
Partial Differential Equations (PDE)
𝑢 = 𝑢(𝑥, 𝑦), partial derivatives 𝜕𝑢
𝜕𝑥, 𝜕𝑢
𝜕𝑦
2
𝑢′ − 𝑢 = 0
𝑢′′ + 3𝑢′ − 5𝑢 + 𝑡 = 0
Examples:
© Numerical Factory
Ordinary Differential Equations
• A differential equation defines a relationship between an unknown function and one or more of its derivatives
• In general an ODE is an expression of the form:
𝑢′ = 𝑓(𝑡, 𝑢 𝑡 )
Where 𝑢 = 𝑢 𝑡 is the dependent variable
t is the independent one.
f is supposed to be a continuous and smooth function.
3
© Numerical Factory
Ordinary Differential Equations
• A second order differential equation would have the form:
• The Order of the ODE is the one of the biggest derivative.
}
does not necessarily have to includeall of these variables
4
𝑑2𝑢
𝑑𝑡2= 𝑓(𝑡, 𝑢,
𝑑𝑢
𝑑𝑡)
© Numerical Factory
EDO examples
5
Examples (1):
The dissolution (solubilization) of a contaminant into groundwater is governed by the equation:
where kl is a lumped mass transfer coefficient and Cs is the maximum solubility of the contaminant into the water (a constant). Given C(0)=2 mg/L, Cs = 500 mg/L and
kl = 0.1 day-1, estimate C(0.5) and C(1.0) using a numerical method for ODE’s.
CCkdt
dCsl
© Numerical Factory
EDO examples
6
Examples (2):
A mass balance for a chemical in a completely mixed reactor can be written as:
where V is the volume (10 m3), c is concentration (g/m3), Fis the feed rate (200 g/min), Q is the flow rate (1 m3/min), and k is reaction rate (0.1 m3/g/min). If c(0)=0, solve the ODE for c(0.5) and c(1.0)
2kVcQcFdt
dcV
© Numerical Factory
EDO examples
7
Examples (3):
Before coming to an exam Friday afternoon, Mr. Bringer forgot toplace 24 cans of a refreshing beverage in the refrigerator. His guestare arriving in 5 minutes. So, of course he puts the beverage in therefrigerator immediately. The cans are initially at 75, and therefrigerator is at a constant temperature of 40.
The rate of cooling is proportional to the difference in thetemperature between the beverage and the surrounding air, asexpressed by the following equation with k = 0.1/min.
Use a numerical method to determine the temperature of thebeverage after 5 minutes and 10 minutes.
airTTkdt
dT
© Numerical Factory
EDO examples
• Examples in General related with:
Particles and Solid Motion
Trajectory and Shooting Problems
Thermal and Chemical Process
Fluids
Waves
etc.
8
© Numerical Factory
Ordinary Differential Equations
• Solutions are curves 𝑢(𝑡) defined from two different
problems:
• Initial Value Problem (IVP) (Cauchy’s problem)
• Boundary Value Problem (BVP)
9
© Numerical Factory
Ordinary Differential Equations
• Analytical Solution: (only in few cases)
• Separate variables:
dy
dxx
dy x dx
yx
C
4
4
4
3
2
2
3
At this point lets consider
initial conditions.
y(0)=1
and
y(0)=2
10
© Numerical Factory
Ordinary Differential Equations
• What we see are different values of C for the two
different initial conditions.
3
3
3
40 1
3
4 01 1
3
0 2
4 02 2
3
xy C for y
C then C
for y
C and C
The resulting equations
are:
yx
yx
4
31
4
32
3
3
11
© Numerical Factory
Ordinary Differential Equations
0
4
8
1 2
1 6
0 0.5 1 1 .5 2 2 .5x
y
y (0)=1
y (0)=2
y (0)=3
y (0)=4
12
© Numerical Factory
Numerical Methods for ODE
• According to their precision, IVP methods:
– Euler Method
– Mid Point Method
– Runge-Kutta Methods
• According to their stability:
– Implicit Euler Method
• ODE Methods in Matlab
13
© Numerical Factory
IVP Methods
• Focus is on solving ODE in the form
1
,
i i
duf t u
dt
u u m h
y
x
slope = mui
ui+1
h
This is the same as saying:
new value = old value + Slope x Step size
14
© Numerical Factory
Euler’s Method
• Taylor’s Series:
• The first derivative provides a direct estimate of the slope at 𝑢 𝑡
𝑢 𝑡𝑛+1 = 𝑢 𝑡𝑛 + ℎ𝑑𝑢
𝑑𝑡𝑡𝑛
• The equation is applied iteratively, or one step at a time, over small distance in order to reduce the error
where
15
𝑢 𝑡 + ℎ = 𝑢 𝑡 + ℎ𝑑𝑢
𝑑𝑡𝑡 +
ℎ2
2
𝑑2𝑢
𝑑𝑡2𝑡 + ⋯+
ℎ𝑛
𝑛!
𝑑𝑛𝑢
𝑑𝑡𝑛𝑡
𝑑𝑢
𝑑𝑡𝑡𝑛 = 𝑓(𝑡𝑛, 𝑢𝑛)
© Numerical Factory
Euler’s Method• Examp: Solve using Euler’s method:
First the analytical solution:
now imposing:
© Numerical Factory
Euler’s Method• Examp: Solve using Euler’s method:
now numerically: (use Matlab)
© Numerical Factory
Higher Order Taylor Series Methods
• This is simple enough to implement with polynomials
• Not so trivial with more complicated ODE
• In particular, ODE that are functions of both dependent and independent variables require chain-rule differentiation
• Alternative one-step methods are needed
2
1
' ,,
2
i i
i i i i
f x yy y f x y h h
18
18
© Numerical Factory
Modification of Euler’s Methods
• A fundamental error in Euler’s method is that the derivative at the beginning of the interval is assumed to apply across the entire interval
• Two simple modifications will be demonstrated
• These modification actually belong to a larger class of solution techniques called Runge-Kutta which we will explore later.
19
© Numerical Factory
Mid Point Method
• Uses Euler’s to predict a value of y at the midpoint of the interval
• This predicted value is used to estimate the slope at the midpoint y
xxi xi+1/2 xi+1
20
© Numerical Factory
Mid Point Method
• We then assume that this slope represents a valid approximation of the average slope for the entire interval
• Use this slope to extrapolate linearly from xi to xi+1 using Euler’s algorithm
1 , ( , )2 2
i i i i i i
h hy y h f x y f x y
21
© Numerical Factory
Heun’s Method (RK2)
• Determine the derivative for the interval
– the initial point
– end point
• Use the average to obtain an improved estimate of the slope for the entire interval
y
xi xi+1
22
© Numerical Factory
Heun’s Method (RK2)
Use this “average” slope
to predict yi+1
h
yxfyxfyy iiii
ii2
,, 111
{
y
xi xi+1
23
© Numerical Factory
y
xi xi+1
y
xxi xi+1
h
yxfyxfyy iiii
ii2
,, 111
24
Heun’s Method (RK2)
© Numerical Factory
y
xxi xi+1
1
, , ( , )
2
i i i i i i
i i
f x y f x h y h f x yy y h
1i iy y m h
25
Heun’s Method (RK2)
© Numerical Factory
Both Heun’s and the Mid Point Method have
been introduced graphically. However, the
algorithms used are not as straight forward
as they can be.
Let’s review the Runge-Kutta Methods.
Choices in values of variable will give us
these methods and more. It is recommend
that you use this algorithm on your homework
and/or programming assignments.
Runge-Kutta Methods
26
© Numerical Factory
• RK methods achieve the accuracy of a Taylor series approach without requiring the calculation of a higher derivative
• Many variations exist but all can be cast in the generalized form:
y y x y h hi i i i 1 , ,{
is called the incremental function
27
27
Runge-Kutta Methods
© Numerical Factory
, Incremental Function
can be interpreted as a representative slope over the interval
a k a k a k
where the a s are constant and the k s are
k f x y
k f x p h y q k h
k f x p h y q k h q k h
k f x p h y q k h q k h q k h
n n
i i
i i
i i
n i n i n n n n n
1 1 2 2
1
2 1 11 1
3 2 21 1 22 2
1 1 1 1 2 2 1 1 1
' ' :
,
,
,
, , , ,
28
© Numerical Factory
a k a k a k
where the a s are constant and the k s are
k f x y
k f x p h y q k h
k f x p h y q k h q k h
k f x p h y q k h q k h q k h
n n
i i
i i
i i
n i n i n n n n n
1 1 2 2
1
2 1 11 1
3 2 21 1 22 2
1 1 1 1 2 2 1 1 1
' ' :
,
,
,
, , , ,
NOTE:
k’s are recurrence relationships,
that is k1 appears in the equation for k2
which appears in the equation for k3
This recurrence makes RK methods efficient for
computer calculations
29
Runge-Kutta Methods
© Numerical Factory
Second Order RK Methods
y y a k a k h
where
k f x y
k f x p h y q k h
i i
i i
i i
1 1 1 2 2
1
2 1 11 1
,
,
a k a k a k
where the a s are constant and the k s are
k f x y
k f x p h y q k h
k f x p h y q k h q k h
k f x p h y q k h q k h q k h
n n
i i
i i
i i
n i n i n n n n n
1 1 2 2
1
2 1 11 1
3 2 21 1 22 2
1 1 1 1 2 2 1 1 1
' ' :
,
,
,
, , , ,
30
© Numerical Factory
Second Order RK Methods
• We have to determine values for the constants a1, a2, p1
and q11
• To do this consider the Taylor series in terms of yi+1 and f(xi,yi)
y y a k a k h
y y f x y h f x yh
i i
i i i i i i
1 1 1 2 2
1
2
2, ' ,
31
31
© Numerical Factory
a a
a p
a q
p qa
y y k k h
where
k f x y
k f x h y k h
i i
i i
i i
1 2
2 1
2 11
1 11
2
1 1 2
1
2 1
1 1 1 2 1 2
1
2
1
2
1
21
1
2
1
2
/ /
,
,
Case 1: a2 = 1/2
This is Heun’s Method with
a single corrector.
Note that k1 is the slope at
the beginning of the interval and k2 is
the slope at the
end of the interval.
y y a k a k h
where
k f x y
k f x p h y q k h
i i
i i
i i
1 1 1 2 2
1
2 1 11 1
,
,
32
© Numerical Factory
a a
a p
a q
p qa
y y k h
where
k f x y
k f x h y k h
i i
i i
i i
1 2
2 1
2 11
1 11
2
1 2
1
2 1
1 1 1 0
1
2
1
2
1
2
1
2
1
2
1
2
,
,
y y a k a k h
where
k f x y
k f x p h y q k h
i i
i i
i i
1 1 1 2 2
1
2 1 11 1
,
,
Case 2: a2 = 1
This is the Improved Polygon
Method.
33
© Numerical Factory
Third Order Runge-Kutta Methods
• Derivation is similar to the one for the second-order
• Results in six equations and eight unknowns.
• One common version results in the following
y y k k k h
where
k f x y
k f x h y k h
k f x h y hk hk
i i
i i
i i
i i
1 1 2 3
1
2 1
3 1 2
1
64
1
2
1
2
2
,
,
,
Note the third term
NOTE: if the derivative is a function of x only, this reduces to Simpson’s 1/3 Rule
34
34
© Numerical Factory
Fourth Order Runge Kutta• The most popular
• The following is sometimes called the classical fourth-order RK method
y y k k k k h
where
k f x y
k f x h y k h
k f x h y hk
k f x h y hk
i i
i i
i i
i i
i i
1 1 2 3 4
1
2 1
3 2
4 3
1
62 2
1
2
1
2
1
2
1
2
,
,
,
,35
35
© Numerical Factory
• Note that for ODE that are a function of x alone that this is also the equivalent of Simpson’s 1/3 Rule
34
23
12
1
43211
,
2
1,
2
1
2
1,
2
1
,
226
1
hkyhxfk
hkyhxfk
hkyhxfk
yxfk
where
hkkkkyy
ii
ii
ii
ii
ii
36
36
© Numerical Factory
Systems of Equations• Many practical problems in engineering and science
require the solution of a system of simultaneous differential equations
11 1 2
22 1 2
1 2
, , , ,
, , , ,
, , , ,
n
n
nn n
dyf x y y y
dx
dyf x y y y
dx
dyf x y y y
dx
37
37
© Numerical Factory
• Solution requires n initial conditions
• All the methods for single equations can be used
• The procedure involves applying the one-step technique for every equation at each step before proceeding to the next step
Systems of Equations
38
38
© Numerical Factory
• high order EDO can be converted in Systems of EDO’s
Systems of Equations
39
39
© Numerical Factory40
© Numerical Factory
• When there are zones with very different slope, then it is better to change the time step.
• Idea: Use two methods at the same time in order to compare the two results.
• Most well known is RK-F 4-5 (in Matlab ode45)
Automatic time step
41
41
© Numerical Factory
• RK45: Only 6 eq. evaluations are needed
Automatic time step
42
42
© Numerical Factory
• Especial version of RK4
• Change time step according error tolerance
Automatic time step
43
43
© Numerical Factory
ODE Methods in MATLAB
• ode45 is based on an explicit Runge-Kutta (4,5) formula, the Dormand-Prince pair. It is a one-step solver -in computing y(tn), it needs only the solution at the immediately preceding time point, y(tn-1). In general,ode45 is the best function to apply as a "first try" for most problems.
• ode23 is an implementation of an explicit Runge-Kutta (2,3) pair of Bogacki and Shampine. It may be more efficient than ode45 at crude tolerances and in the presence of moderate stiffness. Like ode45, ode23 is a one-step solver.
• ode113 is a variable order Adams-Bashforth-Moulton PECE solver. It may be more efficient than ode45 at stringent tolerances and when the ODE file function is particularly expensive to evaluate. ode113 is a multistep solver - it normally needs the solutions at several preceding time points to compute the current solution.
44
© Numerical Factory
ODE Methods in MATLAB
• ode15s is a variable order solver based on the numerical differentiation formulas (NDFs). Optionally, it uses the backward differentiation formulas (BDFs, also known as Gear's method) that are usually less efficient. Like ode113, ode15s is a multistep solver. Try ode15s when ode45 fails, or is very inefficient, and you suspect that the problem is stiff, or when solving a differential-algebraic problem.
• ode23s is based on a modified Rosenbrock formula of order 2. Because it is a one-step solver, it may be more efficient than ode15s at crude tolerances. It can solve some kinds of stiff problems for which ode15s is not effective.
• ode23t is an implementation of the trapezoidal rule using a "free" interpolant. Use this solver if the problem is only moderately stiff and you need a solution without numerical damping. ode23t can solve DAEs.
• ode23tb is an implementation of TR-BDF2, an implicit Runge-Kutta formula with a first stage that is a trapezoidal rule step and a second stage that is a backward differentiation formula of order two. By construction, the same iteration matrix is used in evaluating both stages. Like ode23s, this solver may be more efficient than ode15s at crude tolerances
45
© Numerical Factory
ODE Methods in MATLAB
46
© Numerical Factory
2D Fixed points
© Numerical Factory
Stability of fixed points
• Linealized system:
𝑥′ = 𝐹 𝑡, 𝑥 → 𝑥′ = 𝐴𝑥
where 𝐴 =𝜕𝐹
𝜕𝑥(the jacobian matrix)
Example:
→ 𝑥′𝑦′
=0 2𝑦 − 1
2𝑥 − 1 0
𝑥𝑦
© Numerical Factory
Linear ODE Systems
© Numerical Factory
Linear ODE Systems
© Numerical Factory
Linear ODE Systems
© Numerical Factory
Linear ODE Systems
© Numerical Factory
Linear ODE Systems
© Numerical Factory
Linear ODE Systems
from Rafael Ramírez slides (https://mat-web.upc.edu/people/rafael.ramirez/slidesEDs_EDOs.pdf)
© Numerical Factory
Linear ODE Systems
© Numerical Factory
Linear ODE Systems
© Numerical Factory
Linear ODE Systems
© Numerical Factory
Linear ODE Systems
© Numerical Factory
Linear ODE Systems
© Numerical Factory
Linear ODE Systems
© Numerical Factory
Linear ODE Systems