Метод Кранка – Николсона


В численном анализе метод Кранка – Николсона представляет собой метод конечных разностей, используемый для численного решения уравнения теплопроводности и аналогичных уравнений в частных производных . [1] Это метод второго порядка по времени. Он неявный во времени, может быть записан как неявный метод Рунге – Кутта , и он численно устойчив . Метод был разработан Джоном Крэнком и Филлис Николсон в середине 20 века. [2]

Для уравнений диффузии (и многих других) можно показать, что метод Кранка – Николсона безусловно устойчив . [3] Однако приближенные решения могут все еще содержать (затухающие) паразитные колебания, если отношение временного шага Δ t, умноженного на коэффициент температуропроводности, к квадрату пространственного шага, Δ x 2 , велико (обычно больше 1/2 на Анализ устойчивости фон Неймана ). По этой причине, когда необходимы большие временные шаги или высокое пространственное разрешение, часто используется менее точный обратный метод Эйлера , который является стабильным и невосприимчивым к колебаниям. [ необходима цитата ]

Шаблон Кранка – Николсона для одномерной задачи

Метод Кранка – Николсона основан на правиле трапеций , обеспечивающем сходимость второго порядка по времени. Для линейных уравнений правило трапеций эквивалентно неявному методу средней точки [ необходима цитата ]  - простейшему примеру неявного метода Рунге-Кутты Гаусса – Лежандра, который также имеет свойство быть геометрическим интегратором . Например, в одном измерении предположим, что уравнение в частных производных имеет вид

Сдача а также оценивается для а также , уравнение для метода Кранка – Николсона представляет собой комбинацию прямого метода Эйлера прии в обратном направлении метод Эйлера при п  + 1 (Замечу, однако, что сам метод является не просто средним из этих двух методов, так как обратное уравнение Эйлера имеет неявную зависимость от раствора):

Обратите внимание, что это неявный метод : чтобы получить «следующее» значение u по времени, необходимо решить систему алгебраических уравнений. Если уравнение в частных производных является нелинейным, дискретизация также будет нелинейной, так что продвижение во времени будет включать решение системы нелинейных алгебраических уравнений, хотя возможны линеаризации. Во многих задачах, особенно линейной диффузии, алгебраическая задача является трехдиагональной и может быть эффективно решена с помощью алгоритма трехдиагональной матрицы , который дает быстрое прямое решение, в отличие от обычного для полной матрицы, в которой указывает размер матрицы.

Метод Кранка – Николсона часто применяется к задачам диффузии . Например, для линейной диффузии

применяя конечно-разностную пространственную дискретизацию для правой части, дискретизация Кранка – Николсона будет

или, позволяя ,

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

Квазилинейное уравнение, например (это минималистичный пример, а не общий)

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

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

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

где C - концентрация загрязнителя, а нижние индексы N и M соответствуют предыдущему и следующему каналу.

Метод Кранка – Николсона (где i представляет положение, а j время) преобразует каждый компонент PDE в следующее:

Теперь мы создаем следующие константы, чтобы упростить алгебру:

и подставляем ( 2 ), ( 3 ), ( 4 ), ( 5 ), ( 6 ), ( 7 ), α , β и λ в ( 1 ). Затем мы помещаем новые временные параметры слева ( j  + 1) и текущие временные параметры справа ( j ), чтобы получить

Чтобы смоделировать первый канал, мы понимаем, что он может контактировать только со следующим каналом ( M ), поэтому выражение упрощается до

Таким же образом, чтобы смоделировать последний канал, мы понимаем, что он может контактировать только с предыдущим каналом ( N ), поэтому выражение упрощается до

Чтобы решить эту линейную систему уравнений, мы должны теперь увидеть, что сначала необходимо задать граничные условия для начала каналов:

: начальное условие для канала на текущем временном шаге,
: начальное условие для канала на следующем временном шаге,
: начальное условие для предыдущего канала к анализируемому на текущем временном шаге,
: начальное условие для следующего канала после анализируемого на текущем временном шаге.

Для последней ячейки каналов ( z ) наиболее удобным становится адиабатическое условие, поэтому

Это условие выполняется тогда и только тогда, когда (независимо от нулевого значения)

Решим эту задачу (в матричной форме) для случая 3 каналов и 5 узлов (включая начальное граничное условие). Мы выражаем это как линейную системную задачу:

где

Теперь мы должны понять, что AA и BB должны быть массивами, состоящими из четырех разных подмассивов (помните, что в этом примере рассматриваются только три канала, но он охватывает основную часть, описанную выше):

где упомянутые выше элементы соответствуют следующим массивам и дополнительным 4 × 4, заполненным нулями. Обратите внимание, что размеры AA и BB составляют 12 × 12:

D вектор здесь используется для хранения граничных условий. В этом примере это вектор 12 × 1:

Чтобы найти концентрацию в любой момент, необходимо повторить следующее уравнение:

При расширении до двух измерений на однородной декартовой сетке вывод аналогичен, и результаты могут привести к системе полосно-диагональных уравнений, а не трехдиагональных . Двумерное уравнение теплопроводности

может быть решена с помощью дискретизации Кранка – Николсона

предполагая, что используется квадратная сетка, так что . Это уравнение можно несколько упростить, переставив члены и используя номер CFL

Для численной схемы Кранка – Николсона низкое число CFL не требуется для стабильности, однако оно требуется для численной точности. Теперь мы можем записать схему как

Решение такой линейной системы нецелесообразно из-за чрезвычайно высокой временной сложности решения линейной системы с помощью исключения Гаусса или даже алгоритма Штрассена . Следовательно, неявный метод переменного направления может быть реализован для решения численного PDE, при этом одно измерение обрабатывается неявно, а другое измерение - явно для половины назначенного временного шага и, наоборот, для оставшейся половины временного шага. Преимущество этой стратегии состоит в том, что неявный решатель требует для решения только трехдиагонального матричного алгоритма . Разница между истинным решением Кранка – Николсона и приближенным решением ADI имеет порядок точностии, следовательно, с достаточно малым шагом по времени им можно пренебречь. [4]


Поскольку метод Кранка-Николсона является неявным , обычно невозможно решить для предсказанного будущего, когда дифференциальное уравнение является нелинейным. Вместо этого следует использовать итеративный метод, чтобы приблизиться к предсказанию. Один из вариантов - использовать метод Ньютона для схождения к предсказанию, но для этого требуется вычисление якобиана. Для многомерных систем, подобных системам вычислительной гидродинамики или численной теории относительности , вычисление этого якобиана может оказаться невозможным.

Одна альтернатива - определить карту, для которой предсказание Крэнка-Николсона является фиксированной точкой. Умные итерации этой карты могут привести к правильному прогнозу. Обратите внимание, что для нелинейных задач не гарантируется, что прогноз существует или даже уникален. Для достаточно малых размеров шага эти итерационные методы должны быть успешными. Позволять где а также . Прогноз Крэнка-Николсона будет фиксированной точкой карты. Если итерация карты не сходится, параметризованная карта , с участием , может вести себя лучше.

"> Воспроизвести медиа
Размерное моделирование вихрей 128x128 в 2D-блоке, где численное интегрирование выполняется итеративным методом Кранка-Николсона. Чтобы сойтись, требовалось ~ 30 итераций на каждом временном шаге.

Поскольку ряд других явлений можно смоделировать с помощью уравнения теплопроводности (часто называемого уравнением диффузии в финансовой математике ), метод Кранка – Николсона также был применен к этим областям. [5] В частности, дифференциальное уравнение модели ценообразования опционов Блэка – Шоулза можно преобразовать в уравнение теплопроводности, и, таким образом, численные решения для ценообразования опционов можно получить с помощью метода Кранка – Николсона.

Важность этого для финансов заключается в том, что проблемы ценообразования опционов, выходящие за рамки стандартных допущений (например, включение меняющихся дивидендов), не могут быть решены в закрытой форме, но могут быть решены с помощью этого метода. Однако обратите внимание, что для негладких конечных условий (которые случаются для большинства финансовых инструментов) метод Кранка – Николсона не является удовлетворительным, поскольку числовые колебания не затухают. Для ванильных опционов это приводит к колебаниям гамма-значения вокруг страйк-цены . Следовательно, необходимы специальные шаги инициализации демпфирования (например, полностью неявный метод конечных разностей).

  • Финансовая математика
  • Трапециевидная линейка

  1. ^ Tuncer Джебеджи (2002). Конвективный теплообмен . Springer. ISBN 0-9668461-4-1.
  2. ^ Crank, J .; Николсон, П. (1947). «Практический метод численной оценки решений уравнений в частных производных типа теплопроводности». Proc. Camb. Фил. Soc . 43 (1): 50–67. DOI : 10.1017 / S0305004100023197 .
  3. ^ Томас, JW (1995). Численные уравнения с частными производными: конечно-разностные методы . Тексты по прикладной математике. 22 . Берлин, Нью-Йорк: Springer-Verlag . ISBN 978-0-387-97999-1.. Пример 3.3.2 показывает, что Кранк – Николсон безусловно устойчив в применении к.
  4. ^ «Многомерные параболические задачи» (PDF) . Кафедра компьютерных наук . RPI . Дата обращения 29 мая 2016 .
  5. ^ Wilmott, P .; Howison, S .; Дьюинн, Дж. (1995). Математика финансовых производных: Введение для студентов . Cambridge Univ. Нажмите. ISBN 0-521-49789-2. Математика финансовых производных Уилмотт.


  • Численные методы PDE для ученых и инженеров , лекции в открытом доступе и коды для численных PDE
  • Пример того, как применить и реализовать метод Кранка-Николсона для уравнения адвекции