Анализ устойчивости фон Неймана

редактировать

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

Числовая устойчивость

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

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

Иллюстрация метода

Метод фон Неймана основан на разложении ошибок на ряд Фурье. Для иллюстрации процедуры рассмотрим одномерное уравнение теплопроводности

∂ u ∂ t = α ∂ 2 u ∂ x 2 {\ displaystyle {\ frac {\ partial u} {\ partial t}} = \ alpha {\ frac {\ partial ^ {2} u} {\ partial x ^ {2}}}}\ frac {\ partial u} {\ partial t} = \ alpha \ frac {\ partial ^ 2 u} {\ partial x ^ 2}

, определенный на пространственном интервале L {\ displaystyle L}L , который может быть дискретизируется как

(1) ujn + 1 = ujn + r (uj + 1 n - 2 ujn + uj - 1 n) {\ displaystyle \ quad (1) \ qquad u_ {j} ^ {n + 1} = u_ {j} ^ {n} + r \ left (u_ {j + 1} ^ {n} -2u_ {j} ^ {n} + u_ {j-1} ^ {n} \ right)}\ quad ( 1) \ qquad u_j ^ {n + 1} = u_j ^ {n} + r \ left (u_ {j + 1} ^ n - 2 u_j ^ n + u_ {j - 1} ^ n \ right)

где

r = α Δ T (Δ x) 2 {\ displaystyle r = {\ frac {\ alpha \, \ Delta t} {\ left (\ Delta x \ right) ^ {2}}}}{\ displaystyle r = {\ frac {\ alpha \, \ Delta t} {\ left (\ Delta x \ right) ^ {2}}}}

и решение ujn {\ displaystyle u_ {j} ^ {n}}u_j ^ {n} дискретного уравнения аппроксимирует аналитическое решение u (x, t) {\ displaystyle u (x, t)}u (x, t) PDE на сетке.

Определите ошибку округления ϵ jn {\ displaystyle \ epsilon _ {j} ^ {n}}\ epsilon_j ^ n как

ϵ jn = N jn - ujn {\ displaystyle \ epsilon _ {j} ^ {n} = N_ {j} ^ {n} -u_ {j} ^ {n}}\ epsilon_j ^ n = N_j ^ n - u_j ^ n

где ujn {\ displaystyle u_ {j } ^ {n}}u_j ^ n - решение дискретизированного уравнения (1), которое было бы вычислено при отсутствии ошибки округления, и N jn {\ displaystyle N_ {j} ^ { n}}N_j ^ n - численное решение, полученное в арифметике конечной точности. Поскольку точное решение ujn {\ displaystyle u_ {j} ^ {n}}u_j ^ n должно точно удовлетворять дискретизированному уравнению, ошибка ϵ jn {\ displaystyle \ epsilon _ {j} ^ {n}}\ epsilon_j ^ n также должно удовлетворять дискретизированному уравнению. Здесь мы предположили, что N j n {\ displaystyle N_ {j} ^ {n}}N_j ^ n тоже удовлетворяет уравнению (это верно только для машинной точности). Таким образом,

(2) ϵ jn + 1 = ϵ jn + r (ϵ j + 1 n - 2 ϵ jn + ϵ j - 1 n) {\ displaystyle \ quad (2) \ qquad \ epsilon _ {j} ^ {n + 1} = \ epsilon _ {j} ^ {n} + r \ left (\ epsilon _ {j + 1} ^ {n} -2 \ epsilon _ {j} ^ {n} + \ epsilon _ { j-1} ^ {n} \ right)}\ quad (2) \ qquad \ epsilon_j ^ {n + 1} = \ epsilon_j ^ n + r \ left (\ epsilon_ {j + 1} ^ n - 2 \ epsilon_j ^ n + \ epsilon_ {j - 1} ^ n \ right)

- отношение повторения ошибки. Уравнения (1) и (2) показывают, что как ошибка, так и численное решение имеют одинаковый характер роста или убывания во времени. Для линейных дифференциальных уравнений с периодическим граничным условием, пространственное изменение ошибки может быть расширено в конечный ряд Фурье относительно x {\ displaystyle x}x в интервале L {\ displaystyle L}L , как

(3) ϵ (x, t) = ∑ m = - MME m (t) eikmx {\ displaystyle \ quad (3) \ qquad \ epsilon (x, t) = \ sum _ {m = -M} ^ {M} E_ {m} (t) e ^ {{i} k_ {m} x}}{\ displaystyle \ quad (3) \ qquad \ epsilon (x, t) = \ сумма _ {m = -M} ^ {M} E_ {m} (t) e ^ {{i} k_ {m} x}}

где число волны km = π m L {\ displaystyle k_ {m} = {\ frac {\ pi m} {L}}}k_m = \ frac {\ pi m} {L} с m = - M,…, - 2, - 1, 0, 1, 2,…, M {\ displaystyle m = -M, \ dots, -2, -1,0,1,2, \ dots, M}{\ displaystyle m = -M, \ dots, -2, -1,0,1,2, \ dots, M} и M = L / Δ Икс {\ Displaystyle M = L / \ Delta x}M = L / \ Delta x . Зависимость ошибки от времени включается при условии, что амплитуда ошибки E m {\ displaystyle E_ {m}}E_ {m} является функцией времени. Часто делается предположение, что ошибка экспоненциально растет или спадает со временем, но это не обязательно для анализа устойчивости.

Если граничное условие не является периодическим, то мы можем использовать конечный интеграл Фурье относительно x {\ displaystyle x}x :

(4) ϵ (x, t) = ∫ k = - π Δ Икс знак равно π Δ Икс Е К (T) eikxdk {\ Displaystyle \ quad (4) \ qquad \ epsilon (x, t) = \ int _ {k = - {\ frac {\ pi} {\ Delta x }}} ^ {k = {\ frac {\ pi} {\ Delta x}}} E_ {k} (t) e ^ {{i} kx} dk}{\ displaystyle \ quad (4) \ qquad \ epsilon (x, t) = \ int _ {k = - {\ frac {\ pi} {\ Delta x}}} ^ {k = {\ frac {\ pi} {\ Delta x}}} E_ {k } (t) е ^ {{я} kx} dk}

. Поскольку разностное уравнение для ошибки является линейным ( поведение каждого члена ряда такое же, как и самого ряда), достаточно учесть рост погрешности типичного члена:

(5 a) ϵ m (x, t) = E m (t) eikmx {\ displaystyle \ quad (5a) \ qquad \ epsilon _ {m} (x, t) = E_ {m} (t) e ^ {ik_ {m} x}}{\ displaystyle \ quad (5a) \ qquad \ epsilon _ {m} (x, t) = E_ {m} (t) e ^ {ik_ {m} x}}

, если используется ряд Фурье или

(5 б) ϵ К (Икс, T) знак равно Е К (T) eikx {\ Displaystyle \ quad (5b) \ qquad \ epsilon _ {k} (x, t) = E_ {k} (t) e ^ {ikx}}{\ displaystyle \ quad (5b) \ qquad \ epsilon _ {k} (x, t) = E_ {k} (t) e ^ {ikx}}

, если используется интеграл Фурье.

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

Характеристики устойчивости могут быть изучены с использованием только этой формы для ошибки без потери общности. Чтобы узнать, как ошибка изменяется с шагом во времени, подставьте уравнение (5b) в уравнение (2), отметив, что

ϵ jn = E m (t) eikmx ϵ jn + 1 = E m (t + Δ t) eikmx ϵ J + 1 N знак равно E m (t) eikm (x + Δ x) ϵ j - 1 n = E m (t) eikm (x - Δ x), {\ displaystyle {\ begin {align} \ epsilon _ {j} ^ {n} = E_ {m} (t) e ^ {ik_ {m} x} \\\ epsilon _ {j} ^ {n + 1} = E_ {m} (t + \ Delta t) e ^ {ik_ {m} x} \\\ epsilon _ {j + 1} ^ {n} = E_ {m} (t) e ^ {ik_ {m} (x + \ Delta x)} \\\ epsilon _ {j-1} ^ {n} = E_ {m} (t) e ^ {ik_ {m} (x- \ Delta x)}, \ end {align}}}{ \ displaystyle {\ begin {align} \ epsilon _ {j} ^ {n} = E_ {m} (t) e ^ {ik_ {m} x} \\\ epsilon _ {j} ^ {n + 1} = E_ {m} (t + \ Delta t) e ^ {ik_ {m} x} \\\ epsilon _ {j + 1} ^ {n} = E_ {m} (t) e ^ {ik_ {m } (x + \ Delta x)} \\\ epsilon _ {j-1} ^ {n} = E_ {m} (t) e ^ {ik_ {m} (x- \ Delta x)}, \ end { выровнено}}}

для получения (после упрощение)

(6) E m (t + Δ t) E m (t) = 1 + r (eikm Δ x + e - ikm Δ x - 2). {\ displaystyle \ quad (6) \ qquad {\ frac {E_ {m} (t + \ Delta t)} {E_ {m} (t)}} = 1 + r \ left (e ^ {ik_ {m} \ Delta x} + e ^ {- ik_ {m} \ Delta x} -2 \ right).}{\ displaystyle \ quad (6) \ qquad {\ frac {E_ {m} (t + \ Delta t)} {E_ {m} (t)}} = 1 + r \ left (e ^ {ik_ {m} \ Delta x} + e ^ {- ik_ {m} \ Delta x) } -2 \ вправо).}

Представляем θ = км Δ x ∈ [- π, π] {\ displaystyle \ theta = k_ { m} \ Delta x \ in [- \ pi, \ pi]}{\ displaystyle \ theta = k_ {m} \ Delta x \ in [- \ pi, \ pi]} и используя тождества

sin ⁡ (θ 2) = ei θ / 2 - e - i θ / 2 2 i → грех 2 ⁡ (θ 2) знак равно - ei θ + е - я θ - 2 4 {\ displaystyle \ qquad \ sin \ left ({\ frac {\ theta} {2}} \ right) = {\ frac {e ^ {i \ theta / 2} -e ^ {- i \ theta / 2}} {2i}} \ qquad \ rightarrow \ qquad \ sin ^ {2} \ left ({\ frac {\ theta} {2}} \ right) = - {\ frac {e ^ {i \ theta} + e ^ {- i \ theta} -2} {4}}}{\ displaystyle \ qquad \ sin \ left ({\ frac { \ theta} {2}} \ right) = {\ frac {e ^ {i \ theta / 2} -e ^ {- i \ theta / 2}} {2i}} \ qquad \ rightarrow \ qquad \ sin ^ { 2} \ left ({\ frac {\ theta} {2}} \ right) = - { \ гидроразрыва {е ^ {я \ тета} + е ^ {- я \ тета} -2} {4}}}

уравнение (6) может быть записано как

(7) E м (T + Δ T) Е м (T) знак равно 1–4 р грех 2 ⁡ (θ / 2) {\ Displaystyle \ quad (7) \ qquad {\ frac {E_ {m} (t + \ Delta t)} {E_ {m} (t)}} = 1-4r \ sin ^ {2} (\ theta / 2)}{\ displaystyle \ quad (7) \ qquad {\ frac {E_ {m} (t + \ Delta t)} {E_ {m} (t)}} = 1-4r \ sin ^ {2} (\ theta / 2)}

Определите коэффициент усиления

(8) G ≡ E m (t + Δ t) E m (t) {\ displaystyle \ quad (8) \ qquad G \ Equiv {\ frac {E_ {m} (t + \ Delta t)} {E_ {m} (t)}}}{\ Displaystyle \ quad (8) \ qquad G \ Equiv {\ frac {E_ {m} (t + \ Delta t)} {E_ {m} (t)}}}

Необходимые и достаточное условие, чтобы ошибка оставалась ограниченной это что | G | ≤ 1. {\ displaystyle \ vert G \ vert \ leq 1.}\ vert G \ vert \ leq 1. Таким образом, из уравнений (7) и (8) условие устойчивости определяется выражением

(9) | 1 - 4 r sin 2 ⁡ (θ / 2) | ≤ 1 {\ displaystyle \ quad (9) \ qquad \ left \ vert 1-4r \ sin ^ {2} (\ theta / 2) \ right \ vert \ leq 1}{\ displaystyle \ quad (9) \ qquad \ left \ vert 1-4r \ sin ^ {2} (\ theta / 2) \ right \ vert \ leq 1}

Обратите внимание, что термин 4 р грех 2 ⁡ (θ x / 2) {\ displaystyle 4r \ sin ^ {2} (\ theta x / 2)}{\ displaystyle 4r \ sin ^ {2} (\ theta x / 2)} всегда положительно. Таким образом, чтобы удовлетворить уравнению (9):

(10) 4 r sin 2 ⁡ (θ / 2) ≤ 2 {\ displaystyle \ quad (10) \ qquad 4r \ sin ^ {2} (\ theta / 2) \ leq 2}{\ displaystyle \ quad ( 10) \ qquad 4r \ sin ^ {2} (\ theta / 2) \ leq 2}

Для выполнения вышеуказанного условия для всех m {\ displaystyle m}m(и, следовательно, для всех sin 2 ⁡ (θ x / 2) {\ displaystyle \ грех ^ {2} (\ theta x / 2)}{\ displaystyle \ sin ^ {2} ( \ theta x / 2)} ). Наибольшее значение, которое может принимать синусоидальный член, равно 1, и для этого конкретного выбора, если выполняется условие верхнего порога, то так будет и для всех узлов сетки, таким образом, мы имеем

(11) r = α Δ t (Δ x) 2 ≤ 1 2 {\ displaystyle \ quad (11) \ qquad r = {\ frac {\ alpha \ Delta t} {\ left (\ Delta x \ right) ^ {2}}} \ leq {\ frac {1} {2}}}{\ displaystyle \ quad (11) \ qquad r = {\ frac {\ alpha \ Delta t} {\ left (\ Delta x \ right) ^ {2}}} \ leq {\ frac {1} {2}}}

Уравнение (11) дает требование устойчивости для схемы FTCS применительно к одномерному уравнению теплопроводности. Он говорит, что для заданного Δ x {\ displaystyle \ Delta x}\ Delta x допустимое значение Δ t {\ displaystyle \ Delta t}\ Delta t должно быть небольшим достаточно, чтобы удовлетворить уравнению (10).

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

Ссылки

Последняя правка сделана 2021-06-18 05:27:20
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте