Прерывистый метод Галеркина

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

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

прерывистые методы Галеркина были впервые предложены и проанализированы в начале 1970-х годов как метод численного решения уравнений в частных производных. В 1973 году Рид и Хилл представили метод DG для решения гиперболического уравнения переноса нейтронов.

Происхождение метода DG для эллиптических задач не может быть прослежено до одной публикации, поскольку такие функции, как штраф за прыжок в современном понимании, развивались постепенно. Однако среди первых влиятельных авторов были Бабушка, Я.-Л. Львов, Иоахим Ниче и Милош Зламаль. Методы DG для эллиптических задач уже были разработаны в статье Гарта Бейкера для уравнений 4-го порядка в 1977 году. Более полный отчет об историческом развитии и введение в методы DG для эллиптических задач даны в публикации Arnold, Brezzi, Кокберн и Марини. Ряд исследовательских направлений и проблем, связанных с методами DG, собраны в сборнике трудов под редакцией Кокберна, Карниадакиса и Шу.

Содержание
  • 1 Обзор
  • 2 Скалярный гиперболический закон сохранения
    • 2.1 Дискретизация пространства
    • 2.2 Основа для функционального пространства
    • 2.3 DG-схема
  • 3 Скалярное эллиптическое уравнение
  • 4 Прямое прерывистый метод Галеркина
    • 4.1 Дискретизация по пространству
      • 4.1.1 Формулировка схемы
    • 4.2 Числовой поток
    • 4.3 Оценка погрешности
  • 5 См. также
  • 6 Ссылки
Обзор

Подобно непрерывному методу Галеркина (CG), прерывистый метод Галеркина (DG) представляет собой метод конечных элементов, сформулированный относительно слабой формулировки конкретная модельная система. В отличие от традиционных методов CG, которые соответствуют, метод DG работает с пробным пространством функций, которые являются только кусочно-непрерывными и, таким образом, часто содержат более всеобъемлющие функциональные пространства чем подпространства конечномерного внутреннего продукта, используемые в соответствующих методах.

В качестве примера рассмотрим уравнение неразрывности для скалярного неизвестного ρ {\ displaystyle \ rho}\ rho в пространственной области Ω {\ displaystyle \ Omega}\ Omega без «источников» или «стоков»:

∂ ρ ∂ t + ∇ ⋅ J = 0, {\ displaystyle {\ frac {\ partial \ rho} {\ partial t} } + \ nabla \ cdot \ mathbf {J} = 0,}{\ frac {\ partial \ rho} {\ partial t}} + \ nabla \ cdot {\ mathbf {J}} = 0,

где J {\ displaystyle \ mathbf {J}}\ mathbf {J} - это поток ρ {\ displaystyle \ rho}\ rho .

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

S hp (Ω h) = {v | Ω ei ∈ п п (Ω ei), ∀ Ω ei ∈ Ω h} {\ displaystyle S_ {h} ^ {p} (\ Omega _ {h}) = \ {v_ {| \ Omega _ {e_ {i} }} \ in P ^ {p} (\ Omega _ {e_ {i}}), \ \ \ forall \ Omega _ {e_ {i}} \ in \ Omega _ {h} \}}{\ displaystyle S_ {h} ^ {p} (\ Omega _ {h}) = \ {v_ {| \ Omega _ {e_ {i}}} \ in P ^ {p} (\ Omega _ {e_ {i}}), \ \ \ forall \ Omega _ {e_ {i}} \ in \ Omega _ {h} \}}

для P p (Ω ei) {\ displaystyle P ^ {p} (\ Omega _ {e_ {i}})}{\ displaystyle P ^ {p} (\ Omega _ {e_ {i}})} пространство многочленов со степенями, меньшими или равными p { \ displaystyle p}p над элементом Ω ei {\ displaystyle \ Omega _ {e_ {i}}}{\ displaystyle \ Omega _ {e_ {i}}} проиндексировано i {\ displaystyle i}i . Тогда для функций формы конечных элементов N j ∈ P p {\ displaystyle N_ {j} \ in P ^ {p}}{\ displaystyle N_ {j} \ in P ^ {p}} решение представлено как

ρ hi = ∑ j = 1 dofs ρ ji (t) N ji (x), ∀ x ∈ Ω ei. {\ displaystyle \ rho _ {h} ^ {i} = \ sum _ {j = 1} ^ {\ text {dofs}} \ rho _ {j} ^ {i} (t) N_ {j} ^ {i } ({\ boldsymbol {x}}), \ quad \ forall {\ boldsymbol {x}} \ in \ Omega _ {e_ {i}}.}{\displaystyle \rho _{h}^{i}=\sum _{j=1}^{\text{dofs}}\rho _{j}^{i}(t)N_{j}^{i}({\boldsymbol {x}}),\quad \forall {\boldsymbol {x}}\in \Omega _{e_{i}}.}

Затем аналогичным образом выбирая тестовую функцию

φ hi ( Икс) знак равно ∑ J знак равно 1 степеней свободы φ ji N ji (x), ∀ x ∈ Ω ei, {\ displaystyle \ varphi _ {h} ^ {i} ({\ boldsymbol {x}}) = \ sum _ {j = 1} ^ {\ text {dofs}} \ varphi _ {j} ^ {i} N_ {j} ^ {i} ({\ boldsymbol {x}}), \ quad \ forall {\ boldsymbol {x}} \ in \ Omega _ {e_ {i}},}{\displaystyle \varphi _{h}^{i}({\boldsymbol {x}})=\sum _{j=1}^{\text{dofs}}\varphi _{j}^{i}N_{j}^{i}({\boldsymbol {x}}),\quad \forall {\boldsymbol {x}}\in \Omega _{e_{i}},}

умножение уравнения неразрывности на φ hi {\ displaystyle \ varphi _ {h} ^ {i}}{\ displaystyle \ varphi _ {h} ^ {i}} и интегрируя по частям в пространстве, полудискретная формулировка ДГ принимает следующий вид:

ddt ∫ Ω ei ρ hi φ hidx + ∫ ∂ Ω ei φ hi J h ⋅ ndx = ∫ Ω ei J h ⋅ ∇ φ hidx. {\ displaystyle {\ frac {d} {dt}} \ int _ {\ Omega _ {e_ {i}}} \ rho _ {h} ^ {i} \ varphi _ {h} ^ {i} \, d {\ boldsymbol {x}} + \ int _ {\ partial \ Omega _ {e_ {i}}} \ varphi _ {h} ^ {i} \ mathbf {J} _ {h} \ cdot {\ boldsymbol {n }} \, d {\ boldsymbol {x}} = \ int _ {\ Omega _ {e_ {i}}} \ mathbf {J} _ {h} \ cdot \ nabla \ varphi _ {h} ^ {i} \, d {\ boldsymbol {x}}.}{\ displaystyle {\ frac {d } {dt}} \ int _ {\ Omega _ {e_ {i}}} \ rho _ {h} ^ {i} \ varphi _ {h} ^ {i} \, d {\ boldsymbol {x}} + \ int _ {\ partial \ Om ega _{e_{i}}}\varphi _{h}^{i}\mathbf {J} _{h}\cdot {\boldsymbol {n}}\,d{\boldsymbol {x}}=\int _{\Omega _{e_{i}}}\mathbf {J} _{h}\cdot \nabla \varphi _{h}^{i}\,d{\boldsymbol {x}}.}
Скалярный гиперболический закон сохранения

Скалярный гиперболический закон сохранения имеет вид

∂ tu + ∂ xf (u) = 0, если T>0, Икс ∈ р U (0, Икс) = U 0 (Икс), {\ Displaystyle {\ begin {align} \ partial _ {t} u + \ partial _ {x} f (u) = 0 \ quad {\ text {for}} \ quad t>0, \, x \ in \ mathbb {R} \\ u (0, x) = u_ {0} (x) \,, \ end {выравнивается}}}{\displaystyle {\begin{aligned}\partial _{t}u+\partial _{x}f(u)=0\quad {\text{for}}\quad t>0, \, x \ in \ mathbb {R} \\ u (0, x) = u_ {0} (x) \,, \ end {выравнивается}}}

где пытаются найти неизвестная скалярная функция u ≡ u (t, x) {\ displaystyle u \ Equiv u (t, x)}{\ displaystyle u \ Equiv u (t, x)} и функции f, u 0 {\ displaystyle f, u_ {0}}{\ displaystyle f, u_ {0}} обычно указываются.

Дискретизация пространства

Пространство x {\ displaystyle x}x будет дискретизировано как

R = ⋃ k I k, I k: = (xk, xk + 1) для xk < x k + 1. {\displaystyle \mathbb {R} =\bigcup _{k}I_{k}\,,\quad I_{k}:=\left(x_{k},x_{k+1}\right)\quad {\text{for}}\quad x_{k}{\ displaystyle \ mathbb {R} = \ bigcup _ {k} I_ {k } \,, \ quad I_ {k}: = \ left (x_ {k}, x_ {k + 1} \ right) \ quad {\ text {for}} \ quad x_ {k} <x_ {k + 1 } \,.}

Кроме того, нам потребуются следующие определения

hk: = | I k |, h: = sup k h k, x ^ k: = x k + h k 2. {\ displaystyle h_ {k}: = | I_ {k} | \,, \ quad h: = \ sup _ {k} h_ {k} \,, \ quad {\ hat {x}} _ {k}: = x_ {k} + {\ frac {h_ {k}} {2}} \,.}{\ displaystyle h_ {k}: = | I_ {k} | \,, \ quad h: = \ sup _ {k} h_ {k} \,, \ quad {\ hat {x}} _ {k}: = x_ {k} + {\ frac {h_ {k}} {2}} \,.}

Базис для функционального пространства

Мы выводим базисное представление для функционального пространства нашего решения и {\ displaystyle u}u . Функциональное пространство определяется как

S h p: = {v ∈ L 2 (R): v | Я k ∈ Π p} для p ∈ N 0, {\ displaystyle S_ {h} ^ {p}: = \ left \ lbrace v \ in L ^ {2} (\ mathbb {R}): v {\ Big | } _ {I_ {k}} \ in \ Pi _ {p} \ right \ rbrace \ quad {\ text {for}} \ quad p \ in \ mathbb {N} _ {0} \,,}{\displaystyle S_{h}^{p}:=\left\lbrace v\in L^{2}(\mathbb {R}):v{\Big |}_{I_{k}}\in \Pi _{p}\right\rbrace \quad {\text{for}}\quad p\in \mathbb {N} _{0}\,,}

где v | I k {\ displaystyle {v |} _ {I_ {k}}}{\displaystyle {v|}_{I_{k}}}обозначает ограничение из v {\ displaystyle v}vна интервал I k {\ displaystyle I_ {k}}I_ {k} и Π p {\ displaystyle \ Pi _ {p}}{ \ displaystyle \ Pi _ {p}} обозначает пространство многочленов максимальных степень p {\ displaystyle p}p . Индекс h {\ displaystyle h}h должен показывать связь с базовой дискретизацией, задаваемой (xk) k {\ displaystyle \ left (x_ {k} \ right) _ {k }}{ \ displaystyle \ left (x_ {k} \ right) _ {k}} . Обратите внимание, что v {\ displaystyle v}vне определен однозначно в точках пересечения (xk) k {\ displaystyle (x_ {k}) _ {k}}{\ displaystyle (x_ {k}) _ {k} } .

Сначала мы используем конкретный полиномиальный базис на интервале [- 1, 1] {\ displaystyle [-1,1]}[-1,1], полиномы Лежандра (P n) n ∈ N 0 {\ displaystyle (P_ {n}) _ {n \ in \ mathbb {N} _ {0}}}{\ displaystyle (P_ {n}) _ {n \ in \ mathbb {N} _ {0}} } , т. Е.

P 0 (x) = 1, п 1 (х) = х, п 2 (х) = 1 2 (3 х 2 - 1),… {\ displaystyle P_ {0} (x) = 1 \,, \ quad P_ {1} (x) = x \,, \ quad P_ {2} (x) = {\ frac {1} {2}} (3x ^ {2} -1) \,, \ quad \ dots}{\ displaystyle P_ {0} (x) = 1 \,, \ quad P_ {1} (x) = x \,, \ quad P_ {2} (x) = {\ frac {1} {2}} (3x ^ {2} -1) \,, \ quad \ dots}

Обратите особое внимание соотношения ортогональности

⟨P i, P j⟩ L 2 ([- 1, 1]) = 2 2 i + 1 δ ij ∀ i, j ∈ N 0. {\ displaystyle \ left \ langle P_ {i}, P_ {j} \ right \ rangle _ {L ^ {2} ([- 1,1])} = {\ frac {2} {2i + 1}} \ delta _ {ij} \ quad \ forall \, i, j \ in \ mathbb {N} _ {0} \,.}{\displaystyle \left\langle P_{i},P_{j}\right\rangle _{L^{2}([-1,1])}={\frac {2}{2i+1}}\delta _{ij}\quad \forall \,i,j\in \mathbb {N} _{0}\,.}

Преобразование в интервал [0, 1] {\ displaystyle [0, 1]}[0,1] , а нормализация достигается с помощью функций (φ i) i {\ displaystyle (\ varphi _ {i}) _ {i}}{\ displaystyle (\ varphi _ {i}) _ {i}}

φ i (x): = 2 я + 1 п я (2 x - 1) для x ∈ [0, 1], {\ displaystyle \ varphi _ {i} (x): = {\ sqrt {2i + 1}} P_ {i} (2x -1) \ quad {\ text {for}} \ quad x \ in [0,1] \,,}{\displaystyle \varphi _{i}(x):={\sqrt {2i+1}}P_{i}(2x-1)\quad {\text{for}}\quad x \in [0,1]\,,}

которые удовлетворяют соотношению ортонормированности

⟨φ i, φ j⟩ L 2 ([0, 1]) = δ ij ∀ i, j ∈ N 0. {\ displaystyle \ left \ langle \ varphi _ {i}, \ varphi _ {j} \ right \ rangle _ {L ^ {2} ([0,1])} = \ delta _ {ij} \ quad \ forall \, i, j \ in \ mathbb {N} _ {0} \,.}{\ displaystyle \ left \ langle \ varphi _ {i}, \ varphi _ {j} \ right \ rangle _ {L ^ {2} ([0,1])} = \ дельта _ {ij} \ quad \ forall \, i, j \ in \ mathbb {N} _ {0} \,.}

Преобразование на интервал I k {\ displaystyle I_ {k}}I_ {k} задается как (φ ¯ ки) я {\ displaystyle \ left ({\ bar {\ varphi}} _ {ki} \ right) _ {i}}{\ displaystyle \ left ({\ bar {\ varphi}} _ {ki} \ right) _ {i}}

φ ¯ ki: = 1 hk φ i (x - xkhk) для x ∈ I К, {\ displaystyle {\ bar {\ varphi}} _ {ki}: = {\ frac {1} {\ sqrt {h_ {k}}}} \ varphi _ {i} \ left ( {\ frac {x-x_ {k}} {h_ {k}}} \ right) \ quad {\ text {for}} \ quad x \ in I_ {k} \,,}{\ displaystyle {\ bar {\ varphi}} _ {ki}: = {\ frac {1} {\ sqrt {h_ {k}}}} \ varphi _ {i} \ left ({\ frac {x-x_ {k}} {h_ {k}}} \ right) \ quad {\ text {for}} \ quad x \ in I_ {k} \,,}

, которые соответствуют

⟨Φ ¯ ki, φ ¯ kj⟩ L 2 (I k) = δ ij ∀ i, j ∈ N 0 ∀ k. {\ displaystyle \ left \ langle {\ bar {\ varphi}} _ {ki}, {\ bar {\ varphi}} _ {kj} \ right \ rangle _ {L ^ {2} (I_ {k})} = \ delta _ {ij} \ quad \ forall \, i, j \ in \ mathbb {N} _ {0} \ forall \, k \,.}{\ displaystyle \ left \ langle {\ bar {\ varphi}} _ {ki}, {\ bar {\ varphi}} _ {kj} \ right \ rangle _ {L ^ {2} (I_ {k})} = \ delta _ {ij} \ quad \ forall \, я, j \ in \ mathbb {N} _ {0} \ forall \, k \,.}

для L ∞ {\ displaystyle L ^ {\ infty}}{\displaystyle L^{\infty }}-нормализацию мы определяем φ ki: = hk φ ¯ ki {\ displaystyle \ varphi _ {ki}: = {\ sqrt {h_ {k}}} {\ bar {\ varphi}} _ {ki}}{\ displaystyle \ varphi _ {ki}: = {\ sqrt {h_ {k}}} {\ bar {\ varphi}} _ {ki} } , а для L 1 {\ displaystyle L ^ {1}}L^{1}-нормализация мы определяем φ ~ ki: Знак равно 1 час φ ¯ ки {\ displaystyle {\ тильда {\ varphi}} _ {ki}: = {\ frac {1} {\ sqrt {h_ {k}}}} {\ bar {\ varphi}} _ { ки}}{\displaystyle {\tilde {\varphi }}_{ki}:={\frac {1}{\sqrt {h_{k}}}}{\bar {\varphi }}_{ki}}, ул.

φ ki ‖ L ∞ (I k) = ‖ φ i ‖ L ∞ ([0, 1]) =: ci, ∞ и ‖ φ ~ ki ‖ L 1 (I k) = ‖ φ i ‖ L 1 ([0, 1]) =: ci, 1. {\ displaystyle \ | \ varphi _ {ki} \ | _ {L ^ {\ infty} (I_ {k})} = \ | \ varphi _ {i} \ | _ {L ^ {\ infty} ([0, 1])} =: c_ {i, \ infty} \ quad {\ text {and}} \ quad \ | {\ tilde {\ varphi}} _ {ki} \ | _ {L ^ {1} (I_ {k})} = \ | \ varphi _ {i} \ | _ {L ^ {1} ([0,1])} =: c_ {i, 1} \,.}{\ displaystyle \ | \ varphi _ {ki} \ | _ {L ^ {\ infty} (I_ {k})} = \ | \ varphi _ {i} \ | _ {L ^ {\ infty} ([0,1])} =: c_ {i, \ infty} \ quad {\ text {and}} \ quad \ | {\ tilde { \ varphi}} _ {ki} \ | _ {L ^ {1} (I_ {k})} = \ | \ varphi _ {i} \ | _ {L ^ {1} ([0,1])} =: c_ {i, 1} \,.}

Наконец, мы можем определить базовое представление наших решений uh {\ displaystyle u_ {h}}{\ displaystyle u_ {h}}

uh (t, x): = ∑ i = 0 puki (t) φ ki (x) для x ∈ (xk, xk) + 1) uki (t) = ⟨uh (t, ⋅), φ ~ ki⟩ L 2 (I k). {\ displaystyle {\ begin {align} u_ {h} (t, x): = \ sum _ {i = 0} ^ {p} u_ {ki} (t) \ varphi _ {ki} (x) \ quad {\ text {for}} \ quad x \ in (x_ {k}, x_ {k + 1}) \\ u_ {ki} (t) = \ left \ langle u_ {h} (t, \ cdot), {\ tilde {\ varphi}} _ {ki} \ right \ rangle _ {L ^ {2} (I_ {k})} \,. \ end {align}}}{\ displaystyle {\ begin {align} u_ {h} (t, x): = \ sum _ {i = 0} ^ {p} u_ {ki} (t) \ varphi _ {ki} (x) \ quad {\ text {for}} \ quad x \ in (x_ {k}, x_ {k + 1}) \\ u_ {ki} (t) = \ left \ langle u_ {h} (t, \ cdot), {\ tilde {\ varphi}} _ {ki} \ right \ rangle _ {L ^ {2} ( I_ {k})} \,. \ End {align}}}

Обратите внимание, что э-э {\ displaystyle u_ {h}}{\ displaystyle u_ {h}} не определен в позициях интерфейса.

Кроме того, основания призм используются для плоских структур и способны к гибридизации 2-D / 3-D.

DG-схема

Закон сохранения преобразуется в его слабую форму путем умножения на тестовые функции и интегрирования по тестовым интервалам

∂ tu + ∂ xf (u) = 0 ⇒ ⟨ ∂ tu, v⟩ L 2 (I k) + ⟨∂ xf (u), v⟩ L 2 (I k) = 0 для ∀ v ∈ S hp ⇔ ⟨∂ tu, φ ~ ki⟩ L 2 (I k) + ⟨∂ xf (u), φ ~ ki⟩ L 2 (I k) = 0 для ∀ k ∀ i ≤ p. {\ Displaystyle {\ begin {align} \ partial _ {t} u + \ partial _ {x} f (u) = 0 \\\ Rightarrow \ quad \ left \ langle \ partial _ {t} u, v \ right \ rangle _ {L ^ {2} (I_ {k})} + \ left \ langle \ partial _ {x} f (u), v \ right \ rangle _ {L ^ {2} (I_ {k}) } = 0 \ quad {\ text {for}} \ quad \ forall \, v \ in S_ {h} ^ {p} \\\ Leftrightarrow \ quad \ left \ langle \ partial _ {t} u, {\ тильда {\ varphi}} _ {ki} \ right \ rangle _ {L ^ {2} (I_ {k})} + \ left \ langle \ partial _ {x} f (u), {\ tilde {\ varphi }} _ {ki} \ right \ rangle _ {L ^ {2} (I_ {k})} = 0 \ quad {\ text {for}} \ quad \ forall \, k \; \ forall \, i \ leq p \,. \ end {align}}}{\ displaystyle {\ begin {align} \ partial _ {t} u + \ partial _ {x} f (u) = 0 \\\ Rightarrow \ quad \ left \ langle \ partial _ {t } u, v \ right \ rangle _ {L ^ {2} (I_ {k})} + \ left \ langle \ partial _ {x} f (u), v \ right \ rangle _ {L ^ {2} (I_ {k})} = 0 \ quad {\ text {for}} \ quad \ forall \, v \ in S_ {h} ^ {p} \\\ Leftrightarrow \ quad \ left \ langle \ partial _ { t} u, {\ tilde {\ varphi}} _ {ki} \ right \ rangle _ {L ^ {2} (I_ {k})} + \ left \ langle \ partial _ {x} f (u), {\ tilde {\ varphi}} _ {ki} \ right \ rangle _ {L ^ {2} (I_ {k})} = 0 \ quad {\ text {for}} \ quad \ forall \, k \ ; \ forall \, я \ leq p \,. \ end {align}}}

Используя частичное интегрирование, остается

ddtuki (t) + f (u (t, xk + 1)) φ ~ ki (xk + 1) - f (u (t, xk)) φ ~ ki (xk) - ⟨f (u (t, ⋅)), φ ~ ki ′⟩ L 2 (I k) = 0 для ∀ k ∀ i ≤ p. {\ Displaystyle {\ begin {align} {\ frac {\ mathrm {d}} {\ mathrm {d} t}} u_ {ki} (t) + f (u (t, x_ {k + 1})) {\ tilde {\ varphi}} _ {ki} (x_ {k + 1}) - f (u (t, x_ {k})) {\ tilde {\ varphi}} _ {ki} (x_ {k}) - \ left \ langle f (u (t, \, \ cdot \,)), {\ tilde {\ varphi}} _ {ki} '\ right \ rangle _ {L ^ {2} (I_ {k})} = 0 \ quad {\ text {for}} \ quad \ forall \, k \; \ forall \, i \ leq p \,. \ End {align}}}{\displaystyle {\begin{aligned}{\frac {\mathrm {d} }{\mathrm {d} t}}u_{ki}(t)+f(u(t,x_{k+1})){\tilde {\varphi }}_{ki}(x_{k+1})-f(u(t,x_{k})){\tilde {\varphi }}_{ki}(x_{k})-\left\langle f(u(t,\,\cdot \,)),{\tilde {\varphi }}_{ki}'\right\rangle _{L^{2}(I_{k})}=0\quad {\text{for}}\quad \forall \,k\;\forall \,i\leq p\,.\end{aligned}}}

Потоки на границах раздела приблизительно числовыми потоками g {\ displaystyle g}g с

gk: = g (uk -, uk +), uk ±: = u (t, xk ±), {\ displaystyle g_ {k}: = g (u_ {k} ^ {-}, u_ {k} ^ {+}) \,, \ quad u_ {k} ^ {\ pm}: = u (t, x_ {k} ^ {\ pm}) \,,}{\displaystyle g_{k}:=g(u_{k}^{-},u_{k}^{+})\,,\quad u_{k}^{\pm }:=u(t,x_{k}^{\pm })\,,}

где uk ± {\ displaystyle u_ {k} ^ {\ pm}}{\ displaystyle u_ {k} ^ {\ pm}} обозначает левый и правый пределы. Наконец, DG-схема может быть записана как

ddtuki (t) + gk + 1 φ ~ ki (xk + 1) - gk φ ~ ki (xk) - ⟨f (u (t, ⋅)), φ ~ ki ′⟩ L 2 (I k) = 0 для ∀ k ∀ i ≤ p. {\ displaystyle {\ begin {align} {\ frac {\ mathrm {d}} {\ mathrm {d} t}} u_ {ki} (t) + g_ {k + 1} {\ tilde {\ varphi}} _ {ki} (x_ {k + 1}) - g_ {k} {\ tilde {\ varphi}} _ {ki} (x_ {k}) - \ left \ langle f (u (t, \, \ cdot \,)), {\ tilde {\ varphi}} _ {ki} '\ right \ rangle _ {L ^ {2} (I_ {k})} = 0 \ quad {\ text {for}} \ quad \ forall \, k \; \ forall \, i \ leq p \,. \ end {align}}}{\displaystyle {\begin{aligned}{\frac {\mathrm {d} }{\mathrm {d} t}}u_{ki}(t)+g_{k+1}{\tilde {\varphi }}_{ki}(x_{k+1})-g_{k}{\tilde {\varphi }}_{ki}(x_{k})-\left\langle f(u(t,\,\cdot \,)),{\tilde {\varphi }}_{ki}'\right\rangle _{L^{2}(I_{k})}=0\quad {\text{for}}\quad \forall \,k\;\forall \,i\leq p\,.\end{aligned}}}
Скалярное эллиптическое уравнение

Скалярное эллиптическое уравнение имеет вид

- ∂ xxu знак равно е (Икс) для Икс ∈ (a, b) и (Икс) = g (Икс) для Икс = а, b {\ Displaystyle {\ begin {align} - \ partial _ {xx} u = f (x) \ quad {\ text {for}} \ quad x \ in (a, b) \\ u (x) = g (x) \, \ quad {\ text {for}} \, \ quad x = a, b \ end {align}}}{\ Displaystyle {\ begin {align} - \ partial _ {xx} u = f (x) \ quad {\ text {for}} \ quad x \ in (a, b) \\ u (x) = g (x) \, \ quad {\ text {for}} \, \ quad x = a, b \ end {align}}}

Это уравнение представляет собой уравнение стационарной теплопроводности, где u {\ displaystyle u}u - температура. Дискретизация пространства такая же, как указано выше. Напомним, что интервал (a, b) {\ displaystyle (a, b)}(a, b) разбивается на N + 1 {\ displaystyle N + 1}N + 1 интервалы длины h {\ displaystyle h}h .

Мы вводим jump [⋅] {\ displaystyle [{} \ cdot {}]}{\displaystyle [{}\cdot {}]}и среднее значение {⋅} {\ displaystyle \ {{} \ cdot {} \}}{\ displaystyle \ {{} \ cdot {} \}} функций в узле xk {\ displaystyle x_ {k}}{\displaystyle x_{k}}:

[v] | x k = v (x k +) - v (x k -), {v} | xk = 0,5 (v (xk +) + v (xk -)) {\ displaystyle [v] {\ Big |} _ {x_ {k}} = v (x_ {k} ^ {+}) - v (x_ {k} ^ {-}), \ quad \ {v \} {\ Big |} _ {x_ {k}} = 0,5 (v (x_ {k} ^ {+}) + v (x_ {k} ^ {-}))}{\displaystyle [v]{\Big |}_{x_{k}}=v(x_{k}^{+})-v(x_{k}^{-}),\quad \{v\}{\Big |}_{x_{k}}=0.5(v(x_{k}^{+})+v(x_{k}^{-}))}

Внутренний прерывистый метод Галеркина (IPDG): find uh {\ displaystyle u_ {h}}u_ {h} удовлетворяющий

A (uh, vh) + A ∂ (ну, vh) = = (vh) + ℓ ∂ (vh) {\ displaystyle A (u_ {h}, v_ {h}) + A _ {\ partial} (u_ {h}, v_ {h}) = \ ell (v_ {h}) + \ ell _ {\ partial} (v_ {h})}{\ displaystyle A (u_ {h}, v_ {h})) + A _ {\ partial} (u_ {h}, v_ {h}) = \ ell (v_ {h}) + \ ell _ {\ partial} (v_ {h})}

где билинейные формы A {\ displaystyle A}Aи A ∂ {\ displaystyle A _ {\ partial}}{\ displaystyle A _ {\ partial}} равны

A (uh, vh) = ∑ k = 1 N + 1 ∫ xk - 1 xk ∂ xuh ∂ xvh - ∑ k = 1 N {∂ xuh} xk [vh] xk + ε ∑ k = 1 N {∂ xvh} xk [uh] xk + σ h ∑ k = 1 N [uh] xk [vh] xk {\ displaystyle A (u_ {h}), v_ {h}) = \ sum _ {k = 1} ^ {N + 1} \ int _ {x_ {k-1}} ^ {x_ {k}} \ partial _ {x} u_ {h} \ частичный _ {x} v_ {h} - \ sum _ {k = 1} ^ {N} \ {\ partial _ {x} u_ {h} \} _ {x_ {k}} [v_ {h}] _ {x_ {k}} + \ varepsilon \ sum _ {k = 1} ^ {N} \ {\ partial _ {x} v_ {h} \} _ {x_ {k}} [u_ {h}] _ { x_ {k}} + {\ frac {\ sigma} {h}} \ sum _ {k = 1} ^ {N} [u_ {h}] _ {x_ {k}} [v_ {h}] _ {x_ {k}}}{\ displaystyle A (u_ {h}, v_ {h}) = \ sum _ {k = 1} ^ {N + 1} \ int _ {x_ {k-1}} ^ {x_ {k}} \ partial _ {x} u_ {h} \ partial _ {x} v_ {h} - \ sum _ {k = 1} ^ {N} \ {\ partial _ {x} u_ {h} \} _ {x_ {k}} [v_ {h}] _ {x_ {k}} + \ varepsilon \ sum _ {k = 1} ^ {N} \ {\ partial _ {x} v_ {h} \} _ {x_ {k}} [u_ { h}] _ {x_ {k}} + {\ frac {\ sigma} {h}} \ sum _ {k = 1} ^ {N} [u_ {h}] _ {x_ {k}} [v_ { h}] _ {x_ {k}}}

и

A ∂ (uh, vh) = ∂ xuh (a) vh (a) - ∂ xuh (b) vh (b) - ε ∂ xvh (a) uh (a) + ε ∂ xvh ( б) ээ (б) + σ час (эм (а) vh (а) + ээ (б) vh (б)) {\ displaystyle A _ {\ partial} (u_ {h}, v_ {h}) = \ partial _ {x} u_ {h} (a) v_ {h} (a) - \ partial _ {x} u_ {h} (b) v_ {h} (b) - \ varepsilon \ partial _ {x} v_ { h} (a) u_ {h} (a) + \ varepsilon \ partial _ {x} v_ {h} (b) u_ {h} (b) + {\ frac {\ sigma} {h}} {\ big (} u_ {h} (a) v_ {h} (a) + u_ {h} (b) v_ {h} (b) {\ big)}}{\displaystyle A_{\partial }(u_{h},v_{h})=\partial _{x}u_{h}(a)v_{h}(a)-\partial _{x}u_{h}(b)v_{h}(b)-\varepsilon \partial _{x}v_{h}(a)u_{h}(a)+\varepsilon \partial _{x}v_{h}(b)u_{h}(b)+{\frac {\sigma }{h}}{\big (}u_{h}(a)v_{h}(a)+u_{h}(b)v_{h}(b){\big)}}

Линейные формы ℓ {\ displaystyle \ ell}\ ell и ℓ ∂ {\ displaystyle \ ell _ {\ partial}}{\ displaystyle \ ell _ {\ partial}} равны

ℓ (vh) = ∫ abfvh {\ displaystyle \ ell (v_ {h}) = \ int _ {a} ^ {b} fv_ {h}}{\ displaystyle \ ell (v_ {h}) = \ int _ {a} ^ {b} fv_ {h}}

и

ℓ ∂ (vh) = - ε ∂ xvh (a) g (a) + ε ∂ xvh (b) g (b) + σ час (g (a) vh (a) + g (b) vh (b)) {\ displaystyle \ ell _ {\ partial} (v_ {h}) = - \ varepsilon \ partial _ {x} v_ {h} (a) g (a) + \ varepsilon \ partial _ {x} v_ {h} (b) g (b) + {\ frac {\ sigma} {h}} {\ big ( } g (a) v_ {h} (a) + g (b) v_ {h} (b) {\ big)}}{\ displaystyle \ ell _ {\ partial} (v_ {h}) = - \ varepsilon \ partial _ {x} v_ {h} (a) g (a) + \ varepsilon \ partial _ {x} v_ {h} (b) g (b) + {\ frac {\ sigma} {h }} {\ big (} g (a) v_ {h} (a) + g (b) v_ {h} (b) {\ big)}}

Параметр штрафа σ {\ displaystyle \ sigma}\ sigma является положительной константой. Увеличение его значения уменьшит скачки в разрывном решении. Член ε {\ displaystyle \ varepsilon}\varepsilon выбран равным - 1 {\ displaystyle -1}-1 для метода Галеркина с симметричным внутренним штрафом; он равен + 1 {\ displaystyle +1}+1 для несимметричного метода внутреннего штрафа Галеркина.

Прямой разрывной метод Галеркина

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

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

Например, рассмотрим нелинейное уравнение диффузии, которое является одномерным:

U t - (a (U) ⋅ U x) x = 0 в (0, 1) × (0, T) {\ displaystyle U_ {t} - {(a (U) \ cdot U_ {x})} _ {x} = 0 \ \ in \ (0,1) \ times (0, T)}{\ displaystyle U_ {t} - {(a (U) \ cdot U_ {x})} _ { x} = 0 \ \ in \ (0,1) \ times (0, T)} , в котором U (x, 0) = U 0 (x) on (0, 1) {\ displaystyle U (x, 0) = U_ {0} (x) \ \ on \ (0, 1)}{\ displaystyle U (x, 0) = U_ {0} (х) \ \ на \ (0,1)}

Дискретизация пространства

Во-первых, определите {I j = (xj - 1 2, xj + 1 2), j = 1... N} {\ displaystyle \ left \ {I_ {j} = \ left (x_ {j - {\ frac {1} {2}}}, \ x_ {j + {\ frac {1} {2}}} \ right), j = 1... N \ right \}}{\ displaystyle \ left \ {I_ {j} = \ left (x_ {j - {\ frac {1} {2}}}, \ x_ {j + {\ frac {1} {2}}} \ right), j = 1... N \ right \}} и Δ xj = xj - 1 2 - xj - 1 2 {\ displaystyle \ Delta x_ {j} = x_ {j - {\ frac {1} { 2}}} - x_ {j - {\ frac {1} {2}}}}{\ displaystyle \ Delta x_ {j} = x_ {j - {\ frac {1} {2}}} - x_ {j - {\ frac {1} {2}}}} . Поэтому мы выполнили пространственную дискретизацию x {\ displaystyle x}x . Также определите Δ x = max 1 ≤ j < N Δ x j {\displaystyle \Delta x=max_{1\leq j{\ displaystyle \ Delta x = max_ {1 \ leq j <N} \ \ Дельта x_ {j}} .

Мы хотим найти приближение u {\ displaystyle u}u к U {\ displaystyle U}U такой, что ∀ T ∈ [0, T] {\ displaystyle \ forall t \ in \ left [0, T \ right]}{\displaystyle \forall t\in \left[0,T\right]}, u ∈ V Δ x {\ displaystyle u \ in \ mathbb {V} _ {\ Delta x}}{\ displaystyle u \ in \ mathbb {V} _ {\ Delta x}} ,

V Δ x: = {v ∈ L 2 (0, 1): v | I j ∈ P k (I - j), j = 1,..., N} {\ displaystyle \ mathbb {V} _ {\ Delta x}: = \ left \ {v \ in L ^ {2} \ left (0,1 \ right): {v |} _ {I_ {j }} \ in P ^ {k} \ left (Ij \ right), \ j = 1,..., N \ right \}}{\ displaystyle \ mathbb {V} _ {\ Delta x}: = \ left \ {v \ in L ^ {2} \ left (0,1 \ right): {v |} _ {I_ {j}} \ in P ^ { k} \ left (Ij \ right), \ j = 1,..., N \ right \}} , P k (I - j) {\ displaystyle P ^ {k} \ left (Ij \ right)}{\displaystyle P^{k}\left(I-j\right)}- пространство многочленов в I j {\ displaystyle I_ {j}}I_ {j} со степенью k {\ displaystyle k}kи ниже k {\ displaystyle k}k.

Формулировка схемы

Flux: h: = h (U, U x) = a (U) U Икс {\ displaystyle h: = h \ left (U, U_ {x} \ right) = a \ left (U \ right) U_ {x}}{\ displaystyle h: = h \ left (U, U_ {x } \ right) = a \ left (U \ right) U_ {x}} .

U {\ displaystyle U}{\ displaystyle U} : точное решение уравнения.

Умножьте уравнение на гладкую функцию v ∈ H 1 (0, 1) {\ displaystyle v \ in H ^ {1} \ left (0,1 \ right)}{\ displaystyle v \ in H ^ {1} \ left (0,1 \ right)} , чтобы получить следующие уравнения:

∫ I j U tvdx - hj + 1 2 vj + 1 2 + hj - 1 2 + ∫ a (U) U xvxdx = 0 {\ displaystyle \ int _ {I_ {j}} U_ {t} vdx-h_ {j + {\ frac {1} {2}}} v_ {j + {\ frac {1} {2}}} + h_ {j - {\ frac {1} { 2}}} + \ int a \ left (U \ right) U_ {x} v_ {x} dx = 0}{\displaystyle \int _{I_{j}}U_{t}vdx-h_{j+{\frac {1}{2}}}v_{j+{\frac {1}{2}}}+h_{j-{\frac {1}{2}}}+\int a\left(U\right)U_{x}v_{x}dx=0},

∫ I j U (x, 0) v (x) dx = ∫ I j U 0 (Икс) v (Икс) dx {\ Displaystyle \ int _ {I_ {j}} U \ left (x, 0 \ right) v \ left (x \ right) dx = \ int _ {I_ {j}} U_ {0} \ left (x \ right) v \ left (x \ right) dx}{\displaystyle \int _{I_{j}}U\left(x,0\right)v\left(x\right)dx=\int _{I_{j}}U_{0}\left(x\right)v\left(x\right)dx}

Здесь v {\ displaystyle v}vпроизвольно, точное решение U { \ displaystyle U}U уравнения заменяется приближенным решением u {\ displaystyle u}u , то есть необходимое численное решение получается путем решения дифференциальные уравнения.

Числовой поток

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

Числовой поток должен удовлетворять следующим условиям:

♦ Это согласуется с h = b (u) x = a (u) ux {\ displaystyle h = {b \ left (u \ right)} _ {x} = a \ left (u \ right) u_ {x}}{\ displaystyle h = {b \ left (u \ right)} _ { x} = a \ left (u \ right) u_ {x}}

♦ Числовой поток консервативен для единственного значения на xj + 1 2 {\ displaystyle x_ {j + {\ frac {1} {2}}}}{\ displaystyle x_ {j + {\ frac {1} {2}}}} .

♦ Он имеет L 2 {\ displaystyle L ^ {2}}L^{2}-устойчивость;

♦ Это может повысить точность метода.

Таким образом, дается общая схема числового потока:

h ^ = D xb (u) = β 0 [b (u)] Δ x + b (u) x ¯ + ∑ m = 1 К 2 β м ​​(Δ Икс) 2 м - 1 [∂ Икс 2 мб (u)] {\ Displaystyle {\ widehat {h}} = D_ {x} b (u) = \ beta _ {0} {\ frac {\ left [b \ left (u \ right) \ right]} {\ Delta x}} + {\ overline {{b \ left (u \ right)} _ {x}}} + \ sum _ {m = 1} ^ {\ frac {k} {2}} \ beta _ {m} {\ left (\ Delta x \ right)} ^ {2m-1} \ left [\ partial _ {x} ^ {2m} b \ left (u \ right) \ right]}{\displaystyle {\widehat {h}}=D_{x}b(u)=\beta _{0}{\frac {\left[b\left(u\right)\right]}{\Delta x}}+{\overline {{b\left(u\right)}_{x}}}+\sum _{m=1}^{\frac {k}{2}}\beta _{m}{\left(\Delta x\right)}^{2m-1}\left[\partial _{x}^{2m}b\left(u\right)\right]}

В этом потоке k {\ displaystyle k}k- это максимальный порядок полиномов в двух соседних вычислительных блоках. [⋅] {\ displaystyle \ left [\ cdot \ right]}{\ displaystyle \ left [\ cdot \ right]} - интегральная функция. Обратите внимание, что в неоднородных сетках x {\ displaystyle x}x должно быть (Δ xj + Δ xj + 1 2) {\ displaystyle \ left ({\ frac {\ Delta x_ {j} + \ Delta x_ {j + 1}} {2}} \ right)}{\ displaystyle \ left ({\ frac {\ Delta x_ {j} + \ Delta x_ {j + 1}} {2 }} \ right)} и 1 N {\ displaystyle {\ frac {1} {N}}}{\ гидроразрыв {1} {N}} в единых сетках.

Оценка ошибок

Обозначьте, что ошибка между точным решением U {\ displaystyle U}U и численным решением u {\ displaystyle u}u равно e = u - U {\ displaystyle e = uU}{\ displaystyle e = uU} .

Мы измеряем ошибку по следующей норме:

| | | v (⋅, t) | | | = (∫ 0 1 v 2 dx + (1 - γ) ∫ 0 t ∑ j = 1 N ∫ I jvx 2 dxd τ + α ∫ 0 t ∑ j = 1 N [v] 2 / Δ x ⋅ d τ) 0,5 {\ Displaystyle \ left | \ left | \ left | v (\ cdot, t) \ right | \ right | \ right | = {\ left (\ int _ {0} ^ {1} v ^ {2} dx + \ left (1- \ gamma \ right) \ int _ {0} ^ {t} \ sum _ {j = 1} ^ {N} \ int _ {I_ {j}} v_ {x} ^ {2} dxd \ tau + \ alpha \ int _ {0} ^ {t} \ sum _ {j = 1} ^ {N} {\ left [v \ right]} ^ {2} / \ Delta x \ cdot d \ tau \ right)} ^ {0.5}}{\ displaystyle \ left | \ left | \ left | v (\ cdot, t) \ right | \ right | \ right | = {\ left (\ int _ {0} ^ {1} v ^ {2} dx + \ left (1- \ gamma \ right) \ int _ {0} ^ {t} \ sum _ {j = 1} ^ {N} \ int _ {I_ {j}} v_ {x} ^ {2} dxd \ tau + \ alpha \ int _ {0} ^ {t} \ sum _ {j = 1} ^ {N} {\ left [v \ right]} ^ {2} / \ Delta x \ cdot d \ tau \ right)} ^ {0.5}}

и у нас есть | | | U (⋅, T) | | | ≤ | | | U (⋅, 0) | | | {\ Displaystyle \ left | \ left | \ left | U (\ cdot, T) \ right | \ right | \ right | \ leq \ left | \ left | \ left | U (\ cdot, 0) \ right | \ right | \ right |}{\ displaystyle \ left | \ left | \ left | U (\ cdot, T) \ right | \ right | \ right | \ leq \ left | \ left | \ left | U (\ cdot, 0) \ right | \ right | \ right |} ,| | | u (⋅, T) | | | ≤ | | | U (⋅, 0) | | | {\ Displaystyle \ left | \ left | \ left | u (\ cdot, T) \ right | \ right | \ right | \ leq \ left | \ left | \ left | U (\ cdot, 0) \ right | \ right | \ right |}{\ displaystyle \ left | \ left | \ left | u (\ cdot, T) \ right | \ right | \ right | \ leq \ left | \ left | \ left | U (\ cdot, 0) \ right | \ right | \ right |}

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