Метод Лакса–Фридрихса

Метод Лакса–Фридрихса , названный в честь Питера Лакса и Курта О. Фридрихса , представляет собой численный метод решения гиперболических уравнений в частных производных, основанный на конечных разностях . Метод можно описать как схему FTCS (вперед во времени, центрированную в пространстве) с численным членом диссипации 1/2. Можно рассматривать метод Лакса–Фридрихса как альтернативу схеме Годунова , где избегают решения задачи Римана на каждом интерфейсе ячеек за счет добавления искусственной вязкости.

Иллюстрация к линейной задаче

Рассмотрим одномерное линейное гиперболическое уравнение в частных производных для вида: в области с начальным условием и граничными условиями ты ( х , т ) {\displaystyle u(x,t)} ты т + а ты х = 0 {\displaystyle u_{t}+au_{x}=0} б х с , 0 т г {\displaystyle b\leq x\leq c,\;0\leq t\leq d} ты ( х , 0 ) = ты 0 ( х ) {\displaystyle u(x,0)=u_{0}(x)\,} ты ( б , т ) = ты б ( т ) ты ( с , т ) = ты с ( т ) . {\displaystyle {\begin{align}u(b,t)&=u_{b}(t)\\u(c,t)&=u_{c}(t).\end{align}}}

Если дискретизировать домен до сетки с равноотстоящими точками с интервалом в -направлении и в -направлении, мы вводим приближение , где - целые числа, представляющие количество интервалов сетки. Тогда метод Лакса-Фридрихса для приближения уравнения в частных производных задается как: ( б , с ) × ( 0 , г ) {\displaystyle (b,c)\times (0,d)} Δ х {\displaystyle \Дельта х} х {\displaystyle x} Δ т {\displaystyle \Дельта t} т {\displaystyle т} ты ~ {\displaystyle {\тильда {u}}} ты {\displaystyle u} ты я н = ты ~ ( х я , т н )      с      х я = б + я Δ х , т н = н Δ т      для      я = 0 , , Н , н = 0 , , М , {\displaystyle u_{i}^{n}={\tilde {u}}(x_{i},t^{n})~~{\text{ с }}~~{\begin{array}{l}x_{i}=b+i\,\Delta x,\\t^{n}=n\,\Delta t\end{array}}~~{\text{ для }}~~{\begin{array}{l}i=0,\ldots ,N,\\n=0,\ldots ,M,\end{array}}} Н = с б Δ х , М = г Δ т {\displaystyle N={\frac {cb}{\Delta x}},\,M={\frac {d}{\Delta t}}} ты я н + 1 1 2 ( ты я + 1 н + ты я 1 н ) Δ т + а ты я + 1 н ты я 1 н 2 Δ х = 0 {\displaystyle {\frac {u_{i}^{n+1}-{\frac {1}{2}}(u_{i+1}^{n}+u_{i-1}^{n})}{\Delta t}}+a{\frac {u_{i+1}^{n}-u_{i-1}^{n}}{2\,\Delta x}}=0}

Или, переписывая это, чтобы найти неизвестное ты я н + 1 , {\displaystyle u_{i}^{n+1},} ты я н + 1 = 1 2 ( ты я + 1 н + ты я 1 н ) а Δ т 2 Δ х ( ты я + 1 н ты я 1 н ) {\displaystyle u_{i}^{n+1}={\frac {1}{2}}\left(u_{i+1}^{n}+u_{i-1}^{n}\right)-a{\frac {\Delta t}{2\,\Delta x}}\left(u_{i+1}^{n}-u_{i-1}^{n}\right)}

Откуда берутся начальные значения и граничные узлы ты я 0 = ты 0 ( х я ) ты 0 н = ты б ( т н ) ты Н н = ты с ( т н ) . {\displaystyle {\begin{align}u_{i}^{0}&=u_{0}(x_{i})\\u_{0}^{n}&=u_{b}(t^{n})\\u_{N}^{n}&=u_{c}(t^{n}).\end{align}}}

Расширения для нелинейных задач

Нелинейный гиперболический закон сохранения определяется через функцию потока : ф {\displaystyle f} ты т + ( ф ( ты ) ) х = 0. {\displaystyle u_{t}+(f(u))_{x}=0.}

В случае мы приходим к скалярной линейной задаче. Заметим, что в общем случае — вектор с уравнениями в нем. Обобщение метода Лакса-Фридрихса на нелинейные системы принимает вид [1] ф ( ты ) = а ты {\displaystyle f(u)=au} ты {\displaystyle u} м {\displaystyle м} ты я н + 1 = 1 2 ( ты я + 1 н + ты я 1 н ) Δ т 2 Δ х ( ф ( ты я + 1 н ) ф ( ты я 1 н ) ) . {\displaystyle u_{i}^{n+1}={\frac {1}{2}}\left(u_{i+1}^{n}+u_{i-1}^{n}\right)-{\frac {\Delta t}{2\,\Delta x}}\left(f(u_{i+1}^{n})-f(u_{i-1}^{n})\right).}

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

Отметим, что этот метод можно записать в форме сохранения: где ты я н + 1 = ты я н Δ т Δ х ( ф ^ я + 1 / 2 н ф ^ я 1 / 2 н ) , {\displaystyle u_{i}^{n+1}=u_{i}^{n}-{\frac {\Delta t}{\Delta x}}\left({\hat {f}}_{i+1/2}^{n}-{\hat {f}}_{i-1/2}^{n}\right),} f ^ i 1 / 2 n = 1 2 ( f i 1 + f i ) Δ x 2 Δ t ( u i n u i 1 n ) . {\displaystyle {\hat {f}}_{i-1/2}^{n}={\frac {1}{2}}\left(f_{i-1}+f_{i}\right)-{\frac {\Delta x}{2\Delta t}}\left(u_{i}^{n}-u_{i-1}^{n}\right).}

Без дополнительных членов и в дискретном потоке, мы приходим к схеме FTCS , которая, как хорошо известно, безусловно неустойчива для гиперболических задач. u i n {\displaystyle u_{i}^{n}} u i 1 n {\displaystyle u_{i-1}^{n}} f ^ i 1 / 2 n {\displaystyle {\hat {f}}_{i-1/2}^{n}}

Стабильность и точность

Пример начального условия задачи
Раствор Лакса-Фридрихса

Этот метод является явным и имеет первый порядок точности по времени и первый порядок точности по пространству ( при условии, что функции достаточно гладкие). При этих условиях метод является устойчивым тогда и только тогда, когда выполняется следующее условие: O ( Δ t ) + O ( Δ x 2 / Δ t ) ) {\displaystyle O(\Delta t)+O({\Delta x^{2}}/{\Delta t}))} u 0 ( x ) , u b ( t ) , u c ( t ) {\displaystyle u_{0}(x),\,u_{b}(t),\,u_{c}(t)} | a Δ t Δ x | 1. {\displaystyle \left|a{\frac {\Delta t}{\Delta x}}\right|\leq 1.}

( Анализ устойчивости фон Неймана может показать необходимость этого условия устойчивости.) Метод Лакса–Фридрихса классифицируется как имеющий диссипацию второго порядка и дисперсию третьего порядка . [2] Для функций, имеющих разрывы , схема демонстрирует сильную диссипацию и дисперсию; [3] см. рисунки справа.

Ссылки

  1. ^ LeVeque, Randall J. (1992). Численные методы для законов сохранения. Базель: Birkhäuser Verlag. стр. 125. ISBN 978-3-0348-8629-1. OCLC  828775522.
  2. ^ Чу, CK (1978), Численные методы в механике жидкостей , Достижения в прикладной механике, т. 18, Нью-Йорк: Academic Press , стр. 304, ISBN 978-0-12-002018-8
  3. ^ Томас, Дж. В. (1995), Численные уравнения в частных производных: методы конечных разностей , Тексты по прикладной математике, т. 22, Берлин, Нью-Йорк: Springer-Verlag , §7.8, ISBN 978-0-387-97999-1
  • ДюШато, Пол; Захманн, Дэвид (2002), Прикладные уравнения в частных производных , Нью-Йорк: Dover Publications , ISBN 978-0-486-41976-3
  • Press, William H; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007), «Раздел 20.1.2. Метод Лакса», Numerical Recipes: The Art of Scientific Computing (3-е изд.), Нью-Йорк: Cambridge University Press, ISBN 978-0-521-88068-8
Retrieved from "https://en.wikipedia.org/w/index.php?title=Lax–Friedrichs_method&oldid=1196512515"