1612725465-542b3179b36a4849700e0b2ecf7da111 (828844), страница 18
Текст из файла (страница 18)
. , m) введена своя функция-ограничитель Φk . Как и дляодного уравнения, если Φk ≡ 0, то для инварианта sk имеем монотонную противопоточную схему первого порядка аппроксимации. Если жеΦk ≡ 1, то получаем схему Лакса – Вендроффа второго порядка аппроксимации на гладких решениях, но осциллирующую на разрывныхрешениях. Для монотонизации схемы Лакса – Вендроффа в качествеΦk можно взять функции, которые используются для скалярного уравнения переноса, например, функцию вида (2.50):1при |(sk )nx,j+1/2 | ≤ |(sk )nx,j+1/2−σk |,(sk )nx,j+1/2 · (sk )nx,j+1/2−σk ≥ 0,n (sk )x,j+1/2−σkпри |(sk )nx,j+1/2 | > |(sk )nx,j+1/2−σk |,(Φk )nj+1/2 =n(s)k x,j+1/2(sk )nx,j+1/2 · (sk )nx,j+1/2−σk ≥ 0,0при (sk )nx,j+1/2 · (sk )nx,j+1/2−σk < 0,где σk = sgn(λk ).Перейдем теперь от записи схемы в инвариантах Римана (7.66) к схеTме в исходных переменных u = (u1 , .
. . , um ) . Для этого вначале перепишем схему (7.66) в виде следующей двухшаговой схемы:()∗nn(sk )j+1/2 − 12 (sk )j + (sk )j+1nn+ (dk )j+1/2 (sk )x,j+1/2 ,(7.67)τ /2n+1(sk )jτ∗n− (sk )j+ λk∗(sk )j+1/2 − (sk )j−1/2h121= 0,(7.68)гдеdk = σk(1 − Φæk)+ |λk |Φk ,Далее будем поступать такний (7.53), (7.49) для системыдем векторыs1 ..s= .k = 1, . . . , m.же, как при выводе разностных уравнелинейных уравнений мелкой воды. Ввеs∗1s∗ = ... s∗m,smи перепишем уравнения (7.67), (7.68) в векторной форме:s∗j+1/2 − 21 (snj+1 + snj )τ /2n+ Dj+1/2snx,j+1/2 = 0,(7.69)s∗j+1/2 − s∗j−1/2sn+1− snjj+Λ= 0,τhnnгде Dj+1/2– диагональная матрица с элементами (dk )j+1/2 на диагонали. Пусть u∗ = Rs∗ . Учитывая равенство s = Lu, перепишем уравнения(7.69) в виде системы уравнений для исходной функции u:Lu∗j+1/2 − 12 (unj+1 + unj )τ /2n+ Dj+1/2L unx,j+1/2 = 0,u∗j+1/2 − u∗j−1/2un+1− unjjL+ ΛL= 0.τh(7.70)Видим, что эти уравнения почти совпадают с приведенными ранее уравнениями (7.44), только теперь роль матрицы DΛL в первом изуравнений (7.44) исполняет матрица DL.
Поэтому все дальнейшие преобразования в записи системы уравнений (7.70) выполняются так же,как для схемы, аппроксимирующей линейные уравнения мелкой воды.В результате получаем уравнение (7.49) и аналог уравнения (7.50):f ∗j+1/2 − 12 (f nj+1 + f nj )n+ RDj+1/2ΛLunx,j+1/2 = 0,τ /2(7.71)гдеf = Au,f nj = Aunj ,122f ∗j+1/2 = Au∗j+1/2 .(7.72)Используя затем равенство (7.52), приходим к окончательному виду модифицированной схемы Лакса – Вендроффа, аппроксимирующей систему уравнений (1.1) с постоянной матрицей A:f ∗j+1/2 − 12 (f nj+1 + f nj )n+ RDj+1/2Lf nx,j+1/2 = 0,τ /2(7.73)f ∗j+1/2 − f ∗j−1/2un+1− unjj+= 0.(7.74)τhИтак, при использовании модифицированной схемы Лакса – Вендроффа вначале по формуле (7.73) вычисляются потоки в полуцелыхузлах xj+1/2 , а затем, по формуле (7.74), вычисляются искомые величины un+1.jЗАДАЧИk= O(h) (k = 1, 2) схема (7.53), (7.49)7.1.
Покажите, что при θj+1/2имеет второй порядок аппроксимации.k7.2. Покажите, что при θj+1/2= θ0k , где величины θ0k определеныв формуле (7.40), схема предиктор-корректор (7.53), (7.49) совпадаетс противопоточной схемой (7.23).7.3. С помощью спектрального метода Неймана покажите, что приkθj+1/2= θ = const для устойчивости схемы (7.53), (7.49) по начальнымданным необходимо выполнение неравенств (7.55).7.4. С помощью спектрального метода Неймана покажите, что неявная противопоточная схемаun+1− unjjn+1− n+1+ A+0 ux,j−1/2 + A0 ux,j+1/2 = 0τявляется абсолютно устойчивой.7.5. Покажите, что схема Мак-Кормакаu∗j − unjunj+1 − unj+ A0= 0,τh)(un+1− 0, 5 u∗j + unju∗j − u∗j−1j+ A0= 0,τ /2h(7.75)(7.76)построенная для линейной системы уравнений (7.4), совпадает со схеkмой предиктор-корректор (7.53), (7.49) при θj+1/2≡ 0, т.
е. со схемойЛакса – Вендроффа.123§ 8. Разностные схемы для системынелинейных уравнений мелкой воды8.1. Постановка задачи. В предыдущем параграфе мы познакомились с некоторыми конечно-разностными схемами для решения системы уравнений с постоянными коэффициентами.
В качестве примерабыла выбрана система линейных уравнений мелкой воды. В настоящемпараграфе мы также будем иметь дело с уравнениями мелкой воды, нотеперь будем рассматривать случай нелинейных уравнений (7.1), которые уже были выписаны в § 7. Для удобства изложения приведем ихснова:∂u ∂f+= G,x ∈ Ω.(8.1)∂t∂xЗдесь(u=HHu)(,f (u) =HuHu2 + H 2 /2)(,G=0Hhx)(8.2)и использованы те же обозначения, что и в § 7. Уравнения (8.1), дополненные начальными и краевыми условиями, решаются при t > 0в области Ω = (0, l) (рис.
25).Так же, как в линейном случае, уравнения (8.1) можно переписатьв недивергентной форме:∂u∂u+A= G,∂t∂xгде A = ∂f /∂u – матрица Якоби:A(u) = 0−u2 + H(8.3)1.(8.4)2uВидим, что для нелинейных уравнений матрица Якоби (8.4) имееттакой же вид (7.6), как для линейных уравнений.
Такую аналогию между линейным и нелинейным случаями мы будем постоянно подчеркивать и в дальнейшем. Например, как и в линейном случае, собственныезначения матрицы (8.4) вычисляются по формуламλ1 = u − c,λ2 = u + c,124(8.5)√аналогичным (7.7), только теперь c = H, собственные значения неявляются постоянными, а характеристики не являются в общем случаепрямыми.Скажем несколько слов о постановке краевых условий для системыуравнений (8.1). Будем предполагать, что полная глубина H положительна при всех x и t. Тогда λ1 ̸= λ2 и система уравнений (8.3) имеетгиперболический тип, поэтому при постановке краевых условий мы можем руководствоваться правилами, изложенными в § 1.Если в окрестности границ течение является докритическим, т. е.|u| < c,(8.6)то имеют место следующие неравенства:λ1 < 0, λ2 > 0,λ1 x=0x=0< 0,x=lλ2 > 0.(8.7)x=lСогласно теории начально-краевых задач для гиперболических системуравнений [4], на левой границе x = 0 области Ω в случае (8.6) должнобыть поставлено одно краевое условие (имеется одна приходящая извнехарактеристика).
Например, если граница x = 0 области Ω являетсяучастком втекания (входом области), то на ней можно задать условиеHu(0, t) = µ0 (t) > 0.(8.8)Для x = l одна характеристика будет приходить на эту границу изнутри области Ω, а другая – извне. Следовательно, на этой границетакже необходимо задавать одно краевое условие. Например, если граница x = l соответствует вертикальной непроницаемой стенке, то на нейставится условие непротеканияu(l, t) = µl (t) ≡ 0.(8.9)Если жидкость вытекает из рассматриваемой области через выход x = l,то здесь задается, например, расходHu(l, t) = µl (t) > 0.(8.10)Для сверхкритических течений, т.
е. при нарушении условия (8.6),количество граничных условий, также определяемое на основе анализахарактеристик, может быть иным, чем для докритических течений. Например, на левой границе области могут задаваться два условия, а направой – ни одного.125Далее, для сокращения изложения, вместо начально-краевой задачидля системы (8.1) мы будем рассматривать лишь задачу Коши с начальными условиями, заданными при t = 0.8.2. Непрерывные течения. Задача Коши для системы уравнений (8.1) может иметь гладкие или разрывные решения. При изучении скалярного нелинейного уравнения (4.1) отмечалось, что даже длягладких начальных данных решение может стать в некоторый моментвремени разрывным, а для разрывных начальных данных может получиться непрерывное при t > 0 решение, либо разрывное. Все этивозможности имеют место и для системы уравнений (8.1), для которойскалярное уравнение (4.1) является модельным.
Мы не будем вдаватьсяв подробности методов получения и исследования решений нелинейныхгиперболических систем уравнений [18], однако некоторые точные решения системы (8.1) все же укажем. Они могут оказаться полезнымипри тестировании численных алгоритмов и реализующих их программ.Для получения решения с помощью метода характеристик требуется переписать систему уравнений в инвариантах Римана. Собственнымзначениям (8.5) соответствуют правые собственные векторы матрицы A()()cc11r1 = −, r2 =λ1λ222и левыеl1 =1c2(−λ21)T,Если взять аналоги матриц (7.10)−λ2 11 ,L= 2c−λ1 1l2 =1c2(−λ11−1cR=2−λ1)T.1,(8.11)λ2то для выписанных матриц будут справедливы равенство (7.11) и равенства вида (7.12), (7.13):λ1 0,(8.12)LAR = Λ = 0 λ2A = RΛL,A2 = RΛ2 L.126(8.13)Рассмотрим вначале случай ровного горизонтального дна. Умножимсистему уравнений (8.3)√слева на матрицу L, учтем равенства (7.11),(8.13) и выражение c = H.
В результате при G ≡ 0 получим системууравнений (7.14) или()11√√−Ht + ut + λ1 −Hx + ux = 0,HH()11√ Ht + ut + λ2√ Hx + ux = 0.HHЕсли ввести новые зависимые переменныеr = u − 2c,s = u + 2c,(8.14)то для них получается такая же система уравнений (7.15), как и в линейном случае:rt + λ1 rx = 0,st + λ2 sx = 0.(8.15)Таким образом, величина r сохраняется на характеристике dx/dt = λ1 ,а s – на характеристике dx/dt = λ2 . В этом смысле величины r и sявляются инвариантами, которые, как и в линейном случае, называютсяинвариантами Римана.Хотя системы уравнений (7.15) и (8.15) выглядят одинаково, между ними имеется существенное различие.
Линейные уравнения (7.15) несвязаны друг с другом, они представляют собой два отдельных уравнения типа линейного уравнения переноса с постоянным коэффициентом.Напротив, уравнения (8.15) являются нелинейными и связанными между собой посредством коэффициентов λ1 и λ2 , поскольку в нелинейномслучае собственные значения зависят от обеих искомых функций r и s.В самом деле, из равенств (8.14) следует, чтоu=r+s,2c=s−r,4(8.16)поэтомуλ1 =3r + s,4λ2 =r + 3s,4(8.17)и система уравнений (8.15) запишется в следующей развернутой форме∂r 3r + s ∂r+·= 0,∂t4∂x∂s r + 3s ∂s+·= 0.∂t4∂x127(8.18)Если для системы уравнений (8.1) с нулевой правой частью поставлена задача Коши с начальными условиямиu(x, 0) = u0 (x),(8.19)то в методе характеристик вначале по формулам (8.14) определяютсявеличины r и s в начальный момент времени, затем решается задачаКоши для системы в инвариантах (8.18), при этом учитывается постоянство функций r и s на соответствующих характеристиках.
В конечном итоге, по формулам (8.16) находится решение u, c и H = c2 . Еслиначальные данные (8.19) являются непрерывными функциями, то решение может быть непрерывным при всех t > 0, либо только до моментаградиентной катастрофы (см. § 4).Метод характеристик позволяет получать (см. [18]) непрерывное приt > 0 решение задачи Коши и для специально подобранных разрывныхначальных данных (8.19).Пример 8.1. Пусть h(x) = h0 = const и при t = 0 скорость и полнаяглубина являются кусочно-постоянными функциями, имеющими разрыв в некоторой точке x0 :{{u1 , x ≤ x0 ,H1 , x ≤ x0 ,H(x, 0) =(8.20)u(x, 0) =u2 , x > x0 ,H2 , x > x0 ,при этомu1 = 0 < u2 ,H1 > H2 .(8.21)Значения H1 и u2 будем считать заданными.