description Link to heading

  • Equation of motion of a damped oscillation x¨+2γx˙+ω2x=0.(1)\tag{1} \ddot{x} + 2 \gamma \dot{x} + \omega^2 x = 0.
  • Numerical approach using Finite Difference f(t+Δt)=f(t)+df(t)dtΔt.(2)\tag{2} f(t + \Delta t) = f(t) + \frac{df(t)}{dt} \Delta t.
  • Solution for xx if γγ(t)\gamma \ne \gamma(t) and ωω(t)\omega \ne \omega(t).
  • To find suitable Δt\Delta t.

formulation Link to heading

  • Time tn+1=tn+Δt,   n=0,1,2,.(7)\tag{7} t_{n+1} = t_n + \Delta t, \ \ \ n = 0, 1, 2, \dots.
  • Acceleration x¨(tn)=2γx˙(tn)ω2x(tn).(4)\tag{4} \ddot{x}(t_n) = - 2 \gamma \dot{x}(t_n) - \omega^2 x(t_n).
  • Velocity x˙(tn+1)=x˙(tn)+x¨(tn)Δt.(5)\tag{5} \dot{x}(t_{n+1}) = \dot{x}(t_n) + \ddot{x}(t_n) \Delta t.
  • Position x(tn+1)=x(tn)+x˙(tn)Δt.(6)\tag{6} x(t_{n+1}) = x(t_n) + \dot{x}(t_n) \Delta t.

initial conditions Link to heading

  • Iteration n=0.(7)\tag{7} n = 0.
  • Time t=t0.(8)\tag{8} t = t_0.
  • Velocity v(t0)=v0(9)\tag{9} v(t_0) = v_0
  • Posittion x(t0)=x0.(10)\tag{10} x(t_0) = x_0.

parameters Link to heading

  • Oscillation period T=2πmk.(11)\tag{11} T = 2 \pi \sqrt{\frac{m}{k}}.
  • Time step Δt<<T.(12)\tag{12} \Delta t \lt \lt T.

code Link to heading

import math

T = 1
tbeg = 0
tend = 4 * T
N = 1
dt = (tend - tbeg) / N
time = [(i*dt + tbeg) for i in range(N+1)]

k = 4 * math.pi**2
m = ( T**2 / (4 * math.pi**2) ) * k
omega = 2 * math.pi / T
gamma = 0

x0 = 1
v0 = 0

tt = []
xx = []

for t in time:
  if t == tbeg:
    v = v0
    x = x0
    a = - 2  * gamma * v - omega**2 * x
  else:
    a = - 2  * gamma * v - omega**2 * x
    v = v + a * dt
    x = x + v * dt
  
  tstr = f'{t:.3f}'
  astr = f'{a:.3f}'
  vstr = f'{v:.3f}'
  xstr = f'{x:.3f}'
  
  print("{x:", tstr, ", y:", xstr, "},", sep="")
  
  tt.append(float(tstr))
  xx.append(float(xstr))

print()
print(tt)
print(xx)

It is available at https://onecompiler.com/python/3znm4u5zv.

solution 1 Link to heading

  • x0=1x_0 = 1, v0=0v_0 = 0.
  • T=1T = 1, k=4π2k = 4\pi^2, m=1m = 1.
  • t[0,4T]t \in [0, 4T], Δt=4\Delta t = 4, N=1+1N = 1 + 1.
  • γ=0\gamma = 0.

solution 2 Link to heading

  • x0=1x_0 = 1, v0=0v_0 = 0.
  • T=1T = 1, k=4π2k = 4\pi^2, m=1m = 1.
  • t[0,4T]t \in [0, 4T], Δt=0.4\Delta t = 0.4, N=10+1N = 10 + 1.
  • γ=0\gamma = 0.

solution 3 Link to heading

  • x0=1x_0 = 1, v0=0v_0 = 0.
  • T=1T = 1, k=4π2k = 4\pi^2, m=1m = 1.
  • t[0,4T]t \in [0, 4T], Δt=0.04\Delta t = 0.04, N=100+1N = 100 + 1.
  • γ=0\gamma = 0.

solution 4 Link to heading

  • x0=1x_0 = 1, v0=0v_0 = 0.
  • T=1T = 1, k=4π2k = 4\pi^2, m=1m = 1.
  • t[0,4T]t \in [0, 4T], Δt=0.004\Delta t = 0.004, N=1000+1N = 1000 + 1.
  • γ=0\gamma = 0.

solution 5 Link to heading

  • x0=1x_0 = 1, v0=0v_0 = 0.
  • T=1T = 1, k=4π2k = 4\pi^2, m=1m = 1.
  • t[0,4T]t \in [0, 4T], Δt=0.01\Delta t = 0.01, N=400+1N = 400 + 1.
  • γ=0\gamma = 0.

summaries Link to heading

  • Unrealistic results are obtained for Δt0.4T\Delta t \ge 0.4T.
  • Displacement could be larger than amplitude for Δt=0.04T\Delta t = 0.04T.
  • It is sufficient for Δt=0.01T\Delta t = 0.01 T.
  • It might be too fine for Δt=0.004T\Delta t = 0.004 T.