Волновое уравнение на струне
Это 1D-симуляция поперечных колебаний закреплённой струны,
реализованная по явной конечно-разностной схеме («крест»).
Основные параметры:
- \(u(x,t)\) — смещение струны
- \(c\) — скорость волны (задаётся неявно через \(\Delta x\) и \(\Delta t\))
- \(f(x)\) — начальная форма
- \(g(x)\) — начальная скорость
Уравнение и граничные условия
\[
\frac{\partial^2 u}{\partial t^2} = c^2 \frac{\partial^2 u}{\partial x^2},\quad 0 \lt x \lt L,\quad t \gt 0
\]
\[
u(0,t)=0,\quad u(L,t)=0,\quad u(x,0)=f(x),\quad u_t(x,0)=g(x)
\]
Численная схема
Сетка: \(x_i=i\Delta x,\; t^n=n\Delta t\). Обозначение \(u_i^n\approx u(x_i,t^n)\).
\[
u_i^{n+1}=2u_i^n-u_i^{n-1}+r^2\bigl(u_{i+1}^n-2u_i^n+u_{i-1}^n\bigr),\quad
r=\frac{c\Delta t}{\Delta x}
\]
Первый шаг (n=0 → n=1):
\[
u_i^0=f(x_i),\quad
u_i^1=u_i^0+\Delta t\,g(x_i)+\frac{r^2}{2}\bigl(u_{i+1}^0-2u_i^0+u_{i-1}^0\bigr)
\]
Граничные условия на каждом шаге:
\[
u_0^{\,n}=0,\quad u_N^{\,n}=0
\]
Устойчивость (условие Куранта)
\[
r = \frac{c\Delta t}{\Delta x} \le 1
\]
При \(r>1\) схема становится неустойчивой. Рекомендуется \(0.5\le r\le0.9\).
Алгоритм симуляции
- Задать \(f(x), g(x), L, c, \Delta x, \Delta t\) (с выполнением \(r\le1\)).
- Вычислить нулевой слой \(u_i^0 = f(x_i)\).
- Вычислить первый слой \(u_i^1\) по формуле с \(g(x_i)\).
- Для каждого следующего шага:
- обновить внутренние точки по явной схеме;
- обнулить концы \(u_0^{n+1}=0,\; u_N^{n+1}=0\).
- Повторять пункт 4 нужное количество раз.
Энергия и физика
\[
E = \frac12\int_0^L \bigl(u_t^2 + c^2 u_x^2\bigr)dx
\]
В дискретном виде при \(r\le1\) энергия сохраняется с высокой точностью. Наблюдаются бегущие волны, отражения от закреплённых концов.