Численное решение уравнений в частных производных

Решите уравнение в частных производных онлайн методом конечных разностей: уравнение теплопроводности u_t = a²u_xx + f по схеме Кранка — Николсон, волновое уравнение колебаний струны u_tt = a²u_xx + f по явной схеме, уравнения Лапласа и Пуассона в прямоугольнике методом верхней релаксации. Граничные условия Дирихле и Неймана, тепловая карта, профили, сравнение с точным решением.

Примеры:

Тепловая карта решения

——

Профили решения

Рекламный блок «после калькулятора» (ads/after-calc.html)

Три классических уравнения

УравнениеТипЧто описывает
ut = a2uxx + fпараболическоераспространение тепла в стержне, диффузию примеси; a² — коэффициент температуропроводности
utt = a2uxx + fгиперболическоеколебания струны, звуковые волны в трубе; a — скорость волны
uxx + uyy = fэллиптическоестационарное распределение температуры, электростатический потенциал, прогиб натянутой мембраны

Чтобы задача имела единственное решение, к уравнению добавляют начальные условия (для теплопроводности — одно: u(x, 0), для волнового — два: смещение и скорость) и граничные условия на концах или на границе области. Условие Дирихле задаёт значение функции (например, температуру конца стержня), условие Неймана — производную по x (поток тепла; нулевая производная означает теплоизоляцию или свободный конец струны).

Как калькулятор решает уравнения

Область разбивается сеткой, а производные заменяются разностными отношениями: u_xx ≈ (u[i+1] − 2u[i] + u[i−1]) / h².

  • Теплопроводность — схема Кранка — Николсон: полусумма явной и неявной схем. Она устойчива при любом шаге по времени и имеет второй порядок точности по h и τ. На каждом шаге решается трёхдиагональная система методом прогонки.
  • Волновое уравнение — явная схема «крест». Она устойчива при условии Куранта a·τ/h ≤ 1, поэтому шаг по времени калькулятор выбирает сам: a·τ/h = 0,9.
  • Уравнения Лапласа и Пуассона — итерационный метод верхней релаксации (SOR) с оптимальным параметром; итерации идут, пока поправки не станут меньше 10⁻¹⁰.

Если указать точное решение, калькулятор покажет наибольшую ошибку на сетке. При удвоении числа узлов ошибка схем второго порядка уменьшается примерно в 4 раза — так можно проверить сходимость.

Рекламный блок «внутри статьи» (ads/in-article.html)

Метод Фурье и точные решения

Для однородных уравнений с нулевыми условиями Дирихле на концах точное решение даёт метод разделения переменных. Для стержня длины L:

u(x, t) = Σ bn e−(aπn/L)2t sin(πnx/L),

где bₙ — коэффициенты Фурье начального условия по синусам. Высокие гармоники затухают гораздо быстрее, поэтому профиль температуры быстро становится похожим на одну полуволну синуса. Для струны каждая гармоника колеблется с частотой a·πn/L: u = Σ (Aₙ cos(aπnt/L) + Bₙ sin(aπnt/L))·sin(πnx/L).

Уравнение Лапласа в прямоугольнике с ненулевым значением на одной стороне решается так же: например, при u(x, B) = sin(πx/A) и нулевых остальных сторонах u = sin(πx/A)·sh(πy/A)/sh(πB/A).

Частые вопросы

Почему в решении волнового уравнения появляется «рябь»?

Начальный профиль с изломом (как у щипка струны) содержит много высоких гармоник, а разностная схема передаёт их с небольшой ошибкой скорости (дисперсия). Увеличьте число узлов — рябь уменьшится.

Можно ли задать переменную температуру конца?

Да, граничные функции g₀(t) и g₁(t) могут зависеть от времени, например sin(10t) или 1 − e^(−t).

Что если граничные значения не согласованы с начальным условием?

Например, φ(0) = 1, а конец держат при нуле. Решение всё равно существует, но в первый момент у края возникает резкий перепад. Схема Кранка — Николсон при большом шаге может дать в этом месте небольшие колебания, которые быстро затухают.

Рекламный блок «внизу страницы» (ads/bottom.html)