Является ли Кранк-Николсон устойчивой схемой дискретизации для уравнения реакция-диффузия-адвекция (конвекция)?

26

Я не очень знаком с общими схемами дискретизации для PDE. Я знаю, что Кранк-Николсон является популярной схемой для дискретизации уравнения диффузии. Это также хороший выбор для адвекции?

Я заинтересован в решении уравнения реакции-диффузии-адвекции ,

ut+(vuDu)=f

где - коэффициент диффузии вещества а - скорость.Duv

Для моего конкретного приложения уравнение может быть записано в виде,

ut=D2ux2Diffusion+vuxAdvection (convection)+f(x,t)Reaction

Вот схема Кранка-Николсона, которую я применил,

ujn+1ujnΔt=D[1β(Δx)2(uj1n2ujn+uj+1n)+β(Δx)2(uj1n+12ujn+1+uj+1n+1)]+v[1α2Δx(uj+1nuj1n)+α2Δx(uj+1n+1uj1n+1)]+f(x,t)

Обратите внимание на термины и . Это позволяет схеме перемещаться между:αβ

  • β=α=1/2 Crank-Niscolson,
  • β=α=1 полностью неявно
  • β=α=0 полностью явно

Значения могут быть разными, что позволяет диффузионному члену быть Crank-Nicolson, а адвекционным термином - что-то еще. Какой самый стабильный подход, что бы вы порекомендовали?

boyfarrell
источник

Ответы:

15

Это хорошо сформулированный вопрос и очень полезная вещь для понимания. Коррок прав, когда отсылает вас к анализу фон Неймана и книге Левека. Я могу добавить немного больше к этому. Я хотел бы написать подробный ответ, но на данный момент у меня есть время только на короткий:

С вы получаете метод, который является абсолютно стабильным для произвольно больших размеров шагов, а также с точностью до второго порядка. Однако метод не является L- стабильным, поэтому очень высокие частоты не будут затухать, что является нефизическим.α=β=1/2

С вы получаете метод, который также безусловно стабилен, но только с точностью до 1-го порядка. Этот метод очень диссипативный. Это L- стабильный.α=β=1

Если вы берете , ваш метод можно понимать как применение аддитивного метода Рунге-Кутты к полудискретизации с центрированной разностью. Анализ стабильности и точности для таких методов значительно сложнее. Очень хорошая статья о таких методах здесь .αβ

Какой подход рекомендовать, сильно зависит от величины , вида исходных данных, с которыми вы имеете дело, и точности, которую вы ищете. Если допустима очень низкая точность, то - очень надежный подход. Если умеренный или большой, то проблема диффузионно-доминирующая и очень жесткая; обычно даст хорошие результаты. Если очень мало, то для конвективных членов может быть выгодно использовать явный метод и разматывание более высокого порядка.Dα=β=1Dα=β=1/2D

Дэвид Кетчесон
источник
Очень проницательные ответы, спасибо! Есть ли способ определить различные режимы доминирования диффузии и адвекции? Кроме сравнения величины терминов? Например, сравнивая только коэффициенты? В чем смысл технического термина L-стабильность. Все рекомендуют эту книгу, я должен купить ее!
boyfarrell
Приведенный мною критерий включает только коэффициенты. Вкратце, L-стабильность означает, что высокие частоты будут сильно затухать.
Дэвид Кетчесон
Поэтому, когда является гладкой функцией (поскольку в этом смысле она не имеет высокочастотных компонент Фурье), Crank-Nicolson является хорошим выбором. Однако, если есть острые края, то - хороший выбор. u(x)u(x)β=1
boyfarrell
Это разумное, хотя и очень грубое обобщение. Эти варианты, по крайней мере, сработают, если вам не нужна большая точность.
Дэвид Кетчесон
10

Вообще говоря, вы захотите использовать неявный метод для параболических уравнений (диффузионная часть) - явные схемы для параболических уравнений в частных производных должны иметь очень короткий временной шаг, чтобы быть стабильным. И наоборот, для гиперболической части (адвекции) вам понадобится явный метод, так как он дешевле и не нарушает симметрию линейной системы, которую вы должны решить, используя неявную схему для диффузии. В этом случае вы хотите избежать центрированных различий, таких как и переключиться на односторонние различия по соображениям стабильности.(uj+1uj1)/2Δt(ujuj1)/Δt

Я бы посоветовал вам взглянуть на книгу Рэнди Левека или книгу Дейла Даррана « Анализ устойчивости фон Неймана». Это общий подход к установлению стабильности вашей схемы дискретизации, если у вас есть периодические граничные условия. (Там также хорошая вики статья здесь .)

Основная идея состоит в том, чтобы предположить, что в вашем дискретном приближении можно записать сумму плоских волн , где - волновое число, а - частота. Вы вбиваете плоскую волну в свое приближение к PDE и молитесь, чтобы она не взорвалась. Мы можем переписать плоскую волну как и мы хотим убедиться, что .ei(kjΔxωnΔt)kωξneikjΔx|ξ|1

В качестве иллюстрации рассмотрим обыкновенное уравнение диффузии с полностью неявным дифференцированием:

ujn+1ujnΔt=Duj1n+12ujn+1+uj+1n+1Δx2

Если подставить в плоскую волну, а затем разделить на и , мы получим уравнениеξneikjΔx

ξ1Δt=DeikΔx2+eikΔxΔx2ξ

Очистите это немного сейчас, и мы получим:

ξ=11+2DΔtΔx2(1coskΔx) .

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

ujn+1ujnΔt=vuj1nuj+1n2Δx

и посмотреть , что вы получите. (На этот раз у него будет мнимая часть.) Вы обнаружите, что , что печально. Отсюда мое предупреждение, что вы не используете его. Если вы можете сделать это, то у вас не должно быть особых проблем с поиском стабильной схемы для полного уравнения адвекции-диффузии.ξ|ξ|2>1

Тем не менее, я бы использовал полностью неявную схему для диффузионной части. Измените разность в адвективной части на если и если и выберите временной шаг так, чтобы , (Это условие Куранта-Фридрихса-Леви .) Оно является точным только для первого порядка, поэтому вы можете посмотреть схемы дискретизации более высокого порядка, если это вас касается.ujuj1v>0ujuj+1v<0VΔt/Δx1

Даниэль Шаперо
источник
Это действительно подробный ответ, спасибо.
Boyfarrell
В этом ответе рассматриваются только дискретизации, основанные на прямом и обратном методах Эйлера во времени. Вопрос о Крэнк-Николсоне.
Дэвид Кетчесон