1612725465-542b3179b36a4849700e0b2ecf7da111 (828844), страница 11
Текст из файла (страница 11)
Применим этот критерий. Пустьx1 = x0 − ε, x2 = x0 + ε. Возьмем непрерывную начальную функцию(4.13) и соответствующее ей решение (4.16). Тогда при ε → 0 решение69(4.16) дает в пределе функцию (рис. 14), которая при u1 < u2 описывается формулой (4.26) для центрированной волны разрежения, т. е.предельное решение не совпадает с решением, описываемым формулой (4.25). Поэтому и согласно второму критерию, разрывное решение(4.25) является неустойчивым при u1 < u2 , и в качестве решения следует взять в этом случае центрированную волну разрежения (4.26). Еслиже u1 > u2 , то при ε → 0 из решения (4.15), (4.22) в пределе получается разрывное решение (4.25).
Поэтому это разрывное решение являетсяустойчивым и по второму критерию.Таким образом, при задании разрывной начальной функции (4.24)при u1 > u2 получается разрывное решение (4.25), а при u1 < u2 –непрерывное для t > 0 решение (4.26).4.3. Консервативные разностные схемы. Установили, что даже при гладких начальных данных в решении задачи Коши (4.1), (4.2)с течением времени могут возникнуть разрывы. Поэтому для получения разностных уравнений необходимо использовать интегральное соотношение (4.18). Запишем его аналогично рассмотренному ранее интегральному закону сохранения тепла (3.3.4):x+∆x∫x+∆x∫u(ξ, t + ∆t)dξ −xt+∆t∫u(ξ, t)dξ+xt+∆t∫)()f u(x + ∆x, τ ) dτ −f u(x, τ ) dτ = 0,+(t(4.27)tгде t ≥ 0, ∆t > 0 и ∆x > 0 – произвольные числа. Этот интегральныйзакон сохранения устанавливает, что изменение величины u на произвольном отрезке [x, x + ∆x] за произвольный промежуток времени ∆tопределяется разностью потоков f через границы x и x + ∆x за время ∆t.Для получения консервативных разностных схем рассмотрим интегральный закон сохранения (4.27) для элементарной ячейки сеткиωjn = [xj−1/2 , xj+1/2 ] × [tn , tn+1 ]:∫∫xj+1/2xj+1/2u(x, tn+1)dx −xj−1/2xj−1/270u(x, tn )dx+n+1t∫t∫)()f u(xj+1/2 , t) dt −f u(xj−1/2 , t) dt = 0.+n+1(tntnАппроксимируя входящие сюда интегралы∫n+1t∫xj+1/2()∗f u(xj±1/2 , t) dt ∼ fj±1/2τ,u(x, tn )dx ∼ unj h;(4.28)tnxj−1/2получаем дискретный закон сохранения для элементарной ячейки:∗∗τ − fj−1/2τ = 0,un+1h − unj h + fj+1/2j(4.29)который после деления на τ h дает семейство схем для нелинейного уравнения (4.1):∗∗− fj−1/2fj+1/2un+1− unjj+= 0.(4.30)τhКонкретная схема из этого семейства будет определяться выбором∗конкретной формулы для подсчета потоков fj±1/2, при этом для выполнения свойства консервативности важно потребовать (см.
§ 3.3), чтобыnдля соседних элементарных ячеек ωjn и ωj+1поток на разделяющей ихобщей границе xj+1/2 аппроксимировался по одной и той же формуле (4.28). Тогда из выполнения дискретного закона сохранения (4.29)для элементарных ячеек будет следовать его справедливость в составных областях, полученных объединением элементарных ячеек, т.
е. схема (4.30) будет консервативной по определению из § 3.3. В самом деле,рассмотрим составную область Ω = [a, b] × [tp , tp+m ], где a = xk−1/2 ,b = xl+1/2 , tp+m = tp + mτ , k ≤ l, m ≥ 1, полученную объединениемэлементарных ячеек:l p+m−1∪∪Ω=ωjn .j=kn=pДля такой области интегральный закон сохранения (4.27) записываетсятак:∫b∫bp+mu(x, t)dx − u(x, tp )dx+ap+mt∫at∫)f u(b, t) dt −+tpp+m(tp71()f u(a, t) dt = 0.(4.31)Выпишем дискретные законы сохранения (4.29) для элементарныхячеек при всех значениях j = k, .
. . , l:∗∗un+1h − unk h + fk+1/2τ − fk−1/2τ = 0,kn∗∗un+1k+1 h − uk+1 h + fk+3/2 τ − fk+1/2 τ = 0,..........................................∗∗un+1h − unl h + fl+1/2τ − fl−1/2τ = 0,lи просуммируем их почленно сначала по индексу j:l∑un+1h−jj=kl∑∗∗unj h + fl+1/2τ − fk−1/2τ = 0,j=kа затем по n = p, . . . , p + m − 1. В результате получим дискретныйаналогl∑j=kup+mhj−l∑upj h+p+m−1∑∗fl+1/2τn=pj=k−p+m−1∑∗fk−1/2τ =0(4.32)n=pинтегрального закона сохранения (4.31) во всей области Ω.Таким образом, дискретный закон сохранения в составных областях является алгебраическим следствием разностных уравнений, и схема (4.30) является по определению консервативной.В качестве примера приведем консервативную схему для уравненияХопфа (4.5) в дивергентной форме (4.1) с функцией f = u2 /2:( 2)uut += 0.(4.33)2 x∗Предположим, что во всех узлах unj > 0. Полагая fj+1/2= fjn , гдеfjn=f (unj )( n )2uj=,2получаем консервативную схему (4.30), которую в данном случае можнозаписать в следующем виде:un+1− unjunj + unj−1 unj − unj−1j+= 0.τ2h72(4.34)Если для величины a(u) ввести разностный аналог формулы (4.4): nn fj+1 − fj при un ̸= un ,j+1jnnaj+1/2 =(4.35)u− un j+1 n jna(uj )при uj+1 = unj ,то консервативная схема (4.34) запишется так же, как противопоточнаясхема (1.28) для линейного уравнения переноса (1.27) с положительнымкоэффициентом a:un+1− unjunj − unj−1j+ anj−1/2= 0,τh(4.36)поэтому схема (4.36) для уравнения Хопфа также носит название противопоточной схемы.При построении консервативных схем для уравнения теплопроводности (§ 3.3) мы установили, что консервативные схемы могут быть получены не только из интегральных уравнений, но и непосредственно приаппроксимации дифференциального уравнения в дивергентной форме.Это же справедливо и для дифференциальных уравнений гиперболического типа.
Например, аппроксимируя дивергентное уравнение (4.33)с помощью схемы( n )2 ( n )2un+1− unjuj − uj−1j+= 0,τ2h(4.37)получаем консервативную схему, совпадающую с (4.34).Аппроксимируя уравнение Хопфа (4.5) в недивергентной форме, получаем недивергентную схемуun+1− unjunj − unj−1j+ unj= 0.τh(4.38)Оказывается, что схема (4.38) уже не является консервативной.Лемма 4.1. Для недивергентной схемы (4.38) дискретный аналогзакона сохранения (4.32) не выполняется.Д о к а з а т е л ь с т в о. Если недивергентную схему (4.38) переписать в виде()2( n )2 ( n )2( n )2un+1− unjuj − uj−1uj − 2unj unj−1 + unj−1j++= 0,τ2h2h73то видно, что она представляет собой консервативную схему (4.30) с дополнительным членом:∗∗fj+1/2− fj−1/2− unjun+1h ( n )2j++u= 0,τh2 x̄,j∗где fj+1/2= fjn . Умножим полученные уравнения на hτ :∗∗un+1h − unj h + fj+1/2τ − fj−1/2τ+jτ h2 ( n )2ux̄,j = 02и просуммируем почленно по всем элементарным ячейкам составнойобласти Ω.
В результате вместо дискретного закона сохранения (4.32)получим следующее равенство:l∑up+mh−jj=kl∑upj h +p+m−1∑∗fl+1/2τ−n=pj=kp+m−1∑∗fk−1/2τ + R = 0,n=pгдеp+m−1 lh ∑ ∑ ( n )2R=ux̄,j τ h.2 n=pj=kЭто равенство представляет собой дискретный аналог интегральногоуравнения∫b∫bp+mu(x, t)dx − u(x, tp )dx+ap+mt∫at∫)f u(b, t) dt −+tp(p+m()hf u(a, t) dt +2tpp+mt∫∫b2(ux ) dxdt = 0,tpaкоторое отличается от интегрального закона сохранения (4.31) последним членом – дисбалансом. Таким образом, действительно, недивергентная схема не является консервативной схемой.В случае гладкого решения, когда |ux | ≤ C = const, ошибка (дисбаланс) R, с которой выполняется закон сохранения, невелика: R = O(h).Если же в решении есть разрыв, то нарушение исходного закона сохранения становится значительным, и это может приводить к неправильному описанию эволюции разрыва при применении недивергентной74схемы (4.38).
В самом деле, рассмотрим, например, результат решенияс помощью схемы (4.38) задачи Коши для уравнения Хопфа с начальной функцией (4.24), где u1 > u2 = 0 и точка разрыва x0 располагается между узлами xj0 и xj0 +1 . Точное решение представляет собой скачок (4.25), движущийся с постоянной положительной скоростью (4.23).Однако численное решение по схеме (4.38) является стационарным скачком, совпадающим с начальной функцией u0j = u0 (xj ). Таким образом,неконсервативная схема (4.38) неправильно описывает эволюцию скачка и не является сходящейся.4.4.
Противопоточная схема. Консервативная противопоточнаясхема (4.34) (или (4.36)) построена только для уравнения Хопфа и в случае unj > 0 (что эквивалентно предположению о том, что anj+1/2 > 0, ∀j).Основываясь на виде (3.7) противопоточной схемы для уравнения переноса с постоянным коэффициентом, построим консервативную противопоточную схему (4.30) для произвольного нелинейного уравнения (4.1).Для этого достаточно указать формулу, по которой будут вычисляться∗потоки fj+1/2.
Аналогично выражению (3.6) полагаем, что∗=fj+1/21 + sj+1/2 n 1 − sj+1/2 nfj +fj+1 ,22(4.39)где sj+1/2 = sgn(anj+1/2 ). Консервативную схему (4.30) с потоками (4.39)будем называть противопоточной. Ее можно переписать в более привычной форме (3.7):( a − |a|( a + |a|)n)nun+1− unjj+= 0.+uxuxτ22j−1/2j+1/2(4.40)Легко проверить, что противопоточная схема (4.40) имеет первый порядок аппроксимации по τ и h и сохраняет монотонность численногорешения (см. задачу 4.2).Из выражения (4.35) следует, что для уравнения Хопфа (4.33) величина anj+1/2 определяется по формулеanj+1/2 =unj + unj+1,2(4.41)поэтому противопоточная схема (4.40) записывается для уравнения Хоп75фа какun+1− unjunj + unj−1 + unj + unj−1 unj − unj−1j+·+τ4hunj + unj+1 − unj + unj+1 unj+1 − unj+·= 0.4h(4.42)В случае положительных значений unj > 0 схема (4.42) совпадает с приведенной ранее схемой (4.34) (или (4.36)).4.5.
Схема С. К. Годунова для уравнения Хопфа может бытьрассмотрена в качестве еще одного примера вычисления численного по∗в консервативной схеме (4.30).тока fj+1/2nРассмотрим две соседние элементарные ячейки сетки ωjn и ωj+1.∗∗В схеме С. К. Годунова поток fj+1/2 = f (uj+1/2 ) на общей границеxj+1/2 (рис. 15) соседних элементарных ячеек вычисляется по значениюu∗j+1/2 , которое находится из точного решения так называемой задачио распаде произвольного разрыва на линии x = xj+1/2 для уравненияХопфа (4.5) с кусочно-постоянной начальной функцией u0 (x), заданной по формуле (4.24), но не при t = 0, а при t = tn :{u0 (x) =unjunj+1при x < xj+1/2 ,при x > xj+1/2 .(4.43)Решение этой задачи зависит от соотношений между величинами unjи unj+1 .