Затухание: куда уходит энергия колебаний
Реальные колебания всегда затухают — добавим силу трения и посмотрим, как амплитуда тает.
Затухание — потеря энергии колебаний из-за силы сопротивления, обычно пропорциональной скорости: $F_{\text{тр}} = -c\,v$.
Сила вязкого трения
Идеальный осциллятор колеблется вечно, но в реальности всегда есть потери: трение, сопротивление среды, внутренние деформации. Простейшая модель — вязкое трение, пропорциональное скорости и направленное против неё:
$$F_{\text{тр}} = -c\,v.$$
Коэффициент $c$ задаёт силу демпфирования. Полное уравнение движения становится $m a = -kx - cv$, то есть $a = \frac{-kx - cv}{m}$. Теперь на каждом шаге складываются две силы: упругая (от положения) и тормозящая (от скорости). Энергия колебаний постепенно переходит в тепло, и амплитуда падает.
Симуляция затухающих колебаний
Возьмём $k = 4$, $m = 1$, добавим $c = 0.5$ и проследим, как амплитуда уменьшается со временем.
k, m, c = 4.0, 1.0, 0.5
x, v, dt = 1.0, 0.0, 0.05
for n in range(0, 121):
if n % 20 == 0:
print(f"t={n*dt:.2f} x={x:+.4f}")
a = (-k*x - c*v) / m # упругая + тормозящая
v = v + a*dt
x = x + v*dt
Вывод:
t=0.00 x=+1.0000 t=1.00 x=-0.2675 t=2.00 x=-0.4308 t=3.00 x=+0.4381 t=4.00 x=-0.0219 t=5.00 x=-0.2499 t=6.00 x=+0.1738
Тело по-прежнему колеблется (знак $x$ меняется), но размах падает: пики становятся всё ниже. Это недостаточное затухание (underdamped) — колебания есть, но угасают. Огибающая амплитуды спадает экспоненциально: $A(t) \sim e^{-\frac{c}{2m}t}$. Чем больше $c$, тем быстрее «сдувается» колебание.
Три режима затухания
Поведение системы качественно зависит от соотношения трения и упругости.
- Недостаточное ($c$ мало): система колеблется с убывающей амплитудой — наш случай. Так ведёт себя гитарная струна или качели без подталкивания.
- Критическое ($c = 2\sqrt{km}$): система возвращается к равновесию максимально быстро без колебаний. Это идеал для амортизаторов и доводчиков дверей.
- Избыточное ($c$ велико): система медленно «вползает» в равновесие, тоже без колебаний, но вяло. Как стрелка прибора в густом масле.
Граница между колебательным и неколебательным поведением — критическое затухание $c_{\text{кр}} = 2\sqrt{km}$. Для наших $k = 4$, $m = 1$ это $c_{\text{кр}} = 4$; наше $c = 0.5$ много меньше, поэтому мы в колебательном режиме.
Как работает под капотом
В коде затухание добавляется тривиально — ещё одним слагаемым в ускорении. Но именно здесь видна сила векторного/численного подхода: нам не нужно искать аналитическое решение затухающего осциллятора (оно громоздкое, с экспонентой и синусом), достаточно сложить силы и проинтегрировать. Любую новую силу — ветер, магнит, ещё одну пружину — добавляют тем же способом: посчитали суммарную силу, поделили на массу, сделали шаг. Это главное преимущество симуляции перед аналитикой: сложность сил не усложняет код.
Частые ошибки
- Путать трение от скорости и от положения. Упругая сила зависит от $x$, трение — от $v$; это разные слагаемые.
- Слишком большой $c$ при большом шаге. Сильное демпфирование с крупным $\Delta t$ может сделать явную схему неустойчивой — скорость «перепрыгнет» ноль.
- Считать, что затухание всегда даёт колебания. При $c \ge 2\sqrt{km}$ колебаний нет вовсе — система просто сползает к равновесию.
Итог
- Вязкое трение $F_{\text{тр}}=-cv$ добавляется слагаемым в ускорение.
- Амплитуда затухающих колебаний спадает как $e^{-\frac{c}{2m}t}$.
- Три режима: недо-, критическое ($c=2\sqrt{km}$) и избыточное затухание.
- Симуляция позволяет складывать любые силы без вывода аналитического решения.