Метод МакКормака
В вычислительной гидродинамике метод МакКормака (/məˈkɔːrmæk ˈmɛθəd/) представляет собой широко используемую схему дискретизации для численного решения гиперболических уравнений в частных производных . второго порядка Этот метод конечных разностей был представлен Робертом МакКормаком в 1969 году. [1] Метод МакКормака элегантен, прост для понимания и программирования. [2]
Алгоритм
[ редактировать ]Метод МакКормака предназначен для решения гиперболических уравнений в частных производных вида
Чтобы обновить это уравнение за один временной шаг на сетке с интервалом в ячейке сетки , метод МакКормака использует «шаг прогнозирования» и «шаг корректора», приведенные ниже. [3]
Линейный пример
[ редактировать ]Для иллюстрации алгоритма рассмотрим следующее гиперболическое уравнение первого порядка
Применение метода МакКормака к приведенному выше уравнению происходит в два этапа; шаг предиктора , за которым следует шаг корректора .
Шаг прогнозирования: на этапе прогнозирования «предварительное» значение на уровне времени (обозначается ) оценивается следующим образом
Приведенное выше уравнение получено путем замены пространственных и временных производных в предыдущем гиперболическом уравнении первого порядка с использованием прямых разностей .
Шаг корректора. На этапе корректора прогнозируемое значение корректируется согласно уравнению
Обратите внимание, что на этапе корректора используются обратные конечно-разностные аппроксимации для пространственной производной. Временной шаг, используемый на этапе корректора, равен в отличие от используется на этапе прогнозирования.
Замена срок по временному среднему значению
чтобы получить шаг корректора как
Некоторые замечания
[ редактировать ]Метод МакКормака хорошо подходит для нелинейных уравнений (невязкое уравнение Бюргерса , уравнения Эйлера и т. д.). Порядок дифференцирования можно изменить на обратный для шага по времени (т. е. вперед/назад, а затем назад/вперед). Для нелинейных уравнений эта процедура дает наилучшие результаты. Для линейных уравнений схема МакКормака эквивалентна методу Лакса–Вендрофа . [4]
первого порядка В отличие от схемы против ветра , Маккормак не вносит диффузионных ошибок в решение . Однако известно, что возникают дисперсионные ошибки ( феномен Гиббса в области, где градиент высок, ).
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Маккормак, Р.В., Эффект вязкости в ударных кратерах на гиперскорости , AIAA Paper, 69-354 (1969).
- ^ Андерсон, Дж. Д. младший , Вычислительная гидродинамика: основы с приложениями, McGraw Hill (1994).
- ^ https://www.math.umd.edu/~mariakc/burgers.pdf#page=13
- ^ Таннехилл, Дж. К., Андерсон, Д. А. , и Плетчер, Р. Х., Вычислительная механика жидкости и теплопередача, 2-е изд., Тейлор и Фрэнсис (1997).