Challenge

Week 5 - Literature review: ODE Stability

Literature Review on ODE Stability:

Objective: Discussing the stability analysis of an ODE and writing python code for the sake of understanding more clearly. Knowing when an ODE gets unstable, How does stability affect engineering simulations, and Can stability condition be derived for all types of problems?

Stability:

  • In mathematics, stability theory addresses the stability of solutions of differential equations and of trajectories of dynamic systems under small perturbations of initial conditions.
  • It means, the errors at any point in the computational process are not considered instead, they are removed forcibly for the computational progress.
  • If a function f(x), when it is stable is if any other solution of the equation that starts out be close to it when x = 0 remains close to it for neighboring values of x.
  • The function gets asymptotically stable when the difference between solutions approaches zero as the x value increases.
  • The solution is going to get unstable when it doesn't follow the above two points.
  • The computation is unstable if the uncertainty of the input values is in an unacceptable manner by the numerical method like Jacobi, G-S, and SOR etc.
  1. When does an ODE become unstable?
  • If we apply two methods, implicit and explicit. The Explicit method gets unstable for larger time steps.
  • But the Implicit method is stable for any number of time steps. Because of its nature of collecting old value (x_old) in the numerical stream

Python Code:

import math
import matplotlib.pyplot as plt

def f(t, y):
	return -1000*y-math.exp(-t)

t_start = 0
t_end = 0.1
n = 500

dt = (t_end-t_start)/(n-1)
t = 0
y_old = 0
y_new = []

for i in range(0,n):
	y_new.append(y_old+dt*f(t, y_old))
	y_old = y_new[i]
	t = t+dt

plt.plot(y_new, color = 'blue')
plt.show()
  • For n = 500

For n=50

  • By observing the two above two plots, it is clear that if we decrease the n value, the system is going to unstable.
  • The larger the dt, the larger the error is.
  1. How does stability affect engineering simulations?
  • The stability factor is more important in engineering problems, as they were depending on the limits, tolerance, and fits, etc. While designing and numerically inspecting them with the mathematical models, we need to be very accurate with the stability. If there is an error in stability causes a great loss to the production rate.
  • For certain problems like turbulence, while performing simulations with highly viscous materials, the time steps play a key role there in the transient conditions
  • Finding an appropriate method for the given problem is important. If we choose a highly succeded model though the problem not neede may diverge your solution. So, selecting a proper mathematical model is matters also.
  • Due to instability, the solution gets diverge, and the results are fully garbage and of no use of them.
  1. Can stability condition be derived for all types of problems?
  • Yes, the stability conditions are derived for all types of problems. But it purely depends upon the form or function of the problem.
  • The stability mostly depends upon the form of the equation or a function which we selected.
  • There are two common stability conditions are 1) Von Neumann stability condition, 2) Eigen Value stability condition.
  • In every mathematical method, the generated data must be the approximations only. These approximations are themselves close to the real solution and this is called numerical stability.
  • To gain numerical stability we need to choose the time step size carefully in the solvers.
Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.