Pendulum - N-body pendulum simulator

Energy conservation

To construct a stable scheme, I consider the conservation of energy:

\[E \equiv T + U = const.,\]

where

\[ \begin{align}\begin{aligned}T & = \kene,\\U & = \pene.\end{aligned}\end{align} \]

Kinetic energy part

\[ \begin{align}\begin{aligned}\dder{T}{t} & = \frac{1}{2} m l^2 \sum_{\ib = 0}^{N - 1} \sum_{\ic = 0}^{N - 1} \left\{ N - \max \left( \ib, \ic \right) \right\} \dder{}{t} \left( \vel_{\ib} \vel_{\ic} \cmat{\ib}{\ic} \right)\\& = \frac{1}{2} m l^2 \sum_{\ib = 0}^{N - 1} \sum_{\ic = 0}^{N - 1} \left\{ N - \max \left( \ib, \ic \right) \right\} \dder{\vel_{\ib}}{t} \ave{ \vel_{\ic} \cmat{\ib}{\ic} }\\& + \frac{1}{2} m l^2 \sum_{\ib = 0}^{N - 1} \sum_{\ic = 0}^{N - 1} \left\{ N - \max \left( \ib, \ic \right) \right\} \ave{\vel_{\ib}} \dder{\vel_{\ic}}{t} \ave{\cmat{\ib}{\ic}}\\& + \frac{1}{2} m l^2 \sum_{\ib = 0}^{N - 1} \sum_{\ic = 0}^{N - 1} \left\{ N - \max \left( \ib, \ic \right) \right\} \ave{\vel_{\ib}} \, \ave{\vel_{\ic}} \dder{}{t} \cmat{\ib}{\ic}.\end{aligned}\end{align} \]

The first two terms yield

\[m l^2 \sum_{\ib = 0}^{N - 1} \sum_{\ic = 0}^{N - 1} \left\{ N - \max \left( \ib, \ic \right) \right\} \dder{\vel_{\ib}}{t} \left( \frac{1}{2} \ave{ \vel_{\ic} \cmat{\ib}{\ic} } + \frac{1}{2} \ave{\vel_{\ic}} \, \ave{\cmat{\ib}{\ic}} \right),\]

while the last term leads to

\[ \begin{align}\begin{aligned}& - \frac{1}{2} m l^2 \sum_{\ib = 0}^{N - 1} \sum_{\ic = 0}^{N - 1} \left\{ N - \max \left( \ib, \ic \right) \right\} \ave{\vel_{\ib}} \, \ave{\vel_{\ic}} \left( \ave{\vel_{\ib}} - \ave{\vel_{\ic}} \right) \text{sinc} \left( \frac{ \dif{\pos_{\ib}} }{2} - \frac{ \dif{\pos_{\ic}} }{2} \right) \sin \left( \ave{\pos_{\ib}} - \ave{\pos_{\ic}} \right)\\= & - \frac{1}{2} m l^2 \sum_{\ib = 0}^{N - 1} \sum_{\ic = 0}^{N - 1} \left\{ N - \max \left( \ib, \ic \right) \right\} \ave{\vel_{\ib}} \, \ave{\vel_{\ic}} \, \ave{\vel_{\ib}} \text{sinc} \left( \frac{ \dif{\pos_{\ib}} }{2} - \frac{ \dif{\pos_{\ic}} }{2} \right) \sin \left( \ave{\pos_{\ib}} - \ave{\pos_{\ic}} \right)\\& + \frac{1}{2} m l^2 \sum_{\ib = 0}^{N - 1} \sum_{\ic = 0}^{N - 1} \left\{ N - \max \left( \ib, \ic \right) \right\} \ave{\vel_{\ib}} \, \ave{\vel_{\ic}} \, \ave{\vel_{\ic}} \text{sinc} \left( \frac{ \dif{\pos_{\ib}} }{2} - \frac{ \dif{\pos_{\ic}} }{2} \right) \sin \left( \ave{\pos_{\ib}} - \ave{\pos_{\ic}} \right)\\= & - m l^2 \sum_{\ib = 0}^{N - 1} \sum_{\ic = 0}^{N - 1} \left\{ N - \max \left( \ib, \ic \right) \right\} \ave{\vel_{\ib}} \, \ave{\vel_{\ic}} \, \ave{\vel_{\ib}} \text{sinc} \left( \frac{ \dif{\pos_{\ib}} }{2} - \frac{ \dif{\pos_{\ic}} }{2} \right) \sin \left( \ave{\pos_{\ib}} - \ave{\pos_{\ic}} \right).\end{aligned}\end{align} \]

Note that

\[\dder{\pos_{\ia}}{t} = \ave{\vel_{\ia}}\]

is assumed.

As a result, I have

\[ \begin{align}\begin{aligned}\dder{T}{t} & = m l^2 \sum_{\ib = 0}^{N - 1} \sum_{\ic = 0}^{N - 1} \left\{ N - \max \left( \ib, \ic \right) \right\} \dder{\vel_{\ib}}{t} \left( \frac{1}{2} \ave{ \vel_{\ic} \cmat{\ib}{\ic} } + \frac{1}{2} \ave{\vel_{\ic}} \, \ave{\cmat{\ib}{\ic}} \right)\\& - m l^2 \sum_{\ib = 0}^{N - 1} \sum_{\ic = 0}^{N - 1} \left\{ N - \max \left( \ib, \ic \right) \right\} \ave{\vel_{\ib}} \, \ave{\vel_{\ic}} \, \ave{\vel_{\ib}} \text{sinc} \left( \frac{ \dif{\pos_{\ib}} - \dif{\pos_{\ic}} }{2} \right) \sin \left( \ave{\pos_{\ib}} - \ave{\pos_{\ic}} \right)\\& = m l^2 \sum_{\ib = 0}^{N - 1} \sum_{\ic = 0}^{N - 1} \left\{ N - \max \left( \ib, \ic \right) \right\} \dder{\vel_{\ib}}{t} \left( \frac{1}{2} \ave{ \vel_{\ic} \cmat{\ic}{\ib} } + \frac{1}{2} \ave{\vel_{\ic}} \, \ave{\cmat{\ic}{\ib}} \right)\\& + m l^2 \sum_{\ib = 0}^{N - 1} \sum_{\ic = 0}^{N - 1} \left\{ N - \max \left( \ib, \ic \right) \right\} \ave{\vel_{\ic}} \, \ave{\vel_{\ib}} \, \ave{\vel_{\ib}} \text{sinc} \left( \frac{ \dif{\pos_{\ic}} }{2} - \frac{ \dif{\pos_{\ib}} }{2} \right) \sin \left( \ave{\pos_{\ic}} - \ave{\pos_{\ib}} \right).\end{aligned}\end{align} \]

Potential energy part

\[ \begin{align}\begin{aligned}\dder{U}{t} & = - m g l \sum_{\ic = 0}^{N - 1} \left( N - \ic \right) \dder{}{t} \sin \pos_{\ic}\\& = - m g l \sum_{\ic = 0}^{N - 1} \left( N - \ic \right) \ave{\vel_{\ic}} \text{sinc} \frac{\dif{\pos_{\ic}}}{2} \cos \ave{\pos_{\ic}}.\end{aligned}\end{align} \]

Total energy

The change of the total energy results in

\[ \begin{align}\begin{aligned}\dder{E}{t} & = m l^2 \sum_{\ib = 0}^{N - 1} \sum_{\ic = 0}^{N - 1} \left\{ N - \max \left( \ib, \ic \right) \right\} \ave{\vel_{\ic}} \dder{\vel_{\ib}}{t} \ave{\cmat{\ic}{\ib}} \left( \frac{1}{2} + \frac{1}{2} \frac{ \ave{ \vel_{\ic} \cmat{\ic}{\ib} } }{ \ave{\vel_{\ic}} \, \ave{\cmat{\ic}{\ib}} } \right)\\& + m l^2 \sum_{\ib = 0}^{N - 1} \sum_{\ic = 0}^{N - 1} \left\{ N - \max \left( \ib, \ic \right) \right\} \ave{\vel_{\ic}} \, \ave{\vel_{\ib}} \, \ave{\vel_{\ib}} \text{sinc} \left( \frac{ \dif{\pos_{\ic}} }{2} - \frac{ \dif{\pos_{\ib}} }{2} \right) \sin \left( \ave{\pos_{\ic}} - \ave{\pos_{\ib}} \right)\\& - m g l \sum_{\ic = 0}^{N - 1} \left( N - \ic \right) \ave{\vel_{\ic}} \text{sinc} \frac{\dif{\pos_{\ic}}}{2} \cos \ave{\pos_{\ic}}\\& = 0.\end{aligned}\end{align} \]

Factoring \(\ave{\vel_{\ic}}\) yields

\[\dder{E}{t} = \sum_{\ic = 0}^{N - 1} \ave{\vel_{\ic}} Q_{\ic} = 0,\]

where

\[ \begin{align}\begin{aligned}Q_{\ic} & \equiv m l^2 \sum_{\ib = 0}^{N - 1} \left\{ N - \max \left( \ib, \ic \right) \right\} \dder{\vel_{\ib}}{t} \ave{\cmat{\ic}{\ib}} \left( \frac{1}{2} + \frac{1}{2} \frac{ \ave{ \vel_{\ic} \cmat{\ic}{\ib} } }{ \ave{\vel_{\ic}} \, \ave{\cmat{\ic}{\ib}} } \right)\\& + m l^2 \sum_{\ib = 0}^{N - 1} \left\{ N - \max \left( \ib, \ic \right) \right\} \ave{\vel_{\ib}} \, \ave{\vel_{\ib}} \text{sinc} \left( \frac{ \dif{\pos_{\ic}} }{2} - \frac{ \dif{\pos_{\ib}} }{2} \right) \sin \left( \ave{\pos_{\ic}} - \ave{\pos_{\ib}} \right)\\& - m g l \left( N - \ic \right) \text{sinc} \frac{\dif{\pos_{\ic}}}{2} \cos \ave{\pos_{\ic}}.\end{aligned}\end{align} \]

Requesting \(Q_{\ic} \equiv 0_{\ic}\) results in the discrete Lagrange’s equation to be handled:

\[\dlag.\]