Явные и неявные методы - Explicit and implicit methods

Явные и неявные методы являются подходами , используемыми в численном анализе для получения численных приближений к решениям , зависящие от времени обыкновенных и дифференциальных уравнений с частными , как это требуется в компьютерном моделировании из физических процессов . Явные методы вычисляют состояние системы в более позднее время на основе состояния системы в текущий момент времени, в то время как неявные методы находят решение, решая уравнение, включающее как текущее состояние системы, так и более позднее. Математически, если это текущее состояние системы и состояние в более позднее время ( это небольшой временной шаг), то для явного метода

а для неявного метода решается уравнение

найти

Неявные методы требуют дополнительных вычислений (решения вышеуказанного уравнения), и их может быть намного сложнее реализовать. Неявные методы используются, потому что многие проблемы, возникающие на практике, являются жесткими , для которых использование явного метода требует непрактично малых временных шагов, чтобы сохранить ошибку в результате ограниченной (см. Численную стабильность ). Для таких задач для достижения заданной точности требуется гораздо меньше вычислительного времени, чтобы использовать неявный метод с большими временными шагами, даже с учетом того, что нужно решать уравнение вида (1) на каждом временном шаге. Тем не менее, следует ли использовать явный или неявный метод, зависит от решаемой проблемы.

Поскольку неявный метод не может быть применен для каждого типа дифференциального оператора, иногда рекомендуется использовать так называемый метод разделения операторов, что означает, что дифференциальный оператор переписывается как сумма двух дополнительных операторов

в то время как один обрабатывается явно, а другой - неявно. Для обычных приложений неявный член выбирается линейным, а явный член может быть нелинейным. Эта комбинация первого метода называется неявно-явным методом (сокращенно IMEX,).

Иллюстрация с использованием прямого и обратного методов Эйлера

Рассмотрим обыкновенное дифференциальное уравнение

с начальным условием Рассмотрим сетку для 0 ≤  k  ≤  n , то есть шаг по времени равен и обозначим для каждого . Дискретизируйте это уравнение с помощью простейших явных и неявных методов, которыми являются прямой метод Эйлера и обратный метод Эйлера (см. Численные обыкновенные дифференциальные уравнения ), и сравните полученные схемы.

Прямой метод Эйлера
Результат применения различных методов интеграции к ODE: с .

Вперед метод Эйлера

дает

для каждого Это явная формула для .

Обратный метод Эйлера

С обратным методом Эйлера

можно найти неявное уравнение

для (сравните это с формулой (3), где было дано явно, а не как неизвестное в уравнении).

Это квадратное уравнение , имеющее один отрицательный и один положительный корень . Положительный корень выбирается, потому что в исходном уравнении начальное условие положительно, а затем на следующем временном шаге задается выражением

В подавляющем большинстве случаев уравнение, которое необходимо решить при использовании неявной схемы, намного сложнее, чем квадратное уравнение, и аналитического решения не существует. Затем для нахождения численного решения используются алгоритмы поиска корней , такие как метод Ньютона .

Кривошипный метод Николсона

По методу Кранка-Николсона

можно найти неявное уравнение

для (сравните это с формулой (3), где дано явно, а не как неизвестное в уравнении). Это можно решить численно, используя алгоритмы поиска корней , такие как метод Ньютона , чтобы получить .

Crank Nicolson можно рассматривать как форму более общих схем IMEX ( Im plicit- Ex plicit ).

Вперед-назад метод Эйлера
Результат применения как метода Эйлера вперед-назад, так и метода Эйлера вперед-назад для и .

Чтобы применить IMEX-схему, рассмотрим несколько иное дифференциальное уравнение:

Это следует из того

и поэтому

для каждого

Смотрите также

Источники