Численное решение уравнений в частных производных
Решите уравнение в частных производных онлайн методом конечных разностей: уравнение теплопроводности u_t = a²u_xx + f по схеме Кранка — Николсон, волновое уравнение колебаний струны u_tt = a²u_xx + f по явной схеме, уравнения Лапласа и Пуассона в прямоугольнике методом верхней релаксации. Граничные условия Дирихле и Неймана, тепловая карта, профили, сравнение с точным решением.
Тепловая карта решения
——
Профили решения
Три классических уравнения
| Уравнение | Тип | Что описывает |
|---|---|---|
| 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 раза — так можно проверить сходимость.
Метод Фурье и точные решения
Для однородных уравнений с нулевыми условиями Дирихле на концах точное решение даёт метод разделения переменных. Для стержня длины 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, а конец держат при нуле. Решение всё равно существует, но в первый момент у края возникает резкий перепад. Схема Кранка — Николсон при большом шаге может дать в этом месте небольшие колебания, которые быстро затухают.
Комментарии и вопросы