1612725465-542b3179b36a4849700e0b2ecf7da111 (828844), страница 16
Текст из файла (страница 16)
Для решения второй начально-краевой задачи для уравненияколебаний неоднородной струныutt = (k(x, t)ux )x + f (x, t), 0 < x < l, 0 < t ≤ T,(kux ) (0, t) = µ0 (t), (kux ) (l, t) = µl (t), 0 ≤ t ≤ T,u (x, 0) = u0 (x) , ut (x, 0) = v0 (x) , 0 ≤ x ≤ l105(6.39)предлагается явная схема()un+1− 2unj + ujn−1 1unj+1 − unjunj − unj−1jnn=kj+1/2− kj−1/2+τ2hhhn+fj ,j = 1, . . . , N − 1, n = 1, . . . , M − 1,()nn− 2un0 + un−1h un+1n u1 − u0n00k1/2−−f(0,t)= µn0 ,2h2τ()unN − unN −1− 2unN + un−1h un+1nnNN+− f (l, t ) = µnl ,kN −1/2h2τ2u0j = u0 (xj ), j = 0, .
. . , N,)][τ ( 2 ′′a u0 (xj ) + f (xj , 0) .u1j = u0 (xj ) + τ v0 (xj ) +2Определить порядок аппроксимации этой схемы.6.2. Рассмотрим однородную задачу (6.39)utt = (k(x, t)ux )x , 0 < x < l, 0 < t ≤ T,(kux ) (0, t) = 0, (kux ) (l, t) = 0, 0 ≤ t ≤ T,u (x, 0) = u0 (x) , ut (x, 0) = v0 (x) , 0 ≤ x ≤ l.(6.40)(6.41)Показать, что для этой задачи импульс струны∫lU (t) =(6.42)ut (x, t)dx0сохраняется, т.
е.∫lU (t) = U (0) =∫lut (x, 0)dx =00 < t ≤ T.v0 (x)dx,06.3. Показать, что разностная схема (6.40) в случае однородной задачи (6.41) является консервативной и для нее сохраняющейся величиной является дискретный аналог импульса струны (6.42), определяемыйформулой∫N −1h ∑hU = ut,0 +ut,j h + ut,N ∼ ut (x, tn )dx,22j=1(6.43)∫N −1h ∑hU = v0 (0) +v0 (xj )h + v0 (l) ∼ v0 (x)dx.22j=1(6.44)ln0l00106§ 7. Разностные схемыдля гиперболической системыуравнений с постояннымикоэффициентами7.1.
Линейные уравнения мелкой воды. Построение разностных схем для гиперболической системы уравнений с постоянными коэффициентами продемонстрируем вначале на примере решения задачиКоши для линеаризованных уравнений мелкой воды. Получим эти уравнения, взяв за основу нелинейную модель мелкой воды. Пусть плоскийслой жидкости ограничен сверху свободной поверхностью, а снизу – непроницаемым дном (рис. 25). Предполагается, что жидкость находитсяв поле силы тяжести, является несжимаемой и невязкой. Пусть декартова система координат Oxy выбрана так, что уравнение свободной поверхности покоящейся жидкости имеет вид y = 0 и жидкость можетдвигаться только вдоль оси Ox.
Тогда система нелинейных уравнениймелкой воды записывается следующим образом:∂u ∂f+= G,∂t∂x(7.1)где t – время, u – вектор решения, f – вектор потоков,()()()HHu0u=, f (u) =,G=,HuHu2 + H 2 /2Hhxu(x, t) – скорость, H = η + h – полная глубина, η(x, t) – отклонениесвободной поверхности от невозмущенного уровня y = 0, y = −h(x) –функция, задающая дно бассейна, ускорение свободного падения g принято здесь равным единице.y= η(x,t)y0l xH(x,t)y=-h(x)Рис. 25.
Схема области течения жидкости с поверхностными волнами107В настоящем параграфе будем предполагать, что дно является ровным и горизонтальным, т. е. h(x) ≡ h0 = const > 0. Линеаризуем систему (7.1), рассматривая решения вида u = u0 + ũ, H = η̃ + h0 , u0 = constи предполагая малость произведений величин ũ, η̃, ũt , η̃t , ũx , η̃x . В результате система линейных уравнений мелкой воды примет вид(){Ht + u0 H + h0 u x = 0,(7.2)()()u0 H + h0 u t + (u20 + h0 )H + 2u0 h0 u x = 0,при этом символ «∼» опущен, H = η + h0 , u – отклонение скоростиот некоторого заданного постоянного значения u0 .
Отметим, что приu0 = 0 выписанные уравнения совпадают с рассмотренными в § 1 уравнениями (1.6), (1.7), если в последних положить g = 1.Систему линейных уравнений (7.2) можно записать в векторной дивергентной форме∂u ∂f+= 0,(7.3)∂t∂xлибо в недивергентной форме∂u∂u+ A0= 0,∂t∂x(7.4)где(u=Hu0 H + h0 u)(,f=u0 H + h0 u(u20 + h0 )H + 2u0 h0 uматрица Якоби A0 = ∂f /∂u имеет вид0A0 = −u20 + h01),(7.5).(7.6)2u0Собственные значения матрицы A0 вычисляются по формуламλ1 = u0 − c0 ,λ2 = u0 + c0 ,(7.7)√где c0 = h0 .
Этим собственным значениям соответствуют правые собственные векторы матрицы A0()()c0c011r1 = −, r2 =(7.8)λ1λ222108и левые1l1 = 2c0(−λ21)T,1l2 = 2c0(−λ11)T.(7.9)Введем в рассмотрение две матрицы L и R. Строками матрицы L являются левые собственные векторы lk (k = 1, 2), а правые собственныевекторы r k являются столбцами матрицы R, т. е.−λ2 1−111 c0, R =.L= 2(7.10)c02−λ1 1−λ1 λ2Тогда имеют место равенстваL = R−1 ,R = L−1 ,(LA0 R = Λ ≡LR = RL = E,)λ1 0,0 λ2A20 = RΛ2 L,A0 = RΛL,(7.11)(7.12)(7.13)где E – единичная матрица.Если систему уравнений (7.4) умножить слева на матрицу LL∂u∂u+ LA0= 0,∂t∂xто получается система уравнений в инвариантах РиманаLилигде∂u∂u+ ΛL= 0,∂t∂x(7.14)∂r∂r+ λ1= 0,∂t∂x∂s∂s+ λ2= 0,∂t∂x( )rLu =,sr = l1 · u = u −H,c0s = l2 · u = u +(7.15)(7.16)H.c0(7.17)7.2.
Явная противопоточная схема. Система уравнений (7.4)«похожа» на скалярное уравнение переноса (3.1), только теперь вместо постоянного числового коэффициента a используется матрица A0109c постоянными элементами и вместо одной функции u(x, t) мы ищемвектор решения u(x, t). В противопоточной схеме (2.9) для уравненияпереноса знак коэффициента a влияет на выбор разностной производной по переменной x: при a > 0 берется левая производная ux,j−1/2 ,а при a < 0 – правая ux,j+1/2 . В случае системы уравнений (7.4) мыне можем говорить о «знаке матрицы» A0 , но, тем не менее, обобщениепротивопоточной схемы (2.9) для системы уравнений возможно. Подсказку может дать система уравнений (7.15), записанная в инвариантахРимана.Каждое из уравнений (7.15) является уравнением переноса (3.1) с коэффициентом a = λ1 или a = λ2 . Поэтому противопоточная схема (2.9),примененная для уравнений (7.15), будет иметь следующий вид:nnrjn+1 − rjnrjn − rj−1rj+1− rjn−+ λ+·+λ·= 0,11τhhsn+1− snjsnj − snj−1snj+1 − snjj+ λ++ λ−= 0,2 ·2 ·τhhгдеλk − |λk |λk + |λk |, λ−, k = 1, 2.k =22Введем матрицы( +)( −)λ10λ10+−Λ =, Λ =,0 λ+0 λ−22λ+k =+A+0 = RΛ L,−A−0 = RΛ L,−|A0 | = A+0 − A0 .(7.18)(7.19)(7.20)(7.21)Тогда разностные уравнения (7.18) можно записать в векторной формеun+1− unjj+ Λ+ Lunx,j−1/2 + Λ− Lunx,j+1/2 = 0,(7.22)τгде введены следующие обозначения для левой и правой разностныхпроизводных:Lunx,j−1/2 =unj − unj−1,hunx,j+1/2 =unj+1 − unj.hУмножая уравнение (7.22) слева на матрицу R и учитывая свойства(7.11), получаемun+1− unjj+ RΛ+ Lunx,j−1/2 + RΛ− Lunx,j+1/2 = 0,τ110илиun+1− unjj− nn+ A+(7.23)0 ux,j−1/2 + A0 ux,j+1/2 = 0.τЭто и есть противопоточная схема для системы уравнений (7.4).
Заметим, что противопоточная схема (7.23) может быть записана и в видеконсервативной схемыf ∗j+1/2 − f ∗j−1/2un+1− unjj+= 0,τh(7.24)аппроксимирующей уравнение (7.3) в дивергентной форме. Для этогодостаточно ввести обозначение)( n)]1[ ( n− nnnnf ∗j+1/2 =A+0 uj + A0 uj+1 = A0 uj + uj+1 − |A0 | uj+1 − uj . (7.25)2Видим, что при использовании обозначений (7.21) полученная схема(7.23) выглядит так же, как противопоточная схема (2.9) для скалярного уравнения переноса.
Аналогичными будут и свойства схем (7.23),(2.9), касающиеся порядка аппроксимации и устойчивости. Погрешностьаппроксимации теперь является вектором ψ, который получается приподстановке точного решения u(x, t) системы уравнений (7.4) в разностное уравнение (7.23):ψ nj =u(xj , tn+1 ) − u(xj , tn )+τu(xj+1 , tn ) − u(xj , tn )u(xj , tn ) − u(xj−1 , tn )+ A−=0hh()()−nn= ut (xj , tn ) + O (τ ) + A+0 ux (xj , t ) + O (h) + A0 ux (xj , t ) + O (h) .+A+0Поскольку для матриц, определенных формулами (7.20), (7.21), справедливы равенстваΛ = Λ + + Λ− ,−A0 = A+0 + A0 ,(7.26)то для погрешности аппроксимации получается выражениеψ nj = ut (xj , tn ) + A0 ux (xj , tn ) + O (τ + h) = O (τ + h) ,т. е.
противопоточная схема (7.23) имеет, как и в скалярном случае,первый порядок аппроксимации.111Для исследования устойчивости разностных схем, аппроксимирующих системы дифференциальных уравнений, применяются те же методы, что и для схем, аппроксимирующих скалярные уравнения. Например, для исследования устойчивости схемы (7.23) по начальным даннымможно использовать спектральный метод Неймана. Для этого в качестве начальной функции берется гармоникаu0j = u0 eijφ ,и ищется решение разностного уравнения (7.23) вида (1.32)unj = u0 ρn eijφ ,(7.27)где u0 – произвольный вектор, φ – произвольное действительное число.Тогда должно выполняться следующее равенство()−iφiφρ−1−1+ 1−e− eE + A0+ A0u0 = 0.τhhПоскольку вектор u0 – произвольный, то это равенство может выполняться только в том случае, когда определитель матрицы, заключенной в круглые скобки, равен нулю, т.
е.()iφρ−11 − e−iφ−1− edetE + A++A= 0.00τhh−Используя свойство (7.11) и выражения (7.21) для матриц A+0 и A0 ,последнее равенство можно переписать как)(1 − e−iφeiφ − 1ρ−1+−RL + RΛ L+ RΛ L= 0,detτhhили(det R · detρ−11 − e−iφeiφ − 1E + Λ++ Λ−τhh)· detL = 0.Из равенства RL = E следует, что det R · detL = 1, поэтому для нахождения множителя ρ получаем уравнение()))ρ−11 − cos φ ( +sin φ ( +detE+Λ − Λ− + iΛ + Λ−= 0.τhh112Следовательно,ρk = 1 − æ |λk | (1 − cos φ) − iæλk sin φ,k = 1, 2,2|ρk | = 1 − 2æ |λk | (1 − cos φ) (1 − æ |λk |) ,k = 1, 2,где æ = τ /h.
Поэтому необходимое условие устойчивости|ρk | ≤ 1,∀φ∈R(7.28)будет эквивалентно выполнению неравенстваmax (|λ1 |, |λ2 |) æ ≤ 1.(7.29)Таким образом, как и в случае одного скалярного уравнения, противопоточная схема, аппроксимирующая систему дифференциальных уравнений, является условно устойчивой.7.3. Схема предиктор-корректор. В § 3 была рассмотрена схема предиктор-корректор (3.3), (3.4) для скалярного уравнения переноса с постоянным коэффициентом a. В этой схеме присутствует схемный параметр θ, при задании которого определенным образом получались известные схемы (противопоточная, Лакса, Лакса – Вендроффаи т.