Week 5.2 - Literature review: ODE Stability
When does an ODE become unstable?
Increments of time and space appear throughout the differential equation. Stability is achieved for the explicit approach problem by limiting the value of time increment `(Deltat)` for a particular vaue of space increment `(Deltax)`. if the value of `Deltat` is larger than the limit imposed the system becomes unstable. This is the drawback with the explicit method.
The sample code for the explicit approach is shown below:
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 #large no. of grid points
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
print(dt)
plt.plot(y_new)
plt.xlabel('time')
plt.ylabel('y_new')
plt.show()
OUTPUT PLOT

For the same problem if we increase the value of `Deltat` (from 0.1 to 1) the result will be:

How does stability affect engineering simulation?
If the value of time increment is larger than the limit imposed by the stability criterion the time marching procedure will become unstable. This leads to cases such as numbers going to infinity or it will take the square root of the negative numbers. if the value of `Deltat` is kept very small it will take very longer computational time over a given period of time. However, there are no such restrictions for implicit schemes. stability can be mentioned over large value o `Deltat`
Can stability condition be derived from all types of problems?
We can derive the stability conditions for all types of problems. this generally depends on the nature of the given function. stability is difficult to investigate for non-linear ODE system. The difficulty is exhibited in terms of stiffness attribute. Sometimes in order to achieve stability for a given ODE we make use of numerical diffusion. numerical diffusion is a mathematical term which ensures that roundoff and other errors in the calculation get spread out and do not add up to cause the calculation to blow up.