Симулятор решает линейное уравнение переноса с постоянной скоростью u_t + c u_x = 0 на периодической одномерной сетке. Точное решение — это просто сдвинутый начальный импульс, поэтому численные артефакты видны сразу. Схема первого порядка upwind берёт информацию с набегающей стороны и монотонна при ν = cΔt/Δx ≤ 1, но вносит численную диффузию: прямоугольные импульсы заметно размазываются. Lax–Wendroff добавляет поправку второго порядка и сильнее сохраняет фронт, но на разрывах появляются дисперсионные осцилляции — перерегулирование и провалы. MacCormack — predictor-corrector схема, для гладких волн также второго порядка и с похожим звоном на резких фронтах. Страница продвигает все три схемы параллельно, накладывает точный сдвиг и показывает поточечную ошибку в нижней панели.
Для кого: Студенты численных PDE, CFD, переноса сигналов и вычислительной физики, изучающие CFL, upwind и компромисс между монотонностью и точностью второго порядка.
Ключевые понятия
Линейный перенос
Upwind
Lax-Wendroff
MacCormack
Условие CFL
Численная диффузия
Численная дисперсия
Конечные разности
Как это работает
u_t + c u_x = 0 на периодической 1D-сетке: белый пунктир — точный сдвиг импульса. Upwind монотонна, но размазывает; Lax–Wendroff и MacCormack второго порядка резче на гладких местах, но около разрывов дают дисперсионный звон. Ползунок ν = cΔt/Δx показывает предел CFL ≤ 1.
При положительной скорости upwind заменяет производную смещённой назад разностью. В модифицированном уравнении появляется искусственный диффузионный член, пропорциональный (1−ν)Δx, поэтому разрывы гасятся и расширяются вместо точного переноса.
Почему Lax–Wendroff и MacCormack дают выбросы около скачков?
Это схемы второго порядка с меньшей диффузией. Около разрыва высокочастотные компоненты получают фазовые ошибки, что даёт дисперсионный звон. Это тот же конфликт монотонности и высокой точности, который решают TVD-ограничители и современные high-resolution схемы.
Что здесь означает CFL ν?
ν = cΔt/Δx — сколько ячеек проходит информация за один временной шаг. Для этих явных схем линейного переноса базовая область устойчивости примерно ν ≤ 1. При большем ν численная область зависимости не успевает за PDE.