Метод конечных разностей

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

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

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

Содержание
  • 1 Вывод из полинома Тейлора
  • 2 Точность и порядок
  • 3 Пример: обыкновенное дифференциальное уравнение
  • 4 Пример: уравнение теплопроводности
    • 4.1 Явный метод
    • 4.2 Неявный метод
    • 4.3 Метод Кривошипа – Николсона
    • 4.4 Сравнение
  • 5 Пример: оператор Лапласа
    • 5.1 Согласованность
    • 5.2 Свойства
      • 5.2.1 Субгармоника
      • 5.2.2 Среднее значение
      • 5.2.3 Принцип максимума
  • 6 Метод SBP-SAT
  • 7 См. Также
  • 8 Ссылки
  • 9 Дополнительная литература
    • 9.1 Различные лекции и конспекты лекций
Вывод из полинома Тейлора

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

f (x 0 + h) = f (x 0) + f ′ (x 0) 1! ч + е ​​(2) (х 0) 2! ч 2 + ⋯ + е (п) (х 0) п! час + р N (x), {\ displaystyle f (x_ {0} + h) = f (x_ {0}) + {\ frac {f '(x_ {0})} {1!}} h + {\ гидроразрыв {f ^ {(2)} (x_ {0})} {2!}} h ^ {2} + \ cdots + {\ frac {f ^ {(n)} (x_ {0})} {n !}} h ^ {n} + R_ {n} (x),}f(x_0 + h) = f(x_0) + \frac{f'(x_0)}{1!}h + \frac{f^{(2)}(x_0)}{2!}h^2 + \cdots + \frac{f^{(n)}(x_0)}{n!}h^n + R_n(x),

где n! обозначает факториал числа n, а R n (x) - это остаточный член, обозначающий разницу между многочленом Тейлора степени n и исходной функцией. Мы получим приближение для первой производной функции «f», сначала усекая многочлен Тейлора:

f (x 0 + h) = f (x 0) + f ′ (x 0) h + R 1 ( x), {\ displaystyle f (x_ {0} + h) = f (x_ {0}) + f '(x_ {0}) h + R_ {1} (x),}f(x_0 + h) = f(x_0) + f'(x_0)h + R_1(x),

Настройка, x 0 = a имеем,

f (a + h) = f (a) + f ′ (a) h + R 1 (x), {\ displaystyle f (a + h) = f (a) + f '(a) h + R_ {1} (x),}f(a+h) = f(a) + f'(a)h + R_1(x),

Деление поперек на h дает:

f (a + h) h = f (a) h + f ′ (a) + R 1 (x) час {\ displaystyle {f (a + h) \ over h} = {f (a) \ over h} + f '(a) + {R_ {1} (x) \ over h }}{f(a+h)\over h} = {f(a)\over h} + f'(a)+{R_1(x)\over h}

Решение относительно f '(a):

f ′ (a) = f (a + h) - f (a) h - R 1 (x) h {\ displaystyle f' (a) = {f (a + h) -f (a) \ over h} - {R_ {1} (x) \ over h}}f'(a) = {f(a+h)-f(a)\over h} - {R_1(x)\over h}

Предполагая, что R 1 (x) {\ displaystyle R_ {1} (x)}R_1(x)достаточно мало, аппроксимация первой производной от «f» равна:

f ′ (a) ≈ f (a + h) - f (a) h. {\ displaystyle f '(a) \ приблизительно {f (a + h) -f (a) \ over h}.}f'(a)\approx {f(a+h)-f(a)\over h}.

Это, не случайно, похоже на определение производной, которое дается как:

f ′ (a) = lim h → 0 f (a + h) - f (a) h. {\ displaystyle f '(a) = \ lim _ {h \ to 0} {\ frac {f (a + h) -f (a)} {h}}.}f'(a)=\lim _{h\to 0}{\frac {f(a+h)-f(a)}{h}}.

кроме предела к нулю ( метод назван в честь этого).

Точность и порядок

Погрешность решения метода определяется как разница между приближением и точным аналитическим решением. Двумя источниками ошибок в методах конечных разностей являются ошибка округления, потеря точности из-за компьютерного округления десятичных величин и ошибка усечения или ошибка дискретизации <269.>, разница между точным решением исходного дифференциального уравнения и точной величиной, предполагающей совершенную арифметику (то есть без округления).

Метод конечных разностей основан на дискретизации функции на сетке.

Чтобы использовать метод конечных разностей для аппроксимации решения проблемы, нужно сначала дискретизировать область задачи. Обычно это делается путем разделения домена на однородную сетку (см. Изображение справа). Это означает, что конечно-разностные методы производят наборы дискретных численных приближений производной, часто «ступенчато по времени».

Выражением общего интереса является ошибка локального усечения метода. Обычно выражается с использованием нотации Big-O, локальная ошибка усечения относится к ошибке из-за одного применения метода. То есть это величина f ′ (xi) - fi ′ {\ displaystyle f '(x_ {i}) - f' _ {i}}f'(x_i) - f'_i, если f ′ ( xi) {\ displaystyle f '(x_ {i})}f'(x_i)относится к точному значению, а fi ′ {\ displaystyle f' _ {i}}f'_iк числовому приближение. Остаточный член полинома Тейлора удобен для анализа локальной ошибки усечения. Используя форму Лагранжа остатка от полинома Тейлора для f (x 0 + h) {\ displaystyle f (x_ {0} + h)}f (x_0 + h) , что равно

R n ( х 0 + ч) знак равно е (п + 1) (ξ) (п + 1)! (час) n + 1 {\ displaystyle R_ {n} (x_ {0} + h) = {\ frac {f ^ {(n + 1)} (\ xi)} {(n + 1)!}} ( h) ^ {n + 1}}R_n (x_0 + h) = \ frac {f ^ {(n + 1)} (\ xi)} {(n + 1)!} (H) ^ {n + 1} , где x 0 < ξ < x 0 + h {\displaystyle x_{0}<\xi x_0 <\ xi <x_0 + h ,

может быть обнаружен доминирующий член локальной ошибки усечения. Например, снова используя формулу прямой разности для первой производной, зная, что f (xi) = f (x 0 + ih) {\ displaystyle f (x_ {i}) = f (x_ {0} + ih)}f(x_i)=f(x_0+ih),

f (x 0 + ih) = f (x 0) + f ′ (x 0) ih + f ″ (ξ) 2! (ih) 2, {\ displaystyle f (x_ {0} + ih) = f (x_ {0}) + f '(x_ {0}) ih + {\ frac {f' '(\ xi)} {2! }} (ih) ^ {2},} f(x_0 + i h) = f(x_0) + f'(x_0)i h + \frac{f''(\xi)}{2!} (i h)^{2},

и с некоторыми алгебраическими манипуляциями это приводит к

f (x 0 + ih) - f (x 0) ih = f ′ (x 0) + f ″ (ξ) 2! ih, {\ displaystyle {\ frac {f (x_ {0} + ih) -f (x_ {0})} {ih}} = f '(x_ {0}) + {\ frac {f' '(\ xi)} {2!}} ih,} \frac{f(x_0 + i h) - f(x_0)}{i h} = f'(x_0) + \frac{f''(\xi)}{2!} i h,

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

f (x 0 + i h) - f (x 0) i h = f '(x 0) + O (h). {\ displaystyle {\ frac {f (x_ {0} + ih) -f (x_ {0})} {ih}} = f '(x_ {0}) + O (h).} \frac{f(x_0 + i h) - f(x_0)}{i h} = f'(x_0) + O(h).

Это означает что в этом случае локальная ошибка усечения пропорциональна размерам шага. Качество и продолжительность моделируемого решения FDM зависит от выбора уравнения дискретизации и размеров шага (временные и пространственные шаги). Качество данных и продолжительность моделирования значительно увеличиваются при меньшем размере шага. Следовательно, для практического использования необходим разумный баланс между качеством данных и продолжительностью моделирования. Большие временные шаги полезны для увеличения скорости моделирования на практике. Однако слишком большие временные шаги могут создать нестабильность и повлиять на качество данных.

Критерии фон Неймана и Куранта-Фридрихса-Леви часто используются для определения устойчивость численной модели.

Пример: обыкновенное дифференциальное уравнение

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

u ′ (x) = 3 u (x) + 2. {\ displaystyle u '(x) = 3u (x) +2. \,} u'(x) = 3u(x) + 2. \,

В методе Эйлера для решения этого уравнения используется коэффициент конечных разностей

u (x + h) - u (x) h ≈ u ′ (x) {\ displaystyle {\ frac {u (x + h) -u (x)} {h}} \ приблизительно u '(x)}\frac{u(x+h) - u(x)}{h} \approx u'(x)

, чтобы аппроксимировать дифференциальное уравнение, сначала подставив это для u '(x), затем применяя небольшую алгебру (умножая обе стороны на h, а затем добавляя u (x) к обеим сторонам), чтобы получить

u (x + h) = u (x) + h (3 и (х) + 2). {\ displaystyle u (x + h) = u (x) + h (3u (x) +2). \,}u (х + h) = u (x) + h (3u (x) +2). \,

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

Пример: уравнение теплопроводности

Рассмотрим нормализованное уравнение теплопроводности в одном измерении с однородными граничными условиями Дирихле

U t = U xx {\ displaystyle U_ {t} = U_ {xx} \,}U_t = U_ {xx} \,
U (0, t) = U (1, t) = 0 {\ displaystyle U (0, t) = U (1, t) = 0 \,}U (0, t) = U (1, t) = 0 \, (граничное условие)
U (x, 0) = U 0 (x) {\ displaystyle U (x, 0) = U_ {0} (x) \,}U (x, 0) = U_0 (x) \, (начальное условие)

Один из способов численного решения этого уравнения - аппроксимировать все производные конечными разностями. Разделим область в пространстве с помощью сетки x 0,..., x J {\ displaystyle x_ {0},..., x_ {J}}x_0,..., x_J и во времени с использованием сетки t 0,...., т N {\ displaystyle t_ {0},...., t_ {N}}t_0,...., t_N . Мы предполагаем однородное разделение как в пространстве, так и во времени, поэтому разница между двумя последовательными точками пространства будет h, а между двумя последовательными моментами времени будет k. Точки

u (xj, tn) = ujn {\ displaystyle u (x_ {j}, t_ {n}) = u_ {j} ^ {n}}u (x_j, t_n) = u_ {j} ^ n

будут представлять численное приближение u (xj, tn). {\ displaystyle u (x_ {j}, t_ {n}).}u (x_j, t_n).

Явный метод

Шаблон для наиболее распространенного явного метода для уравнения теплопроводности.

Использование прямая разница в момент времени tn {\ displaystyle t_ {n}}t_n и центральная разница второго порядка для пространственной производной в позиции xj {\ displaystyle x_ {j}}x_{j}(FTCS ) получаем рекуррентное уравнение:

ujn + 1 - ujnk = uj + 1 n - 2 ujn + uj - 1 nh 2. {\ displaystyle {\ frac {u_ {j} ^ {n + 1} -u_ {j} ^ {n}} {k}} = {\ frac {u_ {j + 1} ^ {n} -2u_ {j } ^ {n} + u_ {j-1} ^ {n}} {h ^ {2}}}. \,}\ frac {u_ {j} ^ {n + 1} - u_ {j} ^ {n}} {k} = \ frac {u_ {j + 1} ^ n - 2u_ {j} ^ n + u_ {j-1} ^ n} {h ^ 2}. \,

Это явный метод для решения одномерного уравнение теплопроводности.

Мы можем получить ujn + 1 {\ displaystyle u_ {j} ^ {n + 1}}u_j ^ {n +1} из других значений следующим образом:

ujn + 1 = (1-2 r) ujn + ruj - 1 n + ruj + 1 n {\ displaystyle u_ {j} ^ {n + 1} = (1-2r) u_ {j} ^ {n} + ru_ {j-1 } ^ {n} + ru_ {j + 1} ^ {n}}u_ {j } ^ {n + 1} = (1-2r) u_ {j} ^ {n} + ru_ {j-1} ^ {n} + ru_ {j + 1} ^ {n}

где r = k / h 2. {\ displaystyle r = k / h ^ {2}.}r = k / h ^ 2.

Итак, с этим рекуррентным соотношением и зная значения в момент времени n, можно получить соответствующие значения в момент времени n + 1. u 0 n {\ displaystyle u_ {0} ^ {n}}u_0 ^ n и u J n {\ displaystyle u_ {J} ^ {n}}u_J ^ n должен должны быть заменены граничными условиями, в этом примере они оба равны 0.

Этот явный метод известен как численно устойчивый и сходящийся всякий раз, когда r ≤ 1/2 {\ displaystyle r \ leq 1/2}r \ le 1/2 . Численные ошибки пропорциональны шагу по времени и квадрату шага по пространству:

Δ u = O (k) + O (h 2) {\ displaystyle \ Delta u = O (k) + O (h ^ { 2}) \,}\ Delta u = O (k) + O (h ^ 2) \,

Неявный метод

Шаблон неявного метода.

Если мы используем обратную разницу во время tn + 1 {\ displaystyle t_ { n + 1}}t_ {n + 1} и центральная разность второго порядка для пространственной производной в позиции xj {\ displaystyle x_ {j}}x_{j}(время назад, метод центрированного пространства "BTCS") получаем рекуррентное уравнение:

ujn + 1 - ujnk = uj + 1 n + 1-2 ujn + 1 + uj - 1 n + 1 h 2. {\ displaystyle {\ frac {u_ {j} ^ {n + 1} -u_ {j} ^ {n}} {k}} = {\ frac {u_ {j + 1} ^ {n + 1} -2u_ {j} ^ {n + 1} + u_ {j-1} ^ {n + 1}} {h ^ {2}}}. \,}\ frac {u_ {j} ^ {n + 1} - u_ {j} ^ {n}} {k} = \ frac {u_ {j + 1} ^ {n + 1} - 2u_ {j} ^ {n + 1} + u_ {j-1} ^ {n + 1}} {h ^ 2}. \,

Это неявный метод для решение одномерного уравнения теплопроводности.

Мы можем получить ujn + 1 {\ displaystyle u_ {j} ^ {n + 1}}u_j ^ {n +1} из решения системы линейных уравнений:

(1 + 2 r) ujn + 1 - ruj - 1 n + 1 - ruj + 1 n + 1 = ujn {\ displaystyle (1 + 2r) u_ {j} ^ {n + 1} -ru_ {j -1} ^ {n + 1} -ru_ {j + 1} ^ {n + 1} = u_ {j} ^ {n}}(1 + 2r) u_j ^ {n + 1} - ru_ {j-1} ^ {n + 1} - ru_ {j + 1} ^ {n + 1} = u_ {j} ^ {n}

Схема всегда численно устойчива и сходится, но обычно более трудоемкий в числовом отношении, чем явный метод, поскольку он требует решения системы численных уравнений на каждом временном шаге. Ошибки линейны по временному шагу и квадратичны по пространственному шагу:

Δ u = O (k) + O (h 2). {\ displaystyle \ Delta u = O (k) + O (h ^ {2}). \,}\ Delta u = O (k) + O (h ^ 2). \,

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

Наконец, если мы используем центральную разность в момент времени tn + 1/2 {\ displaystyle t_ {n + 1/2}}t_ {n + 1/2} и центральная разность второго порядка для пространственной производной в позиции xj {\ displaystyle x_ {j}}x_{j}(«CTCS») получаем рекуррентное уравнение:

ujn + 1 - ujnk = 1 2 (uj + 1 n + 1-2 ujn + 1 + uj - 1 n + 1 h 2 + uj + 1 n - 2 ujn + uj - 1 nh 2). {\ displaystyle {\ frac {u_ {j} ^ {n + 1} -u_ {j} ^ {n}} {k}} = {\ frac {1} {2}} \ left ({\ frac {u_ {j + 1} ^ {n + 1} -2u_ {j} ^ {n + 1} + u_ {j-1} ^ {n + 1}} {h ^ {2}}} + {\ frac {u_ {j + 1} ^ {n} -2u_ {j} ^ {n} + u_ {j-1} ^ {n}} {h ^ {2}}} \ right). \,}\ frac {u_j ^ {n + 1} - u_j ^ {n}} { k} = \ frac {1} {2} \ left (\ frac {u_ {j + 1} ^ {n + 1} - 2u_j ^ {n + 1} + u_ {j-1} ^ {n + 1} } {h ^ 2} + \ frac {u_ {j + 1} ^ {n} - 2u_j ^ {n} + u_ {j-1} ^ {n}} {h ^ 2} \ right). \,

Эта формула известен как метод Crank – Nicolson.

Шаблон Crank – Nicolson.

Мы можем получить ujn + 1 {\ displaystyle u_ {j} ^ {n + 1}}u_j ^ {n +1} от решения системы линейных уравнений:

(2 + 2 r) ujn + 1 - ruj - 1 n + 1 - ruj + 1 n + 1 = (2 - 2 r) ujn + ruj - 1 n + ruj + 1 n {\ displaystyle (2 + 2r) u_ {j} ^ {n + 1} -ru_ {j-1} ^ {n + 1} -ru_ {j + 1} ^ {n + 1} = ( 2-2r) u_ {j} ^ {n} + ru_ {j-1} ^ {n} + ru_ {j + 1} ^ {n}}(2 + 2r) u_j ^ { n + 1} - ru_ {j-1} ^ {n + 1} - ru_ {j + 1} ^ {n + 1} = (2-2r) u_j ^ n + ru_ {j-1} ^ n + ru_ {j + 1} ^ n

Схема всегда численно устойчива и сходящийся, но обычно более интенсивный в числовом отношении, поскольку требует решения системы числовых уравнений на каждом временном шаге. Ошибки квадратичны как по временному шагу, так и по пространственному шагу:

Δ u = O (k 2) + O (h 2). {\ displaystyle \ Delta u = O (k ^ {2}) + O (h ^ {2}). \,}\ Delta u = O (k ^ 2) + O (h ^ 2). \,

Сравнение

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

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

U t = α U xx, α = 1 π 2, {\ displaystyle U_ {t} = \ alpha U_ {xx}, \ quad \ альфа = {\ frac {1} {\ pi ^ {2}}},}{\ displaystyle U_ {t} = \ alpha U_ {xx}, \ quad \ alpha = {\ frac {1} {\ pi ^ {2 }}},}

с граничным условием

U (0, t) = U (1, t) = 0. {\ displaystyle U ( 0, t) = U (1, t) = 0.}{\ Displaystyle U (0, t) = U (1, t) = 0.}

Точное решение:

U (x, t) = 1 π 2 e - t sin ⁡ (π x). {\ displaystyle U (x, t) = {\ frac {1} {\ pi ^ {2}}} e ^ {- t} \ sin (\ pi x).}{\ displaystyle U (x, t) = {\ frac {1} {\ pi ^ {2}}} e ^ {- t} \ sin (\ pi x).}
Сравнение методов конечных разностей c = 4 Явный метод (нестабильный) c = 6 Неявный метод (стабильный) c = 8.5 Метод Кранка-Николсона (стабильный)
Пример: оператор Лапласа

(непрерывный) оператор Лапласа в n {\ displaystyle n}n -размеры задаются как Δ u (x) = ∑ i = 1 n ∂ i 2 u (x) {\ displaystyle \ Delta u ( x) = \ sum _ {i = 1} ^ {n} \ partial _ {i} ^ {2} u (x)}{\ displaystyle \ Delta u (x) = \ sum _ {i = 1} ^ {n} \ partial _ {i} ^ {2} u (x)} . Дискретный оператор Лапласа Δ hu {\ displaystyle \ Delta _ {h} u}{\ displaystyle \ Delta _ {h} u} зависит от размерности n {\ displaystyle n}n .

В 1D оператор Лапласа аппроксимируется как

Δ u (x) = u ″ (x) ≈ u (x - h) - 2 u (x) + u (x + h) h 2 =: Δ hu (x). {\ Displaystyle \ Delta u (x) = u '' (x) \ приблизительно {\ frac {u (xh) -2u (x) + u (x + h)} {h ^ {2}}} =: \ Delta _ {h} u (x) \,.}{\displaystyle \Delta u(x)=u''(x)\approx {\frac {u(x-h)-2u(x)+u(x+h)}{h^{2}}}=:\Delta _{h}u(x)\,.}

Это приближение обычно выражается с помощью следующего шаблона

1 h 2 [1-2 1] {\ displaystyle {\ frac {1} { h ^ {2}}} {\ begin {bmatrix} 1 -2 1 \ end {bmatrix}}}{\ displaystyle {\ frac {1} {h ^ {2}}} {\ begin {bmatrix} 1 -2 1 \ end {bmatrix}}}

и представляет собой симметричную трехдиагональную матрицу. Для равноудаленной сетки получается матрица Теплица.

. 2D-случай показывает все характеристики более общего nD-случая. Каждую вторую частную производную необходимо аппроксимировать аналогично одномерному случаю

Δ u (x, y) = uxx (x, y) + uyy (x, y) ≈ u (x - h, y) - 2 u ( x, y) + u (x + h, y) h 2 + u (x, y - h) - 2 u (x, y) + u (x, y + h) h 2 = u (x - h, y) + u (x + h, y) - 4 u (x, y) + u (x, y - h) + u (x, y + h) h 2 =: Δ hu (x, y), { \ Displaystyle {\ begin {align} \ Delta u (x, y) = u_ {xx} (x, y) + u_ {yy} (x, y) \\ \ приблизительно {\ frac {u (xh, y) -2u (x, y) + u (x + h, y)} {h ^ {2}}} + {\ frac {u (x, yh) -2u (x, y) + u (x, y + h)} {h ^ {2}}} \\ = {\ frac {u (xh, y) + u (x + h, y) -4u (x, y) + u (x, yh) + u (x, y + h)} {h ^ {2}}} \\ =: \ Delta _ {h} u (x, y) \,, \ end {align}}}{\ displaystyle {\ begin {align} \ Delta u (x, y) = u_ {xx} (x, y) + u_ {yy} (x, y) \\ \ приблизительно {\ гидроразрыва {u (xh, y) -2u (x, y) + u (x + h, y)} {h ^ {2}}} + {\ frac {u (x, yh) -2u (x, y) + u (x, y + h)} {h ^ {2}}} \\ = {\ frac {u (xh, y) + u (x + h, y) -4u (x, y) + u (x, yh) + u (x, y + h)} {h ^ {2}}} \\ =: \ Delta _ {h} u (x, y) \,, \ end {выровнено}}}

, что является обычно задается следующим шаблоном

1 h 2 [1 1 - 4 1 1]. {\ displaystyle {\ frac {1} {h ^ {2}}} {\ begin {bmatrix} 1 \\ 1 -4 1 \\ 1 \ end {bmatrix}} \,.}{\ displaystyle {\ frac {1} {h ^ {2}}} {\ begin {bmatrix} 1 \\ 1 -4 1 \\ 1 \ end {bmatrix}} \,.}

Согласованность

Согласованность вышеупомянутого приближения может быть продемонстрирована для очень регулярных функций, таких как u ∈ C 4 (Ω) {\ displaystyle u \ in C ^ {4} (\ Omega)}{\ displaystyle u \ in C ^ {4} (\ Omega)} . Утверждение:

Δ u - Δ h u = O (h 2). {\ displaystyle \ Delta u- \ Delta _ {h} u = {\ mathcal {O}} (h ^ {2}) \,.}{\ displaystyle \ Delta u- \ Delta _ {h} u = {\ mathcal {O}} (h ^ {2}) \,.}

Чтобы доказать это, нужно заменить ряд Тейлора разложения до 3-го порядка в дискретный оператор Лапласа.

Свойства

Субгармоника

Подобно непрерывным субгармоническим функциям, можно определить субгармонические функции для конечно-разностных приближений э-э {\ displaystyle u_ { h}}u_{h}

- Δ huh ≤ 0. {\ displaystyle - \ Delta _ {h} u_ {h} \ leq 0 \,.}{\ displaystyle - \ Delta _ {h} u_ {h} \ leq 0 \,.}

Среднее значение

Можно определить общий шаблон положительного типа через

[α N α W - α C α E α S], α i>0, α C = ∑ i ∈ {N, E, S, W} α i. {\ displaystyle {\ begin {bmatrix} \ alpha _ {N} \\\ alpha _ {W} - \ alpha _ {C} \ alpha _ {E} \\ \ alpha _ {S} \ end {bmatrix}} \,, \ quad \ alpha _ {i}>0 \,, \ quad \ alpha _ {C} = \ sum _ {i \ in \ {N, E, S, W \}} \ alpha _ {i} \,.}{\displaystyle {\begin{bmatrix}\alpha _{N}\\\alpha _{W}-\alpha _{C}\alpha _{E}\\\alpha _{S}\end{bmatrix}}\,,\quad \alpha _{i}>0 \,, \ quad \ alpha _ {C} = \ sum _ {i \ in \ {N, E, S, W \}} \ alpha _ { i} \,.} <45 Если uh {\ displaystyle u_ {h}}{\ displaystyle u_ {h}} является (дискретной) субгармонической, то выполняется следующее свойство среднего значения

uh (x C) ≤ ∑ i ∈ {N, E, S, W} α iuh (xi) ∑ я ∈ {N, E, S, W} α i, {\ displaystyle u_ {h} (x_ {C}) \ leq {\ frac {\ sum _ {i \ in \ { N, E, S, W \}} \ alpha _ {i} u_ {h} (x_ {i})} {\ sum _ {i \ in \ {N, E, S, W \}} \ alpha _ {i}}} \,,}{\ displaystyle u_ {h} (x_ {C}) \ leq {\ frac {\ sum _ {i \ in \ {N, E, S, W \}} \ alpha _ {i} u_ {h} (x_ {i})} {\ sum _ {i \ in \ {N, E, S, W \}} \ alpha _ {i}}} \,,}

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

Аналогичное свойство среднего значения также выполняется для непрерывного случая.

Принцип максимума

Для (дискретного т. е. функция субгармоники э {\ displaystyle u_ {h}}{\ displaystyle u_ {h}} следующие утверждения:

max Ω да ≤ max ∂ Ω да, {\ displaystyle \ max _ {\ Omega _ {h} } u_ {h} \ leq \ max _ {\ partial \ Omega _ {h}} u_ {h} \,,}{\ displaystyle \ max _ {\ Omega _ {h}} u_ {h} \ leq \ max _ {\ partial \ Omega _ {h}} u_ {h} \,,}

где Ω h, ∂ Ω h {\ displaystyle \ Omega _ {h}, \ partial \ Omega _ {h}}{\ displaystyle \ Omega _ {h}, \ partial \ Omega _ {h}} - дискретизации непрерывной области Ω {\ displaystyle \ Omega}\ Omega , соответственно граница ∂ Ω {\ displaystyle \ partial \ Omega}{\ displaystyle \ partial \ Omega} .

Аналогичный принцип максимума также выполняется для непрерывного случая.

Метод SBP-SAT

Метод SBP-SAT - это стабильный и точный метод дискретизации и наложения граничных условий корректного уравнения в частных производных с использованием конечных разностей высокого порядка. Метод основан на конечных разностях, где операторы дифференцирования проявляют свойства суммирования по частям. Обычно эти операторы состоят из матриц дифференцирования с центральными разностными шаблонами внутри с тщательно подобранными односторонними граничными шаблонами, предназначенными для имитации интеграции по частям в дискретной настройке. Используя метод SAT, граничные условия PDE накладываются слабо, когда граничные значения «подтягиваются» к желаемым условиям, а не точно выполняются. Если параметры настройки (присущие методике SAT) выбраны правильно, результирующая система ODE будет демонстрировать такое же энергетическое поведение, что и непрерывное PDE, то есть система не имеет роста нефизической энергии. Это гарантирует стабильность, если используется схема интегрирования с областью устойчивости, которая включает части мнимой оси, например метод Рунге-Кутта четвертого порядка. Это делает метод SAT привлекательным методом наложения граничных условий для методов конечных разностей более высокого порядка, в отличие, например, от метода впрыска, который обычно не будет устойчивым при использовании операторов дифференцирования высокого порядка.

См. Также
Ссылки
Дополнительная литература

Различные лекции и конспекты лекций

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