Часть 2 (1133435), страница 2
Текст из файла (страница 2)
Она выглядитследующим образом:L h vt v 1 v f mn(4)где - некоторое число от нуля до единицы. В случае, когда 0 ,разностная схема является явной. Если положить 1, то схема чистонеявная. В случае, когда 0.5 , разностный оператор имеет видnL 0.5h vt 0.5 v v f m . При этом разностную схему называютсимметричной.В курсе дифференциальных уравнений было показано, что точностьаппроксимации производной ut разностным аналогом vt имеет 1-ыйпорядок точности, а аппроксимации производной u xx величиной v имеет2-ой порядок точности.
Отсюда точность аппроксимации для явной и2чисто неявной схемы O h . В случае симметричной разностной22схемы точность аппроксимации равна O h .9Устойчивость решения задачи теплопроводности на бесконечнойпрямой.Рассмотрим вопрос устойчивости явной и неявной разностной схемыдля задачи теплопроводности на бесконечной прямой.Необходимые условия. Спектральный метод.Необходимые условия устойчивости могут быть найдены с помощьюспектрального метода Неймана. Рассмотрим явную схему с начальнымиусловиями в виде гармоники некоторой частоты: vm,n1 vm,n vm1,n 2vm,n vm1,nh2v eim m,0(5)Будем искать решение этой задачи в виде vm,n neim , где некоторое число, (зависящее от выбора ) подлежащее определению.Необходимым условием устойчивости будет являться то, что 1 длялюбых .
Это условие требуется, чтобы решение со временем ненарастало по модулю.Подставив функцию vm,n neim в виде в уравнение (5) и сокративна n eim , получим равенство: 1 ei 2 ei. Отсюда, после простых преобразований, получим:h24 1 2 sin 2 . Необходимое условие 1 выполняется для любых h22при 2 1. Следовательно, для устойчивости явной разностной схемыhнеобходимо выполнение определенного условия на соотношение шагов:h2 . Такая устойчивость называется условной.210Теперь рассмотрим чисто неявную разностную схему для той жезадачи: vm,n1 vm,n vm1,n1 2vm,n1 vm1,n1h2v eim m,0(6)Подставив функцию vm,n neim в уравнение этой задачи, исократив на n1eiwm , получим равенство:11i i e 2 e .
Отсюда 2h141 2 sin 2h2 1 , т.к. знаменательвсегда не меньше 1. Таким образом, для явной схемы необходимое условиеустойчивости выполнено при любом соотношении шагов. Такая схеманазывается абсолютно устойчивой.Достаточные условия устойчивости.Получим достаточные условия устойчивости явной разностнойсхемы. Пусть мы решаем задачуut u xx f x, t u x,0 x x , 0 t TДля устойчивости явной схемы достаточно, чтобы решение задачи vm,n1 vm,n vm1,n 2vm,n vm1,n m ,n2hvm,0 m(7)hhhудовлетворяло оценке v M N .
Перепишем уравнение (7) ввиде:11vm,n1 2vm1,n 1 2h h2 vm,n 2 vm1,n m,nhh2При условии справедлива оценка:2 2 vm 1,n 1 2 vm ,n 2 vm 1,n m ,n hh h 2 2 vn 1 2 vn 2 vn vn hh h vm ,n 1 где2vn max vm,n . Отсюда vn1 vn .
По индукции имеем:mvn n .Поскольку T / Nt , где N t число разбиений отрезка (0, T ) сеткой,тоn T .Следовательноv T ,чтоозначаетустойчивость схемы.h2Итак, условие является как необходимым, так и достаточным2условием устойчивости явной схемы.Заметим, что в случае уравнения ut a 2uxx условие устойчивостиh2явной разностной схемы будет 2 .2aОбратимся к случаю неявной разностной схемы. Рассмотрим задачу vm,n1 vm,n vm1,n1 2vm,n1 vm1,n1 m ,n2hvm,0 m(8)Перепишем уравнение этой задачи в виде:12vm,n1 vm,n h2vm1,n 1 2vm,n1 vm1,n1 m,nПусть на (n+1)-ом временном слое максимальное значение vm,n1достигается при некотором m m0 .
Тогда vm0 1,n1 2vm0 ,n1 vm0 1,n1 0 .Имеем:vm,n1 vm0 ,n1 vm0 ,n h2vm0 1,n 1 2vm0 ,n1 vm0 1,n1 m0 ,n vm0 ,n m0 ,n vn Аналогично доказывается, что vm,n1 vn . Следовательно,vn1 max vm,n1 vn . Отсюдаv T , что означаетmбезусловную устойчивость неявной схемы.Итак, неявная схема имеет преимущество перед явной в планеh2устойчивости.
Ограничение на шаги сетки 2 может быть весьма2aчувствительным при расчете больших задач, где число точек по x велико,соответственно h мало, и необходимость проводить расчет с очень мелкимшагом требует больших затрат времени счета.С другой стороны явная схема имеет преимущество с точки зренияпростоты алгоритма вычислений. Если нам известны значения сеточнойфункции на n-ом слое по времени (например, при n 0 из начальныхусловий), то решение на (n 1) -ом находится непосредственно изуравнения (2). Для неявной схемы, зная значения v на n-ом слое мыдолжны решать систему алгебраических уравнений (3) размерности( N x 1) для определения v на (n 1) -ом слое. Такая задача требует3порядка O( N x ) операций, что может быть очень большим числом.Поэтому, для численного решения задачи (1) по неявной схеме былразработанметодпрогонки,использующийспециальныйтрехдиагональный вид матрицы системы алгебраических уравнений,13получаемый для определения сеточной функции на (n 1) - ом слое.
Числоопераций, используемых при применении метода прогонки, порядкаO( N x ) .§3. Метод прогонки для решения задачи теплопроводности наотрезке.Вернемся к задаче (1) §2. Будем ее численно решать, используясхему с весами, частным случаем которой является неявная схема. Имеем:vt v 1 v f m ,nvm ,0 m1v0,n n2vN x ,n nПерепишем уравнение этой разностной задачи в виде:vm1 1 2 2hh21 v 2v v f m1 m m1 m vm 2 vm1 vm hh2При этом индекс m пробегает значения от 1 до Nx-1.
Обозначим:Am h2,1 v 2v v f Bm 1 2 2 , Cm 2 , Fm vm m1 m m1 mh hh2Тогда определение v сводится к решению задачи:Amvm1 Bmvm Cmvm1 Fm1v0 , vN x (m 1,..., N x 1)2Эта алгебраическая система является частным случаем задачи,решаемой методом прогонки, к изложению которого мы и переходим.14Метод прогонки применяется к решению системы алгебраическихуравнений(m 1,..., N 1) Am ym1 Bm ym Cm ym1 Fm y0 1 y1 1 , yN 2 yN 1 2(1)где либо Bm Am Cm , 0 1,2 1, либо Bm Am Cm , 0 1,2 1.Для решения (1) положим, что значения искомой функции в двухлюбых соседних точках связаны линейным соотношением, а именно:ym dm1 ym1 m1(2)где d m и m называются прогоночными коэффициентами.Сдвинув в (2) индекс на единицу, имеем:ym1 dm ym mПодставляя(3)(3)вуравнение(1)исключаем ym1 :Am dm ym m Bm ym Cm ym1 Fm .Отсюда Am dm Bm ym Cm ym1 Fm Am m .Используя (2), исключаем ym :ym1 ( Am dm Bm )dm1 Cm Fm Am dm m1 ( Am dm Bm ) .Для того, чтобы это соотношение было верно для любых ym1нужно, чтобы выражение в квадратных скобках и правая часть было равнынулю.
Приравнивая их нулю, получаем рекуррентные формулы дляопределения прогоночных коэффициентов:15d m1 CmBm Am d m(4)F Am m m1 mAm d m BmСравнивая граничное условие задачи (1) y0 1 y1 1 с (2), котороепри m=0 имеет вид y0 d1 y1 1 , находим: d1 1 , 1 1 .Используя эти значения d1 и 1 , совершаем прогонку в направлениивозрастанияиндекса,последовательноопределяяиз (4)значениякоэффициентов d m и m для m 1,..., N .На правом конце имеем два соотношения, связывающие yN 1 и y N .Это yN 1 d N yN N и yN 2 yN 1 2 . Из этих уравнений находимyN 2 N 21 2d N(5)При d1 1 и условиях, наложенных при постановке задачи (1) наAm , Bm , Cm , 1,2 из (4) получаем, что все d m 1 для m 2,..., N .Учитывая, что 2 1, получаем знаменатель в (5) положительным.Следовательно, значение y N определено.Используя найденное значением y N , делаем обратную прогонку всторону уменьшающихся значений индекса, последовательно определяя из(4) значенияym .
Число операций при поиске решения задачи (1)пропорционально числу узлов в слое.§4. Консервативные разностные схемы.При составлении разностных схем для уравнений с переменнымикоэффициентами, кроме точности аппроксимации и устойчивости схемы,важно чтобы для численного решения выполнялись законы сохранения,16присущие дифференциальной задаче. Такие схемы называютсяконсервативными.
При нарушении консервативности можем получитьошибочное решение.Пример неконсервативной схемы.Рассмотрим простейший пример - задачу стационарногораспределения тепла на отрезке, при условии, что коэффициенттеплопроводности k ( x) - есть разрывная функция, а именно: u x k x0xx u 0 1 ,u 1 0 (1)где1,k x 3,при0 x 1при1 x 122(2)Непрерывным решением задачи (1), (2) является кусочно-линейнаяфункция 31 2 x,u x 1 1 x , 2при 0 x 121при x 12(3)Уравнение задачи (1) можно переписать в следующем виде: 2u x k x u x k x0x 2xx(4)Составим разностную схему для (4).
Для этого выберем на отрезке0, 1равномерную сетку, состоящую из четного количества точек N .Тогда точка x 1/ 2 не совпадает с точками разбиения сетки xm . Поэтому17значения коэффициента k ( xm ) и разностный аналог производнойkxопределены. Обозначим ближайшую точку разбиения слева от x 1/ 2 , какxn . Очевидно n N / 2 .