Роуч П. Вычислительная гидродинамика (1185913), страница 114
Текст из файла (страница 114)
Это согласуется с целями, поставленными при написании данной книги, поскольку она посвящена проблемам, связанным с практическим получением и интерпретацией численных решений гндродинамических задач. Все эти вопросы, и в особенности вопросы обработки информации, в настоящее время образуют обширное поле исследований и не менее важны и актуальны, чем сама разработка численных методов, Приложение А МЕТОД ПРОГОНКИ Здесь будет рассматриваться метод решения конечно-разностных уравнений, которые имеют трехдиагональную матрицу. Рихтмайер и Мортон [1967, с. 2021 утверждают, что этот метод является просто специальной формой метода исключения Гаусса, но обычно его называют методом Томаса ').
Описание и обозначения, предлагаемые ниже, частично взяты из книги Рихтмайера и Мортона, причем берутся более общие граничные условия. Следует упомянуть также и другие работы: Писмеи и Ракфорд 11965), Розенберг 119691 и Эймс 119691. Границы ошибки приведены в работе Фишера и Усмани 11969). Конечно-разностная форма уравнений для внутренних точек сетки записывается в следующем виде: — А !Гг ь1+ В йу — С,„Чу 1 Вм. (А.!) Например, для уравнения Пуассона в одномерном случае дзф/дуз = Б (у) (А.2) получаем (А.З) $тч; — 2$лг+ гр,л-1 ву 2 ь лг Рихтмайер и Мортон 1!967) показали, что для того, чтобы величина ошибок округления при реализации алгоритма не возрастала, достаточно выполнения неравенств А„,>0, В >О, С„,>0 (А.5) В >А +С (А.6) ') Метод прогонки был предложен в начале пятидесятых годов незанисимо целым рядом заторов, в том числе советскими математиками И.
М. Гельфзндом и О В. Локупгиевским. Для рсщепия разностных уравнений газовой динамики его применяли К. И. Бабенко и Г. П. Воскресенский. Другие более общие варианты метода прогонки принадлежат К. И. Бабенко и и. И. Чеггнову (матричная прогонка), Л. А. Лбрачову н В. Б. Андрееву (пиклическая прогонка), Л. М Дегтяреву и Л П, бтзворскозгу (потоковая прогликзà — Влить л гГ или А,„=1, В„,=2, С =1, В„,= — ~„,Лу.
(А 4) Проложение А. Метод прогонки 5!О Будем считать, что т меняется от лт = 1 до т = М, и исследуем различные комбинации граничных условий на каждой из границ. Рассмотрим множество 6 векторов Ж', которые являются решениями уравнения (А.1) с заданным на левой границе (прн т = 1) граничным условием. Это множество О представляет собой однопараметрическое семейство, где роль параметра играет значение Кз. Например, если ставится условие Дирихле )1тг —— аг, то при каждом значении )гез уравнение (А.1) можно разрешить относительно )ьт +, и, таким образом, с помощью рекуррентпого соотношения получаются ') значения К +1 для всех т + 1 ) 3.
Постулнруем существовангге двух векторов Е и Р, таких, что для любого )и'ев О Чг" =Е„,РР„,, + Р . (А.7) Существование таких векторов Е и Р скоро станет очевидным. Понизпм на единицу индекс гп в уравнении (А,7), что даст йг 1 — — Е' г"т(г +Р (А.8) Подставляя )гт г из соотношения (А.8) в уравнение (А.1) и разрешая получившееся уравнение относительно )е', получаем следующее рекуррентное соотношение: Ю' = ))у +1+ . ' .
(А.9) В~ — С Ем, +'  — Смд~ Сравнивая уравнения (А.9) я (А.7) и замечая, что оба уравнения должны выполняться для всех )ге ен 6 (т. е. для всех значений )Рз), длЯ Е„и Р пРи гп ) 2 бУдем иметь лег Вег — С,„Ем-г ' (А.10а) (А.106) Вм — СмЕм Из условия на левой границе определим Е, и Рь после чего для вычисления Е и Р во всех точках в направлении возрастания т вплоть до т = М вЂ” 1 можно воспользоваться рекуррентнымн соотношениями (А.10). Далее, из правого граничного условия определяется значение )Р'м, а уравнение (А,9) с известными коэффициентами Л, В, С, )0 н найденными значениями Е и Р служит для вычисления значения )е' по ))т +, и т.д.
в направлении убывания т от лг = М вЂ” 1 до лт = 1. ') В равд 3.2.8 мы отмечалн, что такой «маршевый» подход, вообще говоря, неустойчив, поскольку ошибка округления при атом растет зкспонсициально. Исклгоченвсм является особый случай одномерного уравнения (А.З), для которого ошибка растет только линейно. Приложение А, Метод проеопки Условие на левой границе позволяет определить Е, и Р, следующим образом. Записывая уравнение (А.7) при т =1, получаем )у ! = Е,Ит"е + Р!.
(А.11) Для условия Дирихле !Р'! = а! соотношение (А.11) должно выполняться для всех возможных значений )Ре! таким образом, Е! —— О, Р, = а, при )ет! —— аь (А.12) Для условия Неймана в виде деР/ду = з! имеем ейе — тР! = з~ АУ или ИГ! — — И7е — з, Лу. (А.13) (А.! 4) (А.15) Сравнивая уравнение (А.!5) с уравнением (А.11), находим Е! — — 1, Р! — — — з, Ку при (дУ/ду)! — — зь (А.16) ду ' ду то имеем 1! 2 ат! !е', + р! а —— уь (А.18) или — ИУ,+ ! — руду ' ! — руду (А.19) Сравнение уравнений (А.19) и (А.11) дает Е1= — ' у, Р,= ! — руду ' 1 — руду (А,20) Очевидно, должно выполняться условие р!/Лу Ф 1, иначе из уравнения (А.!8) следовало бы, что Ит, = дь а В', неопределенно.
Условия на правой границе служат для определения значения )Утм следующим образом. При условии Дирихле лр = ам, очевидно, Ит л! —— ам. (А.21) При условии Неймана дф/ду = зм имеем (А.22) )ум-!= еум змбу Если ставится граничное условие смешанного типа (условие Роббина) в виде (А.17) Проложееое Л Метод орогоеко Запишем уравнение (А.8) при т = М: (Л.23) Приравнивая правые части уравнений (А.22) и (А.23), получаем и, +омар (Л.24) Для условия смешанного типа ф+ рм(дф/дп) = гтм имеем ! + рт!/ад чм "тм-! = !рм (А.25) Р.и1 " Рм1 " Прираввивание правых частей уравнений (А.25) и (А.23) дает (Р " - +'»/(' /'") ~ - +' '""м (А26) ( + ргрдя)/(рм/в") им — ! + а"~рм ем-! В двух последних случаях (формулы (А.24) и (А.26)) существует возможность переполнения арифметического устройства при делении, когда знаменатель может стать малым в зависимости от начальных условий, величины М и значения рм.
Например, если на левой границе ставится условие Неймана, то, как показано выше (см. (А.16)), имеем Е, = 1. Тогда, подставляя в рекуррентное соотношение (А.10а) соответствующие коэффициенты А, В, С из (А.4), для одномерного уравнения Пуассона (А.З) получаем (А.27) Это приводит к тому, что в случае задания условий Неймана на правой границе из равенства (А.24) получается тР'м — — оо, если не будет выполняться условие ямбу = — Рм-!. Такое поведение характерно для того случая, когда на обеих границах ставятся условия Неймана; мы не можем произвольно задавать условия градиентного типа на обеих границах, так как — — + ~ —, г1о = — ~ + ~ ь(р) е(тт. (А.28) е, ! е, Таким образом, градиенты функции ф при у, н ум связаны через решение задачи для вихря Г(д) и их нельзя задавать независимо в качестве граничных условий.
Если градиент дф/ду ~ем удовлетворяет равенству (А.28), то формула (А.24) приводит к неопределенности )ет = О/О. Такая неопределенность приводит к невозможности проводить вычисления методом прогонки, но Орилолссиие Л. Метов илосликл гоо!встствует иеопределепиос!и задачи в слу пю, ! ог,ш па обеих грапипах заданы условия 11еймиии !сйстви!слыло, сслп )р' является решеипем, то и К + сопз! тоже будет решением. Резюме Исходя пз условий иа левой границе и применяя формулы (Л.!2), пли (Л. 16), или (Л.
20), иаходим ГВ и гь В соответствии с рскурреитпымп соотпошеииямп (Л.10) по индукции в паправлспип возраста!шя и! до и!=М-- ! вычисляем и запомипаем векторы Е, и г,и. Из грапичиого условия па правой гравице при помощи формулы (Л.2!), или (Л.24), пли (А.26) иаходим зиачеиие )рл!. Наконец, используем рекурреитпос соотношение (А.7) для вычисления вектора решения К„, по индукции в иаправле. пии убывания т от и = М вЂ” 1 до сп = 1, Ниже приведена подпрограмма для этого метода прогоики, написанная иа языке Фортран-!Ч.
Подпрограмма на языке Фортран-1Ч Соответствие между алгебраическими символамп и символами языка Фортрап, используемыми в подпрограмме, дается в таблице. Скоко ~ к1мкк Эортркк л, В,, о, 1й я, ту А1, сели 1.1 =- ! ЛМ, сели 1.М = ! Алсобркиксскил символ А, В, о, тт. г., г, \~' си ал! М у,йту р и!Ау чм к~ Ау и Ау М М! А1, соли 1.1 = 3 АМ, сс, и 1.М =-3 О1 !1 х! А1, соли 1.1 = 2 ЛМ, если 1.М =-2 Раза!ерпость векторов есть М(). Все векторы должпы быль описаны в операторе Р!МЕ(Х!510М! в вызывагошсй программе так же, как опп оппсаиы в подпрограмме.
Урависиия, описывающие задачу во впутреиппх точках, задаются путех! запомииаиия коэффициентов Л, В, С и Р в соответсыеуюпц!х массивах подпрограммы. 1.1 и 1 М вЂ” пидикаторы ы!па граппчпого условия, а А1, Я1, АМ и ОМ --. зиачеипя коэффпциепгов граиичпых условий па левов и правой границах. Индикатор ! ! = 1 соответствует граничному условию перво!о ро,ш (услогие Дприхле) Пркеоеееное А. Метод нрогонно на левой границе, 1.
1 = 2 — условию второго рода (условие Неймана) на левой границе, Ь1 =3 — условию третьего рода (смешанное условие Роббниа) на левой границе; то же означают аналогичные записи для ЬМ на правой границе. Векторы Е и Р являются рабочими и для них должно быть предусмотрено место в памяти, вызывающей программы. Решение засылается в массив%. Текст подпрограммы 8()ВРОБТ1ЫЕ ОТЕ! (А, В, С, Р, МР, Е, Р, %, 1.1, А!, Я1, 1.М, АМ, ЯМ) С ОЕХЕКАЬ ТИ-Р1АООХАЬ ЯОЬЧЕВ Р1МЕ)че!ОИ А(МР), В (МР), С(МР), Р(МР), Е(МР), Р(МР), %(МР) !Р (1.1 .
ЕЯ . 1) Е (1) = О. !Е (1 !.ЕЯ.1) Е(1)=А1 С АВОЧЕ ОЧЕц%ц1ТТЕМ !Р ЬМ.(чЕ.2 1Р (Ь1.ЕЯ.2) Е(1)=!. 1Р (Ь!.ЕО.2) Р(!)= — А1 !Р (1.! .ЕЯ.З) Е (1) = А1/(А1 — 1.) 1Р (Ь1.ЕЯ.З) Р(1)=Я1/(1. — А!) ММ= МР— 1 РО ! М=2, ММ РЕ)! = В (М) — С (М)' Е (М вЂ” 1) Е (М) = А(М)/РЕЯ Р (М) = (Р (М) + С (М)' Р (М вЂ” 1))/РЕ(н! !Р(1.М.ЕО.!) %(МР)=АМ 1Р (1.М.ЕЯ.2) %(МР) =(Р (ММ)+ АМ)/(1. — Е(ММ)) 1Р(ЬМ.Н~.3) %(МР) =(Р(ММ)+()М/А~Щ1,+АМ)/АМ- — Е (ММ)) РО 2 МК=!, ММ М=МР— МК 2 % (М) = Е (М)'% (М + 1) + Г (М) КЕТНц!) ЕХР Приложение Б ОБ ИСКУССТВЕННОЙ СХЕМНОЙ ВЯЗКОСТИ' ) Введение Искусственная вязкость представляст собой особый вид ошибок аппроксимации, проявляющихся при представлении уравнений переноса конечными разностями.
Впервые этот термин появился в работе фон Неймана и Рихтмайера (1950), которые вве,ти в явном виде в уравнения течения невязкого газа член, аналогичный члену, описывающему вязкость, для расчета движения ударных волн; в настоящее время этот метод известен как метод «размазывания» ударных волн пли метод сквозного счета. В цитированной работе член с явной искусственной вязкостью выбирался пропорциональным Лх' для обеспечения аппроксимации, т.
е. по существу этот члеп представлял собой ошибку аппроксимации второго порядка. Позже было выяснено, что аналогичное искусственной вязкости поведение может быть получено (часто неумышленно) именно из-за ошибок аппроксимации уравнений конечными разностями. Нох и Проттер !1963) впервые провели анализ неявной (схемиой) искусственной вязкости в схеме с конечными разностями против потока для линейного модельного уравнения кон- векции (Б. 1) ьс = — иь,. (Б.2) Ошибка аппроксимации имеет порядок 0(Л7, Лх). Переписывая уравнение (2) с введением числа Куранта С = иМ/Лх, при и = сопз! получаем ген+1 ела С (~н ~л ) Для С=! схема дает Ц+'=~".