Книга
Книга
От редактора перевода
Применение вычислительных методов в естественных науках получило в последние 3—4 десятилетия очень широкое распространение. Можно смело утверждать, что подобный «численный» уклон в процессе теоретического исследования многих классов задач не только не снизил качества подобных исследований, но и придал им более жизненный колорит, существенно приблизив результаты к требованиям инженерной практики.
Динамика жидкости и газа представляет собой одну из тех областей знания, где подходы, основанные на применении вычислительных методов, оказались особенно плодотворными и позволили получить продвижение в решении ряда проблем, •считавшихся до этого неразрешимыми. Действительно, такие особенности уравнений гидроаэродинамики, как нелинейность, высокий порядок (особенно в отношении пространственных задач) и возможность появления разрывных решений, зачастую делают именно численный метод исследования наиболее предпочтительным и эффективным. Как раз это обстоятельство и привело к появлению термина «вычислительная гидроаэродинамика», обозначающего по существу некую самостоятельную и бурно развивающуюся область науки.
В нашей стране вычислительная гидроаэродинамика имеет, пожалуй, не меньшее распространение, чем во многих развитых странах. Тем не менее у нас ощущается определенный недостаток монографической литературы в этой области, нередко восполняемый переводами зарубежных изданий. Так, в свое время большим успехом пользовался русский перевод книги П. Д. Роуча «Вычислительная гидродинамика» (М.: Мир, 1980). Однако эта книга к настоящему времени существенно устарела и не может считаться удовлетворительной ни по освещению гидродинамических процессов, ни по набору описанных в ней численных методов.
Недавно вышедшая в русском переводе книга Д. Андерсона, Дж. Таннехилла и Р. Плетчера «Вычислительная гидромеханика и теплообмен» (М.: Мир, 1990) вполне удовлетворительно отражает современный уровень гидроаэромеханики, однако.
к сожалению, ограничивается лишь описанием конечно-разностных методов.
Книга, предлагаемая нами читателю, представляет собой первый том двухтомной монографии и выгодно отличается как. современным уровнем изложения, широтой охвата физических задач, так и разнообразием методов их численного решения. Автор книги — известный австралийский ученый К. Флетчер — знаком советским читателям не только по публикациям в периодической печати, но и по изданному в СССР переводу его книги «Численные методы на основе метода Галёркина» (М.: Мир,. 1988), которая пользуется успехом у читателя.
Поскольку автор достаточно подробно излагает основное- содержание своей книги в предисловии, мы ограничимся здесь оценкой некоторых ее отличительных черт.
Особенность предлагаемой книги состоит в том, что автор не углубляется в теоретическое обоснование излагаемых методов, ограничиваясь в этом отношении лишь анализом точности аппроксимации. Вместе с тем он подробно описывает технику применения каждого конкретного метода, а также анализирует его положительные и отрицательные качества, уделяя при этом особое внимание оценкам точности и экономичности. Невозможно переоценить и тот факт, что изложение сйн схематически подкрепляется и иллюстрируется программами на языке Фортран, а также результатами расчетов по этим программам.
Настоящий, первый том книги посвящен описанию практик чески всех методов решения наиболее характерных задач it приемам реализации этих методов. Готовящийся к изданию второй том будет связан с более подробным изложением применения численных методов к определенным классам гидроаэродина- мических задач.
Есть все основания надеяться, что книга будет с интересом встречена инженерами и научными работниками, занимающимися вычислительной гидроаэродинамикой, а также принесет пользу аспирантам и студентам старших курсов тех специальностей, где изучается механика жидкости и газа, и в особенности численные методы решения задач в этой области.
В. П. Шидловски^
Предисловие
Предлагаемое вниманию читателя двухтомное издание является учебным пособием, предназначенным для студентов, специализирующихся по техническим наукам и прикладной математике. Это пособие ставит своей целью ознакомление читателя с теми методами, которые доказали свою эффективность в различных областях вычислительной гидроаэродинамики (ВГАД), и разработку методики для успешного использования этих методов. В т. 1 излагаются некоторые основные представления, а также наиболее общие методы, пригодные для численного исследования любых разновидностей течения жидкости л газа. В т. 2 описываются специальные методы, применимые к изучению различных видов течения, имеющих инженерно-техническое значение, причем многие из этих методов пригодны и для исследования конвективной теплопередачи.
Красной нитью сквозь все содержание книги проходит идея о том, что конкурирующие подходы, используемые при решении задач вычислительной гидроаэродинамики и основанные, например, на применении конечных разностей, конечных элементов, а также спектральных методов, тесно связаны между собой и могут рассматриваться как отдельные части некоторой единой структуры. Опыт, полученный автором при занятиях со студентами, указывает на то, что именно с помощью такой трактовки студент может наиболее глубоко разобраться как в положительных, так и в отрицательных качествах того или иного численного метода.
Благодаря включению в текст 24 вычислительных программ, а также примеров и задач данная книга окажется пригодной также и для сформировавшихся исследователей или работников, желающих практически овладеть численными методами без специального обучения. Содержание книги охватывает наиболее современные методы и подкреплено более чем 300 рисунками, а также 500 названиями в списке литературы.
Применительно к большинству учебных заведений содер- 水анне 1. 1 соответствует программе вводных курсов по ВГАД на втором или третьем году обучения. Содержание т. 2 соответствует программе спецкурсов, читаемых по прикладным
разделам ВГАД на более поздней стадии обучения. Что касается сформировавшегося исследователя или инженера-практика, то такому читателю рекомендуется прочитать т. 1 и прорешать все предлагаемые там задачи, прежде чем приступить к формулировке своей собственной программы по ВГАД. Содержание т. 2 станет для такого читателя более ценным, после того как он приобретет некоторый опыт по ВГАД в процессе работы над. своей программой.
Предполагается, что читатель хорошо знаком с такими разделами прикладной математики, как численное решение линейных или нелинейных алгебраических уравнений, а также обыкновенных дифференциальных уравнений. Материал по этой тематике можно найти в книгах [Dahlquist, Bjorck, 1974], [Forsythe, Malcolm, Moler, 1977]】),[Carnaghan, Luther, Wilkes^ 1969]. Предполагается также, что читатель обладает определенными знаниями по гидроаэродинамике. Такого рода знания можно почерпнуть из книг: Streeter, Wylie «Fluid Mechanics», Panton «Incompressible Flow», Batchelor《An Introduction to Fluid Dynamics»2) и др.
Включенные в книгу программы для ЭВМ приводятся здесь- с учебной целью, а также для того, чтобы читателю было легче составлять свои собственные программы либо путем использования аналогичных построений, либо с помощью модификации приводимых программ. Если иметь в виду, что человек^ практикующийся по вычислительной гидроаэродинамике/ с одинаковой вероятностью может как воспользоваться готовой программой, так и набросать свою собственную, то желательно обладать некоторым опытом переделки имеющихся программ,, хотя бы самых простых. Автор книги может предоставить желающим гибкий диск, пригодный для компьютеров фирмы «ИБМ» и содержащий соответствующие программы.
Распределение материала в первом томе осуществлено следующим образом. В гл. 1 предлагается введение в вычислительную гидроаэродинамику (ВГАД), в котором читатель получит представление о том, почему ВГАД столь важна для науки и практики, о характере решаемых при этом задач, а также о том, как реализуются цели, поставленные перед ВГАД. Уравнения, служащие для описания течения жидкости, обычно^ имеют форму дифференциальных уравнений в частных производных. Поэтому в гл. 2 описываются дифференциальные урав-
D Имеется перевод: Форсайт Дж., методы математических вычислений.—D Имеется перевод: Форсайт Дж., методы математических вычислений.—Малькольм М., Моулер К・ Машинные' М.: Мир, 1980.
D Имеется перевод: Форсайт Дж., методы математических вычислений.—
D Имеется перевод: Форсайт Дж., методы математических вычислений.—
2)Две первые книги малоизвестны советскому читателю, а книга Дж. Бэтчелора «Введение в динамику жидкости» переведена на русски尢 язык в издательстве《Мир» в 1973 г.
нения в частных производных различного типа, приводятся соответствующие граничные условия и дается краткий обзор традиционных методов решения.
Построение численных решений расчленяется на два этапа — приведение дифференциальных уравнений в частных производных к системе алгебраических уравнений и решение этих алгебраических уравнений. Первый этап, называемый дискретизацией, рассматривается в гл. 3, где особый акцент делается на точности аппроксимации. В гл. 4 обеспечивается теоретический базис, достаточный для того, чтобы те или иные численные решения можно было должным образом соотнести с «точным» решением, как правило неизвестным. В гл. 5 вводится представление о методах взвешенных невязок, служащих средством для исследования и сравнения между собой методов конечных элементов, методов конечных объемов и спектральных методов в качестве альтернативных средств дискретизации. Характерные способы решения алгебраических уравнений, получаемых в результате дискретизации, описываются в гл. 6. Совокупность гл. 3—6 обеспечивает наиболее существенный информационный базис.
Одномерное уравнение диффузии, рассмотренное в гл. 7, представляет собой простейшую модель для описания течения жидкости с высоким уровнем диссипации. Это уравнение используется для того, чтобы противопоставить друг другу явные и неявные методы, а также чтобы обсудить методику численного представления граничных условий, формируемых посредством производных. Если пространственная размерность больше или равна двум, то для эффективного построения численных решений обычно требуется воспользоваться методикой расщепления; различные варианты такого расщепления описываются в гл. 8. Конвективные (или адвективные) процессы при течении жидкости, а также эффективные приемы их численной оценки рассматриваются в гл. 9. Конвективные члены уравнений оказываются обычно нелинейными, и дополнительные трудности, связанные с этой нелинейностью, рассматриваются в гл. 10. Общие приемы, разрабатываемые в гл. 7—10, используются при построении специальных методов, служащих Для исследования разнообразных видов течения жидкости или особенностей их поведения, как это и показано в гл. 14——18 т. 2 книги.
При подготовке данного учебного пособия я прибегал к по- м°Щи многих специалистов. В частности, я хотел бы поблаго- Аарнть д-ра К. Сриниваса, Нам-Хью Чжо и Зили Жу за то, что они прочитали текст рукописи и внесли множество
полезных предложений. Я благодарен Джун Джеффери за подготовку иллюстраций очень высокого качества. Выражаю особую、 благодарность Сьюзен Гонзалес, Лин Кеннеди, Мариту Агудо и Шейн Гортон, которые успешно справлялись как с капризным автором, так и с трудноуправляемыми процессорными устройствами, за перепечатку рукописи и ее пересмотренных вариантов с похвальной точностью, скоростью и терпением.
Мне приятно отметить вдумчивую помощь и профессиональную компетентность проф. В. Бейгльбёка, г-жи Кристины^ Пендль, г-на Р. Михельса и их коллег в издательстве SpringerVerlag, проявившиеся при подготовке данного учебного пособия. Наконец, я выражаю глубокую признательность моей жене Мэри, неизменно поддерживавшей меня и несшей бремя «книжной вдовы» со своим обычным достоинством.
К. ФлетчерК. ФлетчерСидней, октябрь 1987 г.
К. Флетчер
К. Флетчер
Глава 1
Введениев вычислительную гидроаэ роди н ам и ку
В данной главе предлагается обзор вычислительной гидро- аэродинамики (ВГАД), причем основное внимание уделяется эффективности затрат, производимых в процессе разработки. Приводится описание некоторых характерных приложений, позволяющих продемонстрировать возможности ВГАД. Выявляется характерная структура уравнений гидроаэродинамики и иллюстрируется процесс превращения этих уравнений в алгоритмы, реализуемые на ЭВМ. Наконец, внимание читателя привлекается к некоторым наиболее важным источникам ин- ©ормации более высокого уровня.
L Преимущества вычислительной гидроаэродинамики
Процесс установления гидроаэродинамики как науки, а -также развития практических приложений этой науки начался и продолжался еще со времен Ньютона. Теоретическое развитие гидроаэродинамики концентрируется в основном на построении и решении определяющих уравнений, пригодных для различных типов течения жидкости или газа, а также на изучении разного рода аппроксимаций по отношению к этим уравнениям.
Определяющие уравнения ньютоновской гидроаэродинамики —нестационарные уравнения Навье — Стокса — известны уже в течение 150 лет или даже более. Однако разработка укороченных форм этих уравнений (гл. 16) по-прежнему остается областью активных исследований, так же как и проблема замыкания осредненных по Рейнольдсу уравнений Навье — Стокса (см. п. 11.5.2), применяемых в теории турбулентности. В областях неньютоновской гидроаэродинамики, описания химически реагирующих потоков и двухфазных течений теоретические разработки находятся пока что не на столь высоком Уровне.
Экспериментальная гидроаэродинамика сыграла важную роль при проверке справедливости и установлении пределов пригодности различных аппроксимаций по отношению к
определяющим уравнениям. Аэродинамическая труба, применяемая как оборудование для проведения эксперимента, является эффективным средством моделирования реальных течений. Традиционно эта труба сыграла роль альтернативы натурным измерениям, позволившей снизить затраты. В процессе проектирования конструкций, существенно зависящих от поведения потока, например при проектировании самолета, натурные измерения как элемент этого процесса не оправдывают себя экономически.
Устойчивое повышение скорости существующих ЭВМ и объема их памяти, начавшееся в 1950-х гг., привело к возникновению вычислительной гидроаэродинамики (ВГАД). Эта ветвь гидроаэродинамики дополняет ее экспериментальную и теоретическую ветви, представляя собой альтернативное и экономически эффективное средство моделирования реальных течений. В качестве такового ВГАД предоставляет возможности проверки теоретических приближений к таким условиям, экспериментальное моделирование которых невозможно. Например, эксперименты в аэродинамических трубах ограничиваются определенным диапазоном чисел Рейнольдса, которые оказываются обычно на один или два порядка величины меньше натурных чисел.
Еще одно преимущество вычислительной гидроаэродинамики состоит в том, что при желании можно отбросить те или иные члены определяющих уравнений. Тем самым открывается путь к опробованию теоретических моделей или, наоборот, выявляются новые пути теоретического исследования.
Появление более эффективных ЭВМ стимулировало интерес к ВГАД, а последняя в свою очередь обеспечила существенное повышение эффективности вычислительной техники. В результате ВГАД стала к настоящему времени наиболее предпочтительным средством проверки качества альтернативных разработок в авиационной промышленности, в промышленности турбодвигателей и в несколько меньшей степени в автомобильной промышленности.
Суммируя выводы работ [Chapman et al., 1975; Chapman 1979, 1981; Green, 1982; Rubbert, 1986], можно утверждать, что ВГАД позволяет получить пять важнейших видов преимущества по сравнению с экспериментальной гидроаэродинамикойг
время предварительной подготовки при проектировании и при разработках существенно уменьшается;
ВГАД позволяет моделировать условия течения, не воспроизводимые при экспериментальных испытаниях на моделях;
ВГАД позволяет получить более широкую и подробную информацию;
стоимостная эффективность экспериментов на основе ВГАД по сравнению с испытаниями в аэродинамических трубах непрерывно повышается;
применение методов ВГАД позволяет снизить потребление энергии.
Согласно сложившейся традиции, длительные времена предварительного этапа проектирования были связаны с необходимостью осуществления следующих последовательных этапов: составления проекта, создания модели, испытаний в аэродинамической трубе и составления скорректированного проекта. Создание модели оказывается зачастую наиболее медленной стадией этого процесса. Использование хорошо отлаженной программы по методике ВГАД позволяет испытывать серию альтернативных проектов (например, с различной геометрической конфигурацией) в широком диапазоне значений параметров, таких, как число Рейнольдса, число Маха, угол отклонения потока. Расчет каждого варианта может потребовать около 15 мин на таком суперкомпьютере, как CYBER-205 или CRAY-2. Возможности оптимизации проектирования существенно ограничиваются способностью проектировщика к восприятию и оценке численных результатов. На практике ВГАД оказывается чрезвычайно эффективной на ранней стадии отбора среди конкурирующих вариантов проектной конфигурации. Однако подтверждение окончательного выбора проектного варианта все же достигается посредством испытаний в аэродинамической трубе.
Рабберт [Rubbert, 1986] обращает особое внимание на тот факт, что если пакеты стандартных программ ВГАД используются с максимальной эффективностью, то скорость применения методов ВГАД при повторном проектировании второстепенных элементов конструкции оказывается достаточно большой. При этом Рабберт приводит пример, касающийся повторного проектирования внешнего контура кабины самолета «Боинг-757» с целью размещения тех же конструктивных элементов, что и в кабине «Боинга-767», но при минимизации временя смены пилота. Как указывает Рабберт, методы ВГАД позволили определить такую внешнюю форму кабины, которая бнла внедрена в производство еще до того, как была предпри- нята какая-либо ее экспериментальная проверка в аэродинамической трубе.
Характерным ограничением для испытаний в аэродинамической трубе является достижимое при этом число Рейнольдса
(натурные испытания обычно исключаются). За пределами возможностей большинства экспериментальных установок оказывается также диапазон очень высоких температур, обусловленный взаимосвязью проблем теплопередачи с проблемами обтекания. Это особенно явственно выделяется при решении проблем сгорания, когда дополнительный уровень сложности создается за счет изменения химического состава среды. Далее, некоторые разновидности неустановившегося движения жидкости или газа не удается должным образом моделировать при экспериментах, особенно если движение сопровождается нестационарными изменениями геометрии, как это имеет место для некоторых задач биологической аэродинамики. Кроме того, многие проблемы геофизической аэрогидродинамики оказываются слишком большими или слишком отдаленными в пространстве или во времени, чтобы быть доступными экспериментальному моделированию. Так, например, потоки, возни* кающие в нефтяных резервуарах, в принципе невозможно подвергнуть точным экспериментальным измерениям. С другой стороны, проблемы астрофизической гидроаэродинамики являются слишком отдаленными в пространстве, тогда как форма кривых, определяющих погоду, должна быть определена до того, как она реализуется. Все эти разновидности движения жидкости или газа являются подходящими для исследования численными методами.
Такие экспериментальные установки, как аэродинамическая труба, оказываются весьма эффективными с целью получения глобальной информации, например, о значениях полной подъемной силы и полного сопротивления, действующих на тело, или о распределении давления на характерных участках его поверхности. Однако нахождение детальных экспериментальных распределений скорости и давления по всей области, окружающей тело, было бы чрезвычайно дорогостоящим и потребовало бы очень много времени. ВГАД дает возможность получить эту детальную информацию без каких-либо дополнительных затрат и, следовательно, позволяет дать более полное представление о тех гидроаэродинамических процессах, которые здесь должны иметь место.
Возможно, наиболее важным побудительным стимулом к расширению применения ВГАД является тот факт, что для большинства вариантов модели основного потока применение методов ВГАД оказывается значительно дешевле, чем проведение испытаний в аэродинамической трубе, причем со временем эта разница в стоимости будет даже возрастать. Улучшение характеристик средств вычислительной техники достигалось до сих пор одновременно со снижением стоимости этой
техники. В результате для определенного численного алгоритма и определенной задачи обтекания относительная стоимость численного моделирования подвергалась до настоящего времени существенному снижению (рис. 1.1). Параллельно с улучшением характеристик средств вычислительной техники происходило и улучшение эффективности численных алгоритмов для решения заданной проблемы (рис. 1.2). Сочетание этих
Г оды выпуска новых компьютеровГ оды выпуска новых компьютеровРис. 1.1. Относительная стоимость вычислений по заданному алгоритму и для заданного вида течения (согласно обзору [Chapman, 1979]; воспроизведено с разрешения AIAA).Рис. 1.1. Относительная стоимость вычислений по заданному алгоритму и для заданного вида течения (согласно обзору [Chapman, 1979]; воспроизведено с разрешения AIAA).^ХХФ5Х73О q-oowsol。Еахлсфьхоохьо^ХХФ5Х73О q-oowsol。Еахлсфьхоохьо
Г оды выпуска новых компьютеров
Г оды выпуска новых компьютеров
Рис. 1.1. Относительная стоимость вычислений по заданному алгоритму и для заданного вида течения (согласно обзору [Chapman, 1979]; воспроизведено с разрешения AIAA).
Рис. 1.1. Относительная стоимость вычислений по заданному алгоритму и для заданного вида течения (согласно обзору [Chapman, 1979]; воспроизведено с разрешения AIAA).
^ХХФ5Х73О q-oowsol。Еахлсфьхоохьо
^ХХФ5Х73О q-oowsol。Еахлсфьхоохьо
двух факторов приводит к непрерывному повышению стоимостной эффективности методов ВГАД. В противоположность этому стоимость осуществления экспериментов продолжает расти.
Повышение качества вычислительной техники и вычислительных алгоритмов привело, кроме того, к уменьшению потребления энергии, необходимой для численного моделирования течений. И наоборот, необходимость моделирования физических условий, приближающихся к предельным, с более высокими числами Рейнольдса, более высокими числами Маха и с более высокой температурой, привела к увеличению потребления энергии, требуемой для проведения экспериментов.
Хронологически развитие вычислительной техники в течение последних тридцати лет было направлено на создание более быстрых машин с увеличенной памятью. Современный суперкомпьютер такого типа, как CYBER-205 [Levine, 1982], способен действовать со скоростями до 400 мегафлоп. Один мегафлоп соответствует одному миллиону арифметических операций с плавающей запятой в секунду. Суперкомпьютеры последних выпусков, такие, как NEC SX2 [Fernbach, 19861, способны
действовать со скоростями, превышающими 1000 мегафлоп. Повышение скорости осуществляется в первую очередь за счет сокращения цикла машинного времени, т. е. времени, потребного для выполнения каждого цикла логических операций. Если CYBER-205 имеет временной цикл 20 нс (20-10~9 с), то временной цикл машины NEC SX2 составляет 6 нс.
Характерная операция, как, например, сложение с плавающей запятой, может быть разбита на некоторое число логиче-
Улучшение качества Улучшение качества компьютеровчисленныхметодовУлучшение качества Улучшение качества компьютеровчисленныхметодовРис. 1.2. Относительная стоимость в зависимости от качества техники и качества вычислительных алгоритмов (согласно обзору [Chapman, 1979]; воспроизведено с разрешения AIAA). ;Рис. 1.2. Относительная стоимость в зависимости от качества техники и качества вычислительных алгоритмов (согласно обзору [Chapman, 1979]; воспроизведено с разрешения AIAA). ;江 HHosnh-qCDJHOOS?^0 HeHquelnooEO江 HHosnh-qCDJHOOS?^0 HeHquelnooEO
Улучшение качества Улучшение качества компьютеровчисленныхметодов
Улучшение качества Улучшение качества компьютеровчисленныхметодов
Рис. 1.2. Относительная стоимость в зависимости от качества техники и качества вычислительных алгоритмов (согласно обзору [Chapman, 1979]; воспроизведено с разрешения AIAA). ;
Рис. 1.2. Относительная стоимость в зависимости от качества техники и качества вычислительных алгоритмов (согласно обзору [Chapman, 1979]; воспроизведено с разрешения AIAA). ;
江 HHosnh-qCDJHOOS?^0 HeHquelnooEO
江 HHosnh-qCDJHOOS?^0 HeHquelnooEO
ских операций, для исполнения каждой из которых требуется один машинный цикл. Если одна и та же операция типа сложения с плавающей запятой должна последовательно применяться к большому числу элементов некоторого вектора, то желательно иметь дело с каждой из логических операций последовательно, однако добиваться одновременного выполнения различных логических операций, связанных с каждым элементом вектора. Таким образом достигается значительное перекрытие операционных циклов и существенное ускорение суммарного времени выполнения задания, если только вычислительный алгоритм способен использовать подобный принцип трубопровода.
Такие современные суперкомпьютеры, как члены семейства CRAY, а также CYBER-205, обладают специальными векторными командами, использующими формат трубопровода. Однако некоторые части программы не могут подвергнуться
такой обработке, так что эффективная оперативная скорость может составить всего 10—20 % от максимально достижимой (согласно оценке) скорости [Fernbach, 1986].
Способность довести суммарную скорость выполнения задания до предела, поставленного возможностями техники, частично зависит от способности операционной системы и компилятора к векторизации вычислительного алгоритма, а частично от выбора таких вычислительных алгоритмов, которые по своим свойствам поддаются подобной векторизации [Ortega, Voigt, 1985]. Придание вычислительному алгоритму такой структуры, которая позволяет реализовать векторизацию, представляет собой важную тему для исследования, но выходит за пределы данной книги. По-видимому, долгосрочная тенденция будет идти в направлении создания таких операционных систем и компиляторов, которые обеспечивали бы проведение векторизации при условии, что пользователь мало заботится о соответствующей модификации основного алгоритма.
Если архитектура ЭВМ соответствует принципу трубопровода и имеется эффективная программа векторизации, а временной цикл машины сделан сколь возможно малым, то главным средством дальнейшего повышения оперативной скорости является внедрение множественных процессоров, действующих по принципу параллелизма. В настоящее время суперкомпьютеры [Fernbach, 1986] конструируются так, что они имеют до восьми процессоров, работающих в параллельном режиме. Теоретически это должно было бы обеспечивать восьмикратное повышение скорости. Как показывают предварительные эксперименты Стивенса [Stevens, 1986] с двухпроцессорной машиной CRAY-X/MP, при численной реализации наиболее характерных программ ВГАД можно добиться повышения скорости, получая от 75 до 95 % теоретически возможного максимума.
Идея о введении некоторого набора процессоров, каждый из которых оперирует с отдельным элементом вектора, сыграла важную роль при разработке более эффективной архитектуры компьютеров [Hockney, Jesshope, 1981]. Компьютер Illias-IV имел 64 параллельных процессора и достигал суммарной оперативной скорости, сравнимой со скоростями машин CRAY-1 и CYBER-205, хотя временной цикл этого компьютера составлял Целых 80 нс. Сравнительные достоинства процессоров, работающих по принципу трубопровода и параллельному принципу, в общем виде обсуждаются в работах Левина [Levine, 1982], Ортеги и Фойта [Ortega, Voigt, 1985], а более подробно — в работе Хокни и Джессхоупа [Hockney, Jesshope, 1981].
Разработка более объемистых и более дешевых модулей памяти стимулируется существенным коммерческим интересом
по отношению к хранению и обработке данных. Для приложения к ВГАД важно, чтобы вся программа, включая команды и набор переменных, сохранялась в основной памяти. Это связано с тем, что скорость передачи данных из вторичной (дисковой) памяти в основную намного меньше, чем скорости обмена между основной памятью и узлами процессора. В прошлом именно объем основной памяти определял предел сложности исследуемых задач ВГАД.
Весьма впечатляющей является хронологическая последовательность в возрастании объема памяти суперкомпьютеров. У машины CDC-7600 (проект 1970 г.) объем памяти составлял 4-105 64-битовых слов. Компьютер CYBER-205 (проект 1980 г.) обладает памятью в 3-107 64-битовых слов, а, согласно программе NAS [Bailey, 1986], ожидается, что к 1990 г. будут действовать суперкомпьютеры с основной памятью объемом .в, 109 64-битовых слов.
Значительный прогресс в создании миникомпьютеров в 1970-х гг. и микрокомпьютеров в 1980-х гг. обеспечил альтернативный путь к формированию стоимостно-эффективной ВГАД. Появление микрокомпьютеров с 32-битовой памятью свидетельствует о том, что ограниченная возможность доступа к основной памяти уже не является препятствием к применению» микрокомпьютеров. Следовательно, относительная дешевизна оперативной памяти указывает на возможность эффективного решения больших задач с помощью микро- или миникомпьютеров. Основное отличие микрокомпьютеров от полногабаритных машин состоит в их значительно более медленном временном цикле, а также в их упрощенной и менее эффективной архитектуре.
Объединение многих сравнительно маломощных параллельных процессоров рассматривается как весьма эффективный путь к решению сложных задач ВГАД. Каждый из таких процессоров может базироваться на применении вполне стандартных микрокомпьютерных компонентов, что приведет к возможно малой стоимости системы. Типичная система такого рода — PAX-128 — описана в докладе Хосино [Hoshino, 1986]. Эта система имеет 128 процессорных узлов, каждый из которых базируется на микрочипах типа Motorola-68000, действующих со сравнительно медленным временным циклом, равным 500 нс. Несмотря на это, система РАХ-128 способна развивать скорость до 4 мегафлоп.
Сравнительно медленное действие систем, базирующихся на микрокомпьютерах, может компенсироваться допущением более длительных времен счета. Если для рутинной проектно-расчетной работы 15 мин на суперкомпьютере является, по-види- мому, общепринятой нормой [Bailey, 1986], то в процессе ис-
следований и разработок времена счета на микрокомпьютере порядка одного дня могут оказаться вполне приемлемыми. Это даже дает преимущество исследователю, работающему в области В ГАД, предоставляя ему достаточное время для интерпретации результатов и подготовки к расчету дополнительных вариантов.
佃°佃°109109Возможность в 1989 г. (прогноз)Возможность в 1989 г. (прогноз)EQ5 otawhvwx ЧЛВГС2ШСEQ5 otawhvwx ЧЛВГС2ШС108108CRAY-2 (прогноз)CRAY-2 (прогноз)CYBER-205 ILLIAC-IV CRAY-XMP CRAY-IS~ CYBER-203 CRAYT CDC-7600CYBER-205 ILLIAC-IV CRAY-XMP CRAY-IS~ CYBER-203 CRAYT CDC-7600m。體關旣^^вихрями /m。體關旣^^вихрями /ИГИГУравнения Навье —Стокса с осреднением по РейнольдсуУравнения Навье —Стокса с осреднением по Рейнольдсу1061060.10.1АС — самолет W—крыло А —профильАС — самолет W—крыло А —профиль|0*111 —I0ЛС1 0.01|0*111 —I0ЛС1 0.01Скорость компьютера, мегафлопСкорость компьютера, мегафлопРис. 1.3. Требования со стороны ВГАД к скорости компьютеров и объему памяти (согласно [Bailey, 1986]; воспроизведено с разрешения Japan Society of Computational Fluid Dynamics).Рис. 1.3. Требования со стороны ВГАД к скорости компьютеров и объему памяти (согласно [Bailey, 1986]; воспроизведено с разрешения Japan Society of Computational Fluid Dynamics).
佃°
佃°
109
109
Возможность в 1989 г. (прогноз)
Возможность в 1989 г. (прогноз)
EQ5 otawhvwx ЧЛВГС2ШС
EQ5 otawhvwx ЧЛВГС2ШС
108
108
CRAY-2 (прогноз)
CRAY-2 (прогноз)
CYBER-205 ILLIAC-IV CRAY-XMP CRAY-IS~ CYBER-203 CRAYT CDC-7600
CYBER-205 ILLIAC-IV CRAY-XMP CRAY-IS~ CYBER-203 CRAYT CDC-7600
m。體關旣^^вихрями /
m。體關旣^^вихрями /
ИГ
ИГ
Уравнения Навье —Стокса с осреднением по Рейнольдсу
Уравнения Навье —Стокса с осреднением по Рейнольдсу
106
106
0.1
0.1
АС — самолет W—крыло А —профиль
АС — самолет W—крыло А —профиль
|0*111 —I
0ЛС1 0.01
|0*111 —I
0ЛС1 0.01
Скорость компьютера, мегафлоп
Скорость компьютера, мегафлоп
Рис. 1.3. Требования со стороны ВГАД к скорости компьютеров и объему памяти (согласно [Bailey, 1986]; воспроизведено с разрешения Japan Society of Computational Fluid Dynamics).
Рис. 1.3. Требования со стороны ВГАД к скорости компьютеров и объему памяти (согласно [Bailey, 1986]; воспроизведено с разрешения Japan Society of Computational Fluid Dynamics).
Весьма обнадеживающими являются прогнозы на будущее, касающиеся скорости компьютеров и объема их памяти. Как свидетельствуют оценки, сделанные в работах [Chapman, 1981; Bailey, 1986; Fernbach, 1986], к 1990 г. можно ожидать возрастания скорости компьютеров до 104 мегафлоп, а объема основной памяти ——до 1000 мегаслов. Как предполагается, этого будет достаточно (рис. 1.3) для полного расчета установившегося вязкого (турбулентного) сжимаемого потока вокруг летательного аппарата.
Характерные практические задачи
В настоящее время вычислительная гидроаэродинамика, и в особенности ее инженерные приложения, находится в такой стадии своего развития, когда «задачи, связанные со сложной геометрией, могут решаться при наличии простых физических условий, а задачи, связанные с простой геометрией,— при сложных физических условиях» [Bailey, 1986]. Ниже приводятся характерные примеры таких задач.
/.2./. Сложная геометрия, простые физические условия
Распределение давления по поверхности типового сверхзвукового военного самолета демонстрируется на рис. 1.4. Число Маха невозмущенного потока составляет 1.8, а угол атаки равен 8°. Самолет состоит из фюзеляжа, обтекателя кабины, заборников двигателя, киля, основного дельтовидного крыла и
Рис. 1.4. Распределение давления по поверхности типового военного самолета. Линии равного давления с АСр = 0.02 (согласно [Arlinger, 1986]; воспроизведено с разрешения Japan Society of Computational Fluid Dynamics).
передних (фальшивых) крыльев. Кроме того, плоскости управления у задней кромки дельтовидного крыла отклонены вверх на угол 10°. В каждой из плоскостей поперечного сечения, последовательно расположенных в направлении вниз по потоку, необходимо иметь приблизительно 19 000 узловых точек. Сложность геометрии предъявляет серьезные требования к процедуре формирования расчетной сетки. Арлингер [Arlinger, 1986] пользуется алгебраической техникой формирования сетки, основанной на применении трансфинитной интерполяции (см. п. 13.3.4).
Течение предполагается невязким и повсюду сверхзвуковым, так что можно воспользоваться явной маршевой схемой в направлении невозмущенного потока. Это эквивалентно той
процедуре, которая описана в п. 14.2.4. Явная маршевая схема здесь особенно эффективна, причем расчет всего поля течения требует 15 мин на компьютере CRAY-1. Для дискретизации исходных уравнений используется метод конечных объемов (§ 5.2). Как подчеркивает Арлингер, ключевым элементом^ необходимым для эффективного получения результатов, является гибкая и универсальная техника формирования расчетной сетки.
Упрощенная геометрия,более сложные физические условия
На рис. 1.5 показаны предельные траектории частиц на верхней поверхности трехмерного крыла при возрастающих числах Маха Mg невозмущенного потока. Предельные траектории частиц соответствуют тем картинам на поверхности, которые могли быть получены экспериментально с помощью масла. Результаты, показанные на рис. 1.5, получены путем расчета [Holst st al., 1986] трансзвукового вязкого обтекания крыла под углом атаки 2° с относительным удлинением, равным 3, и с числом Рейнольдса, рассчитанным по длине хорды и равным 8-106.
При этих условиях над крылом формируется ударная волна, взаимодействующая с пограничным слоем на верхней поверхности и создающая обширную зону отрыва. Эта область отрыва изменяется и расширяется по мере увеличения М®. Влияние области потока, примыкающей к боковой кромке крыла, делает картину отрыва существенно трехмерной. Терминология, применяемая в надписях на рис. 1.5 (спиральный узел и т. 口.), соответствует классификации, принятой при описании трехмерного отрыва [Tobak, Peake, 1982].
Для построения решения требуется трехмерная сетка, состоящая примерно из 170 000 точек, распределенных по четырем, частично перекрывающим друг друга зонам. Две зоны, расположенные непосредственно над крылом и под ним, имеют сетку, измельченную в нормальном направлении с целью точного предсказания возникающих здесь очень больших градиентов скорости. В этих двух зонах решаются уравнения Навье — Стокса для тонкого слоя. Такие уравнения содержат только те вязкие члены, которые связаны с направлением нормали и служат примером упрощенных уравнений Навье — Стокса (гл. 16). В двух зонах, удаленных от крыла, течение предполагается невязким и подчиняющимся уравнениям Эйлера (см. п. 11.6.1).
Решения для каждой из узловых точек сетки во всех зонах строятся по маршевой схеме на основе псевдонестационарной
формы § 6.4 исходных уравнений путем продвижения во времени до тех пор, пока решение не перестанет изменяться. Для
О 0.51.01.52.000.51.01.52.0О 0.51.01.52.000.51.01.52.09) х(Ь)9) х(Ь)Рис. 1.5. Траектории частиц на верхней поверхности крыла, (а) Мто = 0.80; (b) Ms = 0.85; (с) Моо = 0.90; (d) Мто = 0.95 (согласно [Holst et al., 1986]; воспроизведено с разрешения Japan Society of Computational Fluid Dynamics).Рис. 1.5. Траектории частиц на верхней поверхности крыла, (а) Мто = 0.80; (b) Ms = 0.85; (с) Моо = 0.90; (d) Мто = 0.95 (согласно [Holst et al., 1986]; воспроизведено с разрешения Japan Society of Computational Fluid Dynamics).
О 0.51.01.52.000.51.01.52.0
О 0.51.01.52.000.51.01.52.0
9) х(Ь)
9) х(Ь)
Рис. 1.5. Траектории частиц на верхней поверхности крыла, (а) Мто = 0.80; (b) Ms = 0.85; (с) Моо = 0.90; (d) Мто = 0.95 (согласно [Holst et al., 1986]; воспроизведено с разрешения Japan Society of Computational Fluid Dynamics).
Рис. 1.5. Траектории частиц на верхней поверхности крыла, (а) Мто = 0.80; (b) Ms = 0.85; (с) Моо = 0.90; (d) Мто = 0.95 (согласно [Holst et al., 1986]; воспроизведено с разрешения Japan Society of Computational Fluid Dynamics).
реализации такого подхода используется неявная процедура, аналогичная описанной в п. 14.2.8. Зоны соединяются между собой с помощью локальной интерполяции по областям перекрытия, обычно простирающимся на две ячейки. Как указы-
вает Холст, устойчивые решения получаются даже тогда, когда очень большие градиенты пересекают границы зон.
В результате включения в анализ эффектов вязкости данная задача относится к существенно более сложному поведению течения, и ее решение требует применения гораздо более сложного вычислительного алгоритма, чем это было для задачи, рассмотренной в п. 1.2.1. Однако форма расчетной области здесь значительно проще. Кроме того, расчетная сетка формируется здесь по зональному принципу, что обеспечивает лучший контроль за размещением узловых точек.
Простая геометрия, сложные физические условия
Для иллюстрации этой категории задач вместо инженернотехнического примера выбран метеорологический. На рис. 1.6 представлен трехдневный прогноз распределения давления и температуры (схема (Ь)) при 850 мбар (примерно 5000 футов) по сравнению с данными измерений (схема (а)). Погодные фронты показаны на основе косвенных данных, так как расчетная схема обладает слишком грубым разрешением для того, чтобы провести прямой расчет этих фронтов. Рассчитанный прогноз дает картину погоды, весьма близкую к ее истинному развитию. °
Определяющие уравнения [Cullen, 1983], вообще говоря, не учитывают вязкость, но принимают во внимание влияние ветра, температуры, давления, влажности, поверхностных напряжений на суше и на море, эффект подогрева, эффект осадков и другие эффекты [Haltiner, Williams, 1980]. Уравнения, как правило, записываются в сферических полярных координатах, расположенных параллельно земной поверхности, с добавлением нормализованной координаты для давления, которая перпендикулярна земной поверхности. В результате трудности, связанные с нерегулярностью границ вычислительных областей, а также с формированием сетки, сводятся к минимуму.
Как указывает Каллен, показанные на рис. 1.6 результаты были получены на сетке 192 X 80 X 15 с использованием явной расщепленной конечно-разностной схемы с продвижением1 решения во времени. Это позволяет полностью хранить всю сетку в основной памяти. Для получения трехдневного прогноза используется 288 шагов по времени, что требует 7% мин процессорного времени на компьютере CYBER-205.
Как отмечает Каллен, основная трудность для проведения Достаточно точного крупномасштабного прогноза на срок бо- /ее 3——4 дней состоит в получении начальных данных, имеюЩих достаточно высокое качество. Что касается более тонких
1012
1028
1012
1020
h /
ЮЗ。'
Рис. 1.6. Сравнение кривых распределения и температуры при 850 мбар. (а) Измерения; (Ь) прогнозы (согласно [Cullen, 1983]; воспроизведено с разрешения Academic Press).
местных прогнозов, то здесь возникают дополнительные трудности, связанные с необходимостью предотвращения «заглатывания» внутреннего решения возмущениями, идущими от границ, а также с необходимостью точного представления огромных местных градиентов, соответствующих фронтам.
Для моделирования глобальной циркуляции, и в особенности для построения долгосрочных прогнозов, можно применить спектральный метод (§ 5.6), хорошо согласующийся со сферической полярной геометрией. Вообще говоря, спектральные методы являются более экономичными, чем конечно-разностные или конечно-элементные, при сравнимой точности расчетов, по крайней мере для глобальных прогнозов. Применение спектральных методов к прогнозированию погоды кратко обсуждается в книге Флетчера [Fletcher, 1984], а более подробно — в работе Бурке и др. [Bourke et al., 1977].
Приведенные выше примеры дают наглядное представление о современном состоянии ВГАД. Что касается будущего, то Бейли [Bailey, 1986] утверждает, что 《для решения задач^ связанных одновременно и со сложной геометрией, и со сложными физическими условиями, требуются более мощные компьютеры с большим объемом памяти».
Структура уравнении
Общая черта всех тех задач гидроаэродинамики, которые рассматриваются в данной книге, состоит в том, что жидкость может считаться непрерывной средой. Вследствие такого условия описание поведения жидкости может быть осуществлено посредством представления скорости и термодинамических параметров как непрерывных функций времени и пространства.
Применение принципов сохранения массы, импульса и энергии позволяет получить систему дифференциальных уравнений в частных производных (см. гл. 11) для скорости и термодинамических переменных как функций времени и координат. Если сформулировать граничные и начальные условия, соответствующие данному виду течения и типу дифференциального уравнения в частных производных, то математическое описание задачи будет завершено.
Многие гидроаэродинамические задачи связаны с развитием взаимодействия между конвекцией и диффузией. Простой пример такого рода схематически представлен на рис. 1.7, где показано распределение температуры жидкости в трубе в различные моменты времени. Предполагается, что жидкость дви- 來ется слева направо с постоянной скоростью и и температура в поперечном сечении трубы постоянна.
Температура как функция х и t определяется уравнением дТ , дТ 02Tс …
k +〃而一а»^ = 0 при Xl&x《Xr и />0・(1.1)
Если провести соответствующее обезразмеривание переменных, то граничные и начальные условия примут вид
Т (%厶,土) = Т (хr, /) = 0,(1.2)
/ cos Ях, -0.5忘工《0.5,°)— t 0, x < — 0.5, x > 0.5.
Уравнение (1.1) и условия (1.2) — (1.3) обеспечивают математическое описание задачи. Член ад2Т/дх2 представляет собой
Рис. 1.7. Одномерное распределение температуры.
диффузионный член, а величина а — коэффициент тепловой диффузии. Этот член несет ответственность за распределение области ненулевой температуры вправо и влево; если коэффициент а мал, то и полоса распространения мала. Методика вычислений в применении к уравнениям, содержащим подобные члены, рассматривается в гл. 7 и 8.
Член идТ/дх — конвективный член, несущий ответственность за то, что распределение температуры целиком сносится вправо с известной скоростью и. Принципы обращения с этим чле-
ном, а также с полным уравнением переноса (1.1), рассматриваются в гл. 9. Если размерность задачи превышает единицу, то оказывается, что и конвективные, и диффузионные члены связаны с каждым из исследуемых направлений (см. § 9.5).
Если учесть, что величина и известна, уравнение (1.1) является линейным по Т. Однако если решение строится для поля скоростей, то необходимо рассмотреть уравнения с нелинейными конвективными членами. Прототип для нелинейности подобного рода задается уравнением Бюргерса (см. § 10.1)
н+〃77-а 京L°・ (1・4>
Наличие нелинейного члена иди/дх способствует тому, что при очень малых а развиваются очень большие градиенты изменения и. Наличие таких градиентов приводит к необходимости измельчения сетки, и в результате наличие нелинейности нередко влечет за собой необходимость введения дополнительного уровня итерации в вычислительный алгоритм.
Некоторые проблемы гидродинамики и теории теплопередачи определяются решением уравнения Лапласа
(1.5)(1.5)>0 д2Ф — п衣"十"
(1.5)
(1.5)
Это имеет место для течения невязкой несжимаемой жидкости в отсутствие завихренности, и тогда величина * представляет собой потенциал скорости (см. § 11.3). Уравнение Лапласа соответствует наиболее характерному виду уравнения, определяющего равновесие системы или решение стационарных задач (см. гл. 6). Кроме того, уравнение Лапласа обладает тем специальным свойством, что у него есть простые точные решения, которые можно складывать между собой (осуществлять суперпозицию), так как само уравнение линейно. Наличие этих свойств используется при применении методов, описываемых в § 14.1.
Многие гидроаэродинамические задачи связаны с определением более чем одного искомого переменного, что приводит к необходимости рассмотрения систем уравнений. Так, например, одномерное неустановившееся течение невязкой сжимае- мой жидкости подчиняется уравнениям (см. § 10.2)
需+装=。,
(1.6а)
^ + ^(Р«2 + Р) = 0,
(1.6Ь>
等+詣["仍+ Е)】=°-
(1.6с)
где Р — давление, а £ — полная энергия, приходящаяся на единицу объема и определяемая выражением
Е =』+ 0・5р〃2, (1.7>
в котором у — отношение удельных теплоемкостей. Несмотря на нелинейность уравнений (1.6), их структура подобна структуре уравнения (1.4) без диффузионных членов. В широком лредставлении стратегия численного решения, разработанная для скалярных уравнений, будет применимой и к системам уравнений.
Для тех гидроаэродинамических задач, где в рассмотрение необходимо включить осредненные свойства турбулентности, структура концептуального уравнения может быть представлена в виде
黑裏一負 G 票)=S, (1.8)
где коэффициент а является теперь функцией искомой переменной 〃,a S представляет собой член типа источника, содержащий добавочные вклады за счет турбулентности. Однако для полной ясности необходимо отметить (см. п. 11.4.2 и 11.5.2), что турбулентные течения являются по меньшей мере двумерными, а зачастую и трехмерными и что для описания таких течений необходимо иметь систему уравнений.
Обзор общих принципов вычислительнойгидроаэродинамики
Весь процесс выявления практической информации, касающейся задач, связанных с течением жидкости или газа, схематически может быть представлен на рис. 1.8.
Определяющие уравнения (см. гл. И) для течений, представляющих практический интерес, оказываются обычно столь сложными, что получить их точное решение невозможно и необходимо строить численное решение. При использовании вычислительных методов исходные дифференциальные уравнения в частных производных заменяются системой алгебраических уравнений, в результате чего для получения решения можно воспользоваться вычислительной машиной. В данной книге будут изложены вычислительные методы, служащие для построения и решения систем алгебраических уравнений.
При применении локальных методов типа методов конечных разностей, конечных элементов и конечных объемов алгебраические уравнения связывают между собой значения искомых
переменных в группе соседних узловых точек. При этом под-разумевается, что сетка, состоящая из дискретных точек, рас-пределена по всей вычислительной области во времени и в
ДЛЯ КАЖДОГО ЭЛЕМЕНТА ЖИДКОСТИ
Сохранение массы 今 уравнение неразрывности,
Второй закон Ньютона => ( уравнения Эйлера.] для движения{ уравнения Навье — }
(Стокса,j
Сохранение энергии 今 уравнение энергии
Уравнение состояния
Решить уравнения с граничными условиями
Распределение скорости: и (х, у, z, /), и (х, у, z, f), ⑷(х,у,z,0
Распределение давления:р (х,g,z,f)
Распределение плотности:р (х,у,z,f)
Распределение температуры:Т (х,у,г,f)
Определить характеристики течения:
отрыв потока,
секундный расход, теплопередача, силы, действующие на тело
(напряжение трения, сопротивление, подъемная сила), коэффициенты полезного дей
ствия (для турбины, диффузора)
Рис. 1.8. Обзор общих принципов вычислительной гидроаэродинамики.
пространстве. На этом основании процесс превращения непрерыв-нь? определяющих уравнений в систему алгебраических уравне-нн百 называют обычно процессом дискретизации (см. гл. 3). Приприменении такого глобального метода, как спектральный,
искомые переменные заменяются обычно амплитудами, относящимися к различным частотам.
Алгебраические уравнения, к которым приводит процесс дискретизации, могут быть получены следующим образом. Характерное конечно-разностное представление уравнения (1.1) имеет вид
Т产-Т;亠 〃 07+1 - т*) а (Т;7 — 27; + 7储)
где X = /Ах и f = nA Л
Если решение известно во всех узловых точках х; на временном слое и, то уравнение (1.9) можно использовать для составления алгоритма, служащего для определения Т;+* т. е. на* писать
万+1 = 7; 一 (赛)(7“1 一 T江)+(^)(7:7 一 27; + 7鬲).
(1.10>
Повторное обращение к формуле (1.10) позволяет получить решение во всех внутренних узловых точках м, на временном слое n + 1. Увеличение п на единицу и подстановка значений T"+i в правую часть выражения (1.10) позволяет осуществить маршевое передвижение дискретного решения во времени.
При применении локального метода, например конечно-разностного, число узловых точек, необходимое для построения достаточно точного решения, зависит, как правило, от размерности, геометрической сложности и величины градиентов изменения искомых переменных. Для определения течения вокруг самолета в целом может потребоваться сетка, состоящая из 10 млн точек. В каждой из узловых точек необходимо запоминать каждую из искомых переменных, а также некоторые вспомогательные переменные. При рассмотрении турбулентного сжимаемого трехмерного течения указанный подход может привести к необходимости введения от 5 до 30 искомых переменных^ приходящихся на каждую узловую точку. Для обеспечения эффективного расчета все эти переменные должны храниться в основной памяти.
Если учесть, что для большинства задач гидроаэродинамики определяющие уравнения являются нелинейными, процесс построения численного решения обычно ведется посредством итераций. Иначе говоря, решение для каждого искомого переменного в каждой узловой точке последовательно подправляется посредством обращения к дискретизованным уравнениям. Процесс построения итераций оказывается нередко эквивалент-
ным продвижению решения на некоторый малый шаг во времени (см. гл. 6). Число итераций или шагов во времени может варьироваться от нескольких сот до нескольких тысяч.
Сам процесс дискретизации вносит в расчет ошибку, которую в принципе можно уменьшить за счет измельчения сетки, если только дискретные уравнения такого типа, как уравнение (1.9), являются надежным представлением исходных определяющих уравнений (см. § 4.2). Если численный алгоритм, реализующий итерацию или продвижение во времени, является к тому же устойчивым (см. § 4.3), то численное решение может быть сделано сколь угодно близким к истинному решению определяющих уравнений за счет измельчения сетки, при условии что это допускается ресурсами вычислительной машины.
Хотя, как правило, решение ищется в форме набора дискретных узловых значений, все же некоторые методы, как, например, конечно-элементные и спектральные методы, вводят в явной форме непрерывное представление численного решения. В тех случаях, когда исходная физическая задача в силу своего характера обеспечивает плавность, указанные методы нередко дают большую точность по отношению к каждой неизвестной, входящей в дискретизованные уравнения. Эти методы кратко обсуждаются в гл. 5.
Литература для дополнительного чтения
Предлагаемое пособие ставит своей целью дать введение в вычислительные методы, подходящие для решения задач гидроаэродинамики. Более подробную информацию можно найти в других книгах, обзорах, журнальных статьях и трудах конференций.
Рихтмайер и Мортон [Richtmyer, Morton, 1967] строят общие основные теории для анализа вычислительных методов, применяемых в гидроаэродинамике, и обсуждают конкретные конечно-разностные методы, используемые для исследования невязкого сжимаемого потока. Роуч [Roache, 1976] исследует; вязкое отрывное течение для условий сжимаемой или несжимаемой жидкости, но сосредоточивается при этом на конечно-разностных методах. В более позднее время Пейре и Тейлор [Peyret, Taylor, 1983] рассмотрели вычислительные методы в применении к различным разделам гидроаэродинамики, делая наибольший крен в сторону конечно-разностных и спектральных методов. Холт [Holt, 1984] предлагает описание чрезвычайно мощных методов анализа течения в пограничном слое, а также невязкого сжимаемого течения. Бук [Book, 1981] рассматривает конечно-разностные методы в применении как к инженерной, так
и к геофизической гидроаэродинамике в условиях, когда диффузионные механизмы отсутствуют или играют очень малую роль.
Томассе [Thomasset, 1981], Бейкер [Baker, 1983] и Гловин- ский [Glowinski, 1984] анализируют вычислительные методы, основанные на методе конечных элементов, а Флетчер [Fletcher, 1984] излагает технику применения конечно-элементных и спектральных методов. В статье [Haltiner, Williams, 1980] обсуждаются вычислительные методы, применяемые в геофизической гидроаэродинамике.
В обзорных статьях [Chapman, 1975, 1979, 1981; Green, 1982; Krause, 1985; Kutler, 1985] обсуждается, на что в настоящее время способна инженерная ВГАД и каковы ее перспективы в будущем. Эти статьи имеют явный уклон в направлении приложений к авиации и космическим исследованиям. Обзор более общего характера дан Тёркелем [Turkel, 1982]. В обзоре Каллена [Cullen, 1983] рассматривается современное состояние метеорологической ВГАД. Обзорные статьи по конкретным разделам вычислительной гидроаэродинамики появляются в серии Annual Reviews of Fluid Dynamics, в серии лекций Института им. Кармана, а также в серии монографий, выходящей в издательстве «Пайнридж Пресс». В настоящей книге не затрагиваются более утонченные вычислительные методы, применяемые для расчетов на векторных и параллельных компьютерах. Однако исчерпывающий обзор исследований в этой области дают Ортега и Фойгт [Ortega, Voigt, 1985].
Журнальные статьи по соответствующей тематике появляются в журналах: AIAA Journal, Journal of Computational Physics, International Journal of Numerical Methods in Fluids, Computer Methods in Applied Mechanics and Engineering, Computers and Fluids, Numerical Heat Transfer, Journal of Applied Mechanics, Journal of Fluids Engineering. Наиболее важными трудами конференций являются следующие: International Conference Series on Numerical Methods in Fluids Dynamics, AIAA CFD Conference Series, GAMM Conference Series, Finite Elements in Flow Problems Conference Series Numerical Methods in Laminar and Turbulent Flow, Conference Series, а также многие другие специализированные конференции.
Глава 2
Дифференциальные уравненияв частных производных
В данной главе будут разработаны процедуры, служащие для классификации дифференциальных уравнений в частных производных, т. е. отнесения их к эллиптическому, параболическому или гиперболическому типу. Каждый из этих типов уравнений будет изучен как с математической, так и с физической точки зрения с целью демонстрации их важнейших характерных особенностей и тех разновидностей течения, при которых встречается тот или иной тип уравнения.
Определяющие уравнения гидроаэродинамики (см. гл. 11)' представляют собой дифференциальные уравнения в частных производных, содержащих первые и вторые производные по пространственным координатам и лишь первые производные по времени. Производные по времени входят в уравнения линейно, но пространственные производные часто появляются в нелинейной форме. Кроме того, если не считать специального случая потенциального течения, обычно приходится иметь дело не с одним уравнением, а с системой определяющих уравнений.
Основные положения
Для линейных дифференциальных уравнений в частных производных второго порядка с двумя независимыми переменными можно предложить некоторую простую классификацию [Garabedian, 1964]. Так, например, в случае дифференциального уравнения в частных производных (ДУЧП) вида
{岩+ 8 蟲+ С 券+ D 票+ Е 靄+F〃 + G = 0, (2.1) где коэффициенты от Л до G — постоянные, можно различить три разновидности такого уравнения:
Эллиптическое В2 — 4АС V О,
Параболическое В2 — 4АС = 0, (2.2) Гиперболическое В2 — 4АС > 0.
3 К・ Флетчер, т. 1
Очевидно, что классификация связана только с высшими производными по каждому из независимых переменных.
В случае двумерного установившегося потенциального течения сжимаемой жидкости, обтекающей тонкое тело, определяющее уравнение, аналогичное уравнению (11.109), имеет вид (1…端 + 盜=0.(2.3)
Применение критериев (2.2) свидетельствует о том, что уравнение (2.3) эллиптическое в случае дозвукового течения (Моо < 1) и гиперболическое — в случае сверхзвукового течения (Моо > 1).
Если коэффициенты от А до G, входящие в уравнение (2.1), являются функциями %, у, 〃, ди/дх или ди/ду, критерии (2.2) могут использоваться, как и прежде, если при этом значениям А, В и С давать локальную интерпретацию. Это означает, что классификация определяющих уравнений может изменяться по мере попадания в различные участки вычислительной области.
Определяющее уравнение для установившегося потенциального течения сжимаемой жидкости, т. е. уравнение (11.103), при применении двумерных естественных координат можно записать в форме
(1-m毋 + 詳=0,(2.4)
где оси s и и параллельны и перпендикулярны к местному направлению линии тока, а параметр М—местное число Маха. Применение критериев (2.2) на локальной основе показывает, что уравнение (2.4) является эллиптическим, параболическим или гиперболическим, если М V 1, М = 1 или М > 1 соответственно. Характерная картина распределения местных чисел Маха М в случае обтекания крылового профиля или лопасти турбины показана на рис. 11.15. Характерная особенность, связанная с возможностью изменения типа определяющего уравнения в различных участках вычислительной области, представляет собой один из главных усложняющих факторов при численном исследовании трансзвукового течения (см. § 14.3).
При анализе упрощенных разновидностей течения (см. п. 11.2.6) тип уравнения может измениться. Определяющие уравнения для двумерного установившегося течения несжимаемой вязкой жидкости, т. е. уравнения (11.82) — (11.84), при отсутствии членов du/dt и dv/dt являются эллиптическими. Однако введение приближения пограничного слоя приводит к параболической системе ДУЧП, т. е. к уравнениям (11.60) и (11.61).
Применительно к тем уравнениям, которые можно представить в форме (2.1), классификация ДУЧП может быть проведена путем проверки с использованием критериев (2.2). Когда же это невозможно, например в случае системы ДУЧП, для надлежащей классификации приходится обычно проверять поведение характеристик (см. п. 2.1.3).
Грубо говоря, различные категории ДУЧП могут ассоциироваться с различными типами гидроаэродинамических задач. В общем случае задачи, содержащие зависимость от времени» сводятся к решению либо параболических, либо гиперболических ДУЧП. Параболические ДУЧП определяют собой течения, обладающие тем или иным механизмом диссипации, например такие, где существенны вязкие напряжения или теплопроводность. В этом случае решение будет гладким, а градиенты с течением времени будут уменьшаться, если только граничные условия не зависят от времени. Если же диссипативные механизмы отсутствуют, то решение будет сохранять постоянную амплитуду в случае линейности ДУЧП и будет даже возрастать в случае его нелинейности. Такое решение характерна для течений, определяемых гиперболическими ДУЧП. Эллиптические ДУЧП обычно определяют собой задачи, относящиеся к установившимся или к равновесным состояниям. Однако при исследовании некоторых установившихся течений приходится иметь дело с параболическими ДУЧП (установившееся течение в пограничном слое) и с гиперболическими ДУЧП (установившееся невязкое сверхзвуковое течение).
Природа корректно поставленной задачи
Прежде чем продолжать обсуждение формальной классификации дифференциальных уравнений в частных производных, имеет смысл и формулировку задачи, и построение алгоритма рассмотреть под углом представления о корректно поставленной задаче. Задача, связанная с решением определяющих уравнений вместе со вспомогательными (начальными и граничными) условиями, является математически корректно поставленной, если выполняются следующие условия:
решение задачи существует,
решение является единственным,
решение непрерывно зависит от вспомогательных данных.
Вопрос о существовании решения обычно не создает каких- 〃н6о трудностей. Исключение составляет введение точных решений уравнения Лапласа (см. § 11.3), когда в некоторых изо- •^ированных точках решение может не существовать. Так,
з*
например, оно не существует в центре источника, при г = rs и при использовании (11.53). Зачастую на практике удается избежать столкновения с этой проблемой путем расположения источника за пределами вычислительной области, например внутри тела, показанного на рис. 11.7.
Обычная причина неединственности связана с несоответствием вспомогательных условий типу определяющего ДУЧП. Для уравнения потенциала, определяющего невязкие безвихревые течения, а также для уравнений пограничного слоя надлежащая форма начальных и граничных условий хорошо установлена. Для уравнений Навье — Стокса хорошо известны надлежащие условия на твердой поверхности, однако существует некоторая неопределенность относительно надлежащего выбора граничных условий вдали от тела. В общем случае недооп- ределение граничных условий приводит к неединственности, тогда как их переопределение — к получению нефизических решений вблизи соответствующей границы.
Можно указать на некоторые проблемы обтекания, для которых множественность решений может ожидаться в силу физических причин. К таким проблемам уже нельзя применять вышеприведенные критерии корректности математической постановки. Именно такая ситуация нередко возникает при рассмотрении течений, испытывающих переход от ламинарного состояния движения к турбулентному. Однако при надлежащем представлении о гидроаэродинамике обычно удается идентифицировать такие виды течений, расчет которых может быть усложнен из-за необходимости заботы о корректной постановке математической задачи.'
Третий из перечисленных выше критериев требует, чтобы малое изменение начальных или граничных условий влекло за собой лишь малое изменение решения. Довольно часто вспомогательные условия вводятся в типовой вычислительный алгоритм в приближенной форме. Следовательно, если третье условие не выполняется, то ошибки, введенные вместе со вспомогательными данными, будут распространяться во внутреннюю область, вызывая тем самым быстрый рост решения, особенно для гиперболических ДУЧП.
Вышеуказанные критерии обычно приписывают Адамару [Garabedian, 1964]. В дополнение к этому мы могли бы провести простую параллель и потребовать, чтобы для корректно поставленного расчета выполнялись следующие условия:
вычислительное решение существует,
вычислительное решение единственно,
вычислительное решение непрерывно зависит от приближенных вспомогательных данных.
Процесс построения вычислительного решения может быть представлен схематически так, как это сделано на рис. 2.1. Здесь термин «вводимые данные» соответствует приближенному представлению начальных и граничных условий. Если граничные условия формулируются для производных функции 〃, то некоторая ошибка будет вноситься за счет приближенного представления этих условий. Вычислительный алгоритм, как правило, строится на основе определяющего ДУЧП (см. §3.1) и должен быть устойчивым (см. § 4.3), чтобы выполнялись все три вышеприведенных условия.
Рис. 2.1. Построение вычислительного решения
Таким образом, для проведения корректно поставленных вычислений необходимо, чтобы не только задача для исходного ДУЧП со вспомогательными условиями была корректно поставлена, но чтобы и алгоритм был также корректно поставлен (устойчив). При этом подразумевается, что приближенное решение, полученное в результате корректно поставленного расчета, будет в определенном смысле близко к точному решению корректно поставленной задачи. Этот вопрос будет рассматриваться в § 4.1.
Граничные и начальные условия
В результате проведенного в п. 2.1.1 обсуждения корректно поставленных задач и корректно поставленных вычислений становится ясно, что вспомогательные данные являются в определенном смысле отправной точкой для получения внутреннего решения, в особенности по отношению к задачам о распро- -странении. Если мы не делаем различия между временем и пространством как независимыми переменными, то вспомогательные данные, вводимые на контуре dR (рис. 2.2), через посредство вычислительного алгоритма (основанного на ДУЧП) «экстраполируются», обеспечивая тем самым построение решения во внутренней области R.
Вспомогательные условия определяются как относящиеся к одному из трех классов:
условие Дирихле, например 〃 = f на dR、
условие Неймана (для производной), например ди/дп = =f или du/ds = g на OR,
смешанное условие, если условие Робина, например ди/дп + 左〃=力左 > 0 на dR.
При формулировке вспомогательных условий (2) и (3) символ д/дп обозначает производную по внешней нормали.
При рассмотрении большинства течений, требующих для своего анализа решения уравнений Навье — Стокса в примитивных переменных (〃,и, р и т. д.), по меньшей мере одна составляющая скорости задается на ^—границе втекания. Это дает гра- (ничное условие Дирихле для ско- /рости. По отношению к уравнению
/、dR 〃ля потенциала скоростей, опре-
(R\ деляющему течение невязкой сжи-
、Jмаемой жидкости, условие 讷0〃 =
/= 0 на поверхности тела является
условием Неймана. Смешанные условия редко встречаются в гидро
Рис. 2.2. Вычислительная об- аэродинамике, однако встречаются ласть R・в теории конвективной теплопере
дачи. С вычислительной точки зрения вспомогательные условия Дирихле могут быть поставлены точно, если только функция f является аналитической. Однако при постановке условий Неймана или сломанных условий вносятся ошибки (см. § 7.3).
2./.3. Классификация с помощью характеристик
По отношению к дифференциальным уравнениям в частных производных с двумя независимыми переменными классификация, т. е. отнесение к эллиптическому, параболическому или гиперболическому типу, может быть осуществлена за счет предварительного отыскания характеристических направлений, только вдоль которых определяющие уравнения позволяют находить полные дифференциалы.
Для одного ДУЧП первого порядка с двумя независимыми переменными
/穿+嗤=С(2・5)
в каждой точке существует единственная вещественная характеристика, причем характеристическое направление определяется соотношением (см. рис. 2.5)
(2.6)(2.6)dx В
(2.6)
(2.6)
Вдоль характеристического направления уравнение (2.5) приводит к соотношениям
W = т и
Уравнение (2.5) является гиперболическим ДУЧП, и соотношения (2.7) могут быть проинтегрированы как обыкновенные дифференциальные уравнения вдоль линий сетки, определяемой соотношениями (2.6), если только начальные данные заданы на линии, не являющейся характеристикой.
То же самое представление о характеристических направлениях может быть использовано и в связи с изучением ДУЧП второго порядка с двумя независимыми переменными, такого,, как (2.1). Так как из условий (2.2) следует, что тип ДУЧП определяется лишь коэффициентами при высших производных, то уравнение (2.1) удобно записать в виде
/體+ 3 島+ * + 〃 =。,(28)
где Н включает в себя все члены с первыми производными и без производных из уравнения (2.1), а коэффициенты А, В и С могут быть функциями х и у. Для каждой точки области можно построить два направления, вдоль которых интегрирование уравнения (2.8) связано только с полными дифференциалами. Существование этих (характеристических) направлений имеет непосредственную связь с классификацией ДУЧП.
Для простоты представления введем следующие обозначения:
Q =争,R =争,S =7 =票.(2.9)
丫 дудх2дх дуду2 、/
Внутри рассматриваемой области располагается кривая К, на которой Р, Q, R, S, Т и и удовлетворяют уравнению (2.8). По направлению касательной к К дифференциалы Р и Q удовлетворяют соотношениям
dP = Rdx + Sdy,(2.10)
dQ = Sdx + Tdy,(2.11)
а уравнение (2.8) может быть записано как
AR + BS + CT + H = 0.AR + BS + CT + H = 0.(2.12)(2.12)
AR + BS + CT + H = 0.
AR + BS + CT + H = 0.
(2.12)
(2.12)
В соотношениях (2.10) и (2.11) величина dy/dx определяет угол наклона касательной к К. Используя (2.10) и (2.11), из
уравнения (2.12) можно исключить R и Т; тогда получим 5["(第)2-(罢)+咁山(雾)+可嘉+e要}=。・
(2.13) Если выбрать dy]dx таким образом, что
АШ~ВШ^С = ^⑵ 14>
то уравнение (2.13) приводится к более простому соотношению, связывающему dP/dx и dQ/dx, а именно
[4(%+ "吃+e碧=。■(2」5>
Два решения уравнения (2.14) определяют два характеристических направления, на которых выполняется соотношение- (2.15). Если сравнить (2.14) с (2.2), то ясно, что уравнение (2.8) является
гиперболическим ДУЧП, если существуют две вещественные характеристики,
параболическим ДУЧП, если существует одна вещественная характеристика,
эллиптическим ДУЧП, если характеристики комплексны. Таким образом, дискриминант В2 ——4АС определяет не только тип ДУЧП, но и свойства характеристик.
Пока что исследование типа ДУЧП проводилось с использованием декартовых координат. Возникает важный вопрос — может ли преобразование координат такого рода, какой будет описан в гл. 12, изменить тип дифференциального уравнения в частных производных?
Таким образом, вместо (х, у) вводятся новые независимые переменные (J, п), причем предполагается, что преобразования а = а(%, у) и п=П(居 У)известны. Производные преобразуются по формулам типа (см. § 12.1)
黑,⑵电
где §х 三 д^/дх и т. д. После некоторых манипуляций уравнение (2.8) приводится к виду
4器+玄為+ e‘器+孑=°,(2•⑺
где
& = 2 鴉% + b + %以)+ 2%%,(2.18)
С' = % 噸 + 3%% + С 啥
После этого дискриминант В2 — 44С преобразуется к форме В2 - 4АС = /2 [(В)2 一 44。],⑵ 19)
где якобиан преобразования J = &%Пу — g^x. Формула (2.19) приводит к важному результату, гласящему, что классификация ДУЧП остается одной и той же, будет ли она определена в декартовых координатах по уравнению (2.8) или же в координатах (自,刀)по уравнению (2.17) с формулами (2.18). Таким образом, введение преобразования координат не изменяет типа ДУЧП.
Распространение принципа исследования характеристик на уравнения более чем с двумя независимыми переменными оказывается менее полезным. В случае m измерений следует рассматривать (т—1)-мерные поверхности. Тем не менее исследование коэффициентов при старших производных в принципе может даТь полезную информацию. Например, в случае трех измерений уравнение (2.8) будет заменено на уравнение /零 + 3+ e 争+ Q + e 爵 + 尸= 0 .
• дх ду ' ду2 1 дх dz 8步 1 ду dz '
(2.20)
Необходимо найти такое преобразование § = §(%, у, 2), т)= = т)(%, у, 2), ^ = ^(х, у, z), в результате которого исчезли бы все смешанные производные по (§, п,白).Такой подход не годится в случае более чем трех независимых переменных, но тогда удобно заменить (2.20) на уравнение вида
2 2皿奇 + "=。,(2・21)
где ^ — число независимых переменных, а коэффициенты а/ заменяют коэффициенты от 4 до F в (2.20). Упомянутое ранее преобразование, выполняемое с целью избавления от смешанных производных, эквивалентно нахождению собственных значений 九 матрицы А, имеющей элементы а”.
Следуя Честеру [Chester, 1971], можно дать следующую классификацию:
Если какое-либо из собственных значений 九 равно нулю, уравнение (2.21) является параболическим.
Если все собственные значения отличны от нуля и имеют одинаковый знак, уравнение (2.21) является эллиптическим.
Если все собственные значения отличны от нуля и все, кроме одного, имеют одинаковый знак, уравнение (2.21) является гиперболическим.
Для случая трех независимых переменных Хелвиг [Hellwig, 1964] предлагает эквивалентную классификацию, основанную на значениях коэффициентов при производных в преобразованных уравнениях.
При числе независимых переменных, превышающем два, часто можно получить полезную информацию относительно свойств дифференциального уравнения в частных производных», рассматривая двумерные поверхности, т. е. путем выбора некоторых определенных координатных значений. Так, например, характер уравнения (2.20) можно установить в плоскости х = const, временно замораживая все члены с производными по х и рассматривая полученное таким образом уравнение как уравнение для функции двух независимых переменных.
2.1.4. Системы уравнений
Как показывает исследование, проведенное в гл. 11, определяющие уравнения для гидроаэродинамических задач часто составляют систему, а не приводятся к одному уравнению. Система из двух ДУЧП первого порядка с двумя независимыми переменными может быть представлена в виде
A1黑+ з"黑+ 42票+52黑=吕,(2・22) %黑+当1黑+ &券+ &2需="2・(2・23)
Учитывая, что 〃 и и являются функциями % н у, можно записать следующие соотношения:
如=(黑№+(器№,(224)
公=後"+(需".⑵25)
При решении задачи, показанной на рис. 2.3, предполагается, что решение уже было определено в области ACPDB. Как и прежде, в точке Р ищутся два направления dy/dx, вдоль которых появляются только полные дифференциалы d〃 и dv. Для системы уравнений (2.22) и (2.23) это эквивалентно нахождению таких множителей Li и £2, что
厶 X (2.22) + 厶 X (2.23) =^m{du + tn2 dv = LXEX + L2E2. (2.26) Раскрытие членов, входящих в соотношение (2.26), позволяет получить соотношения
厶41 + 厶& = S dx,厶311 + 厶统=g dy,L]/]2 + ^2^22 ==俏2 dx,L[3[2 ~H ^2^22俏2 ^У•
После исключения mi и т2 и перегруппировки членов получаем
(41 dy — Вн dx) (& % — 41 厶)1 Г ^i 1 —"28、
(412 dy - 312 dx) (Л22 dy - g22 ^)」L l2 J
Учитывая, что система однородна по отношению к £/, необходимо выполнение условия
det [kdy-Bdx] = Of(2.29)
чтобы получить нетривиальное решение. В вышеприведенном примере условие (2.29) принимает форму
(А1А2 — “21412)(衆)—(^11^22 — ^21^12 + 311才22 —
(2.30)(2.30)-&1412)窑-+ (&1&2 一 ^21^12)=。.
(2.30)
(2.30)
Уравнение (2.30) имеет два решения и характер решений зависит от дискриминанта
DI S = (ЛцВ22 — -^21^12 + ^22^11 — 412区21)2 —
-4 (4/22 - 4/12)仍"% - ^21^12),(2.31)
от которого зависит также и классификация системы уравнений (2.22), (2.23). Различные возможности указываются в табл. 2.1.
Решение, подлежащее расчетуРешение, подлежащее расчету
Решение, подлежащее расчету
Решение, подлежащее расчету
Начальные условия
Рис. 2.3. Схематическое представление вычислительной области для задачио распространении.
На характеристиках производные ди/дх, ди/ду, dv/dx и dv/dy определяются неоднозначно. По существу при пересечении характеристик могут возникать разрывы нормальных производных, тогда как тангенциальные производные при этом непрерывны.
Таблица 2.1. Классификация уравнений (2.22), (2.23)
DIS
Корни уравнения
(2.30)
Классификация системы (2.22), (2.23)
Положительный
2 вещественных
Гиперболическая
Нулевой
1 вещественный
Параболическая
Отрицательный
2 комплексных
Эллиптическая
В качестве использования вышеприведенной классификации можно привести следующий пример. Определяющие уравнения для двумерного потенциального течения сжимаемой жидкости (уравнения (11.103)) могут быть переформулированы за счет введения составляющих скорости, что дает (4-++⑵32>
а также
學(2.33) ду 1 дх'
Уравнения (2.32) и (2.33) имеют такую же структуру, как (2.22) и (2.23). Конкретизация выражения в правой части (2.31) дает
DIS = 4 (М2 - 1), где М2 = (и2 + у2)/а2,
и свидетельствует о том, что система (2.32) и (2.33) является гиперболической, если М > 1. Этот результат совпадает с тем» который мы получили при рассмотрении уравнения для потенциала течения сжимаемой жидкости (2.4). Именно этого и следовало ожидать, так как, несмотря на то что уравнения по форме различаются, они определяют одну и ту же физическую ситуацию.
Построение, применявшееся для вывода уравнений (2.28) и (2.29), может быть обобщено применительно к системе из п уравнений первого порядка [Whitham, 1974]. Уравнение (2.28) заменяется уравнением
[А (罢)同一В] L伍)=0,々=1,・.・,〃・(2.34)
Свойства системы [Hellwig, 1964] зависят от решения уравнения (2.29) следующим образом:
Если получено п вещественных корней, то система яв- ляется гиперболической.
Если имеется v вещественных корней, причем 1 & v W W〃一 1, а комплексные корни отсутствуют, то система является параболической.
Если не получено ни одного вещественного корня, то система является эллиптической.
Для больших систем некоторые корни могут быть комплексными, а некоторые ——вещественными; в таком случае система является смешанной. Наиболее важно устанавливать различие между эллиптическими и неэллиптическими системами дифференциальных уравнений в частных производных, так как эллиптичность не допускает времениподобного поведения решения. Поэтому система уравнений будет считаться эллиптической, если только появляются комплексные корни.
Данная выше классификация распространяется и на системы уравнений второго порядка с двумя независимыми переменными, так как путем введения вспомогательных переменных можно получить систему большего числа уравнений первого порядка. Существует, однако, риск, что обе матрицы А и В окажутся особыми, так что во избежание поведения с вырождением понадобится рассмотреть некоторые комбинации данных уравнений [Whitham, 1974].
Применительно к системам, где число независимых переменных превышает два, уравнение (2.29) может быть частично обобщено следующим образом. Систему уравнений первого порядка с тремя независимыми переменными можно представить в виде
А 學 + в學 + С 粤=D, (2.35)
где символом q обозначается вектор, составленный из п искомых переменных. Уравнение (2.35) приводит к получению характеристического полинома порядка п [Chester, 1971]:
det [А 九% + В九у + С九以=0, (2.36)
где 九%,九у и К2 определяют нормальное направление к поверхности в точке (х, у, 2). Уравнение (2.36) обобщает уравнение (2.29) и дает условие, что данная поверхность является характеристической. Ясно, что если характеристическая поверхность является вещественной, то уравнение (2.36) должно иметь вещественные корни. Если получено п вещественных корней, то система является гиперболической.
Можно задать вопрос, какой характер имеет данное дифференциальное уравнение в частных производных по отношению к определенным направлениям. Например, полагая
入% =入2= 1 и разрешая уравнение относительно 九勿 установим, что уравнение (2.35) является эллиптическим в направлении у, если при этом появляются мнимые корни. Ясно, что каждое направление можно исследовать по очереди.
Ниже предлагается простой пример системы уравнений, формируемой из уравнений Навье — Стокса для установившегося течения несжимаемой жидкости в двух измерениях. В безразмерных обозначениях эта система имеет вид
以+ % = 0, (2.37а)
+ vuy + —贵(以% + 〃уу) = 0, (2.37b)
+ vvy + py--^ (限 + vyy) = 0,(2.37с)
где их = ди/дх и т. д., Re — число Рейнольдса, а 〃,5 P — искомые переменные. Уравнения (2.37) приводятся к форме системы уравнений первого порядка за счет введения вспомогательных переменных R = v%, S = иу и Т = иу. Таким путем вместо (2.37) получим
=Л
"% + 0"
=0,
一 也
+ sx=0,
Q丄7n(2・38)
Sy+тх=0,
SJRe — Ту/Re + Px = uS — uT,
—R%/Re — S〃Re
•^ Ру = uR — vS.
Задача, приведшая к системе (2.38), была выбрана так, чтобы избежать возникновения особенностей у матриц А и В в уравнении (2.35). Характер вышеприведенной системы уравнений определяется путем замены д/дх на А% и д/ду на Ау и приравнивания нулю определителя получаемой алгебраической системы, т. е. так, как это сделано в (2.36). Результат получается таким:
(l/Re)%(^ + %)2 = 0・ (2.39)
Если положить \у = 1, то выясняется, что величина А% мнимая. Если же положить 入% =1, то мнимые корни появляются для 九у. На этом основании делается вывод, что система (2.37) эллиптическая.
Изучение общей проблемы классификации дифференциальных уравнений в частных производных можно продолжить, следуя руководствам [Garabedian, 1964; Hellwig, 1964; Courant, Hilbert, 1962; Chester, 1971].
2./.5. Классификация с помощью анализа Фурье
Классификация дифференциальных уравнений в частных производных с помощью характеристик (см. п. 2.1.3 и 2.1.4) связана с интерпретацией корней характеристического полинома, например, по (2.36). Эти корни определяют характеристические направления (или поверхности, если речь идет более чем о двух независимых переменных).
Однако тот же самый характеристический полином можно получить, если дифференциальное уравнение в частных производных подвергнуть анализу Фурье. В этом случае сами корни имеют другую физическую интерпретацию, хотя классификация дифференциального уравнения в частных производных по отношению к характеру этих корней остается той же самой. Подход при помощи анализа Фурье полезен для систем таких уравнений, в которых фигурируют производные выше первой, так как при этом подходе отпадает необходимость в построении промежуточной системы большего числа уравнений первого порядка. Подход, основанный на анализе Фурье, дает, кроме того, указание на ожидаемую форму решения, например, будет ли оно колебательным, с экспоненциальным ростом и т. п. Это свойство используется в гл. 16 в процессе определения того, могут ли устойчивые численные решения укороченных форм уравнений Навье — Стокса быть получены с помощью единственного марша по пространству.
Предположим, что решение однородного скалярного уравнения второго порядка
蟲+e書=°(24。)
отыскивается в форме
〃(招 4)= $г £2 йм exp [/ (аД- х] exp [/ (аД у]. (2.41)
/ = — ОО 尼=—ОО
Амплитуды различных мод определяются при этом с помощью граничных условий. Однако характер решения будет зависеть от коэффициентов (о%)/ и ⑸)々,которые могут оказаться комплексными. Если коэффициенты Л, В и С не являются функциями 〃,то соотношение между о% и ⑪ остается одним и тем же для всех мод, так что в выражении (2.41) нужно рассмотреть только одну моду. Подстановка в (2.40) при этом дает
一 % 或 一 8%% — 0力=0, или А (%/%У + В (%/%) + С=0.
(2.42)
Здесь фигурирует характеристический полином относительно а%/оу, эквивалентный тому, который появлялся в (2.29). Свойства дифференциального уравнения в частных производных (2.40) зависят от свойств корней, а следовательно, и от Д, В и С, как это было в (2.2).
Подход с помощью анализа Фурье позволяет из главной части определяющего уравнения получить тот же самый характеристический полином, который получался при анализе характеристик. Однако если предположить, что величина о^ вещественная, то форма решения в направлении у оказывается волнообразной. После этого решение, соответствующее характеристическому полиному (2.42), полученному из полного уравнения, позволяет судить о форме решения в направлении %.
Изучение формы (2.41) свидетельствует об аналогии с определением преобразования Фурье [Lighthill, 1958], имеющим вид
〃(%,%;)= \ \ ^(х, у) схр (— ioХх)ехр(— ioУу) dx dy, (2.43)
или в общепринятом обозначении й = Fu.
При анализе свойств дифференциальных уравнений в частных производных следует воспользоваться следующими результатами:
沁成=尸黑,沁/ =尸岩• (2.44)
Таким образом, характеристический полином можно получить, подвергая преобразованию Фурье все члены определяющего уравнения. В качестве примера укажем, что уравнение (2.40) преобразуется к форме
[Л (小)2 + В (沁/5)+ С (沁 J] а = 0, (2.45)
откуда непосредственно следует (2.42). Характеристический полином, вывод которого проведен с помощью преобразования Фурье, часто называют символом дифференциального уравнения в частных производных.
Способ построения характеристического полинома, основанный на преобразовании Фурье, остается пригодным, если Д, В или С являются функциями независимых переменных. Если же 4, В или С представляют собой функции искомых переменных, то перед введением преобразования Фурье эти коэффициенты необходимо заморозить на их локальных значениях.
ЕуЕу(2.46)(2.46)Применение подхода на основе анализа Фурье к системам уравнений можно проиллюстрировать с помощью рассмотрения уравнений (2.37). Если заморозить коэффициенты 〃 и о в уравнениях (2.37b) и (2.37с) и провести преобразование Фурье для 〃,V и р, получим следующую однородную систему алгебраических уравнений:
Еу
Еу
(2.46)
(2.46)
i ("% + %) + 圭(曬 + 嗚)0
0"〃%+〃%) + * 收 +学)
-й -
X 6=0,
из которой получается характеристический полином det [ ]= =0, т. е.
(磋 + ^]i(uox + и%) + (1/Re)(或 + 学)]=0.(2.47)
Однако в левой части (2.47) содержится комплекс i(uex + + иоу), связанный с первыми производными и и v, С другой стороны, свойства системы (2.37) определяются ее главной частью, из которой явным образом исключены все производные, кроме высших. В данном случае (2.47) совпадает с (2.39) и приводит к выводу о том, что система (2.37) является эллиптической. При сравнении (2.46) с (2.38) становится ясно, что подход с помощью анализа Фурье позволяет обойти проблему построения эквивалентной системы уравнений первого порядка, связанную с возможностью того, что эта система будет особой.
Корни характеристического полинома, полученного с помощью анализа Фурье, интерпретируются здесь таким же образом, как при методе характеристик, примененном для определения типа дифференциального уравнения в частных производных. Альтернативная классификация, основанная на величине наибольшего корня характеристического полинома, описывается Гельфандом и Шиловым [1967].
Подход, основанный на применении анализа Фурье, используется в § 16.1 для определения свойств решения, строящегося с помощью единственного маршевого прохода вниз по потоку. В этой ситуации эквивалент уравнения (2.47) основан на сохранении всех членов определяющего уравнения, а не только 无го главной части.
4 К. Флетчер, т. 1
§ 22 Гиперболические дифференциальные уравненияв частных производных
Простейшим примером гиперболического ДУЧП является волновое уравнение
声一审=°・(2・48)
При начальных условиях 〃(%, 0)= sin лх, du/dt(xt 0) = 0 и граничных условиях 〃(0, f)=〃(l, f) = 0 уравнение (2.48) имеет точное решение
и (х, /) = sin лх cos л/. (2.49》
Характерной чертой линейных гиперболических ДУЧП является отсутствие затухания.
Уравнение конвекции, рассматриваемое в § 9.1, является линейным гиперболическим ДУЧП. Уравнения, определяющие неустановившееся невязкое течение, являются гиперболическими, но нелинейными, так же как и уравнения, определяющие установившееся сверхзвуковое невязкое течение.
Интерпретация с помощью характеристик
Гиперболические ДУЧП порождают вещественные характеристики. В случае волнового уравнения (2.48) характеристические направления определяются соотношениями dx/dt = ±L
Характеристики, проходящие через точку Р в плоскости (%, /), показаны на рис. 2.4.
Для системы уравнений (2.32), (2.33) имеются две характеристики, определяемые соотношением
黑=[翳± (中-严[(费)」「⑵50)
Ясно, что форма характеристик зависит от локального решения, причем в общем случае они будут искривленными [Courant, Friedrichs, 1948].
В случае гиперболического ДУЧП первого порядка (2.5) через каждую точку проходит единственная характеристика dt/dx= A/В (рис. 2.5). Если Л и В — постоянные, то характеристики представляют собой ^厶 прямые линии. Если же А и
В являются функциями от 〃, I/ / / /
х и то характеристики ис-/ / / /
кривляются. В случае линей-/ / / / —Наклон =а/в
ного уравнения конвекции, / / / / рассматриваемого в § 9.1, от- / / / / ношение В/A как раз соответ- I / / / / 丁 ствует скорости. В случае勺工
трехмерного установившегося Рис 25 Характеристики для гипер- невязкого сверхзвукового те- болического ДУЧП первого порядка, яения характеристическая по-уравнение (2.5).
верхность образует конус вокруг местного направления потока, как это показано на рис. 11.14.
Имея дело с гиперболическими ДУЧП, можно воспользоваться характеристическими направлениями для построения расчетной сетки, на которой выполнялись бы условия совместности типа соотношения (2.15). Именно это положено в основу метода характеристик, излагаемого в п. 2.5.1. В силу причин, которые будут обсуждаться в п. 14.2.1, упомянутый метод представляет сейчас в основном исторический интерес.
Интерпретация на физической основе
Как было отмечено выше, гиперболические ДУЧП связаны с такими задачами о распространении, когда диссипация отсутствует. Появление вещественных характеристик, таких, как на рис. 2.4, свидетельствует о том, что возмущение решения 〃 в точке Р может повлиять на поведение решения только в области CPD. И наоборот, решение в точке Р подвержено только влиянию возмущений, идущих из области АРВ.
Кроме того, если начальные условия заданы при / = 0, т. е. на линии АВ на рис. 2.4, то этих условий достаточно, чтобы единственным образом определить решение в точке Р・ Для случая уравнения (2.48) это можно продемонстрировать следующим образом.
Введем новые независимые переменные по формулам
§ = х + /, Т)= х —(2.51)
(2.52>(2.52>тогда из (2.48) получим уравнение
(2.52>
(2.52>
которое имеет общее решение
〃唸 n) = f(E) + g(n),(2.53>
где f и g — произвольные дважды дифференцируемые функции. Если для уравнения (2.48) решается чистая задача с начальными значениями, то надлежит установить начальные условия
〃 (х, 0) = S (х), 器(х, 0) = Т (办(2.54>
Можно
показать [Ames, 1969], что при f = 0
义工)=0.5[s⑴+w⑺"]+ e,
「:]⑵55》
^(x)= 0.5p(x)-Jr(r)drj + D,
где С и D — постоянные интегрирования. Тогда из представления (2.53) следует, что общее решение уравнения (2.48) с начальными условиями, соответствующими (2.54), имеет вид
ы(X, /) = 0.5 |^S (х + 0 + s(х — 0 + \ T(r)dr].⑵56>
В частности, если точка Р имеет координаты (%厶我),то решение в этой точке представляется в виде
r々+力 -|
4(修,4) = 0.5 S(打 +力)+ 5(修一力)+ \ T(r)dri (2.57>
т. е. решение в точке Р однозначно определяется начальными условиями, заданными на линии АВ (рис. 2.4).
Для гиперболических уравнений не существует диссипативного (или сглаживающего) механизма. Отсюда следует, что если начальные (или граничные) данные содержат разрывы^ то эти разрывы вдоль характеристик будут передаваться во внутреннюю область без размывания, если только уравнения линейны. Это согласуется с результатом, отмеченным в п. 2.1.3 и гласящим, что разрывы нормальных производных могут возникать только при пересечении характеристик.
Здесь следует подчеркнуть, что если рассматриваются уравнения, определяющие сверхзвуковое невязкое течение и являющиеся гиперболическими, то для согласования с тезисом об изэнтропичности течения разрывы должны быть слабыми.. При сверхзвуковом невязком изэнтропическом течении определяющие уравнения (2.32) и (2.33) порождают характеристические направления, заданные соотношением (2.50). Если решение таково, что характеристики сливаются вместе, то результатом будет неединственное решение [Whitham, 1974]; на практике при этом возникает ударная волна. Однако при переходе через ударную волну имеет место изменение энтропии, а это противоречит допущению об изэнтропичности течения, на котором основано использование уравнений (2.32) и (2.33). Поэтому ударная волна образует границу (внутреннюю или внешнюю) той области, в которой справедливы уравнения (2.32) и (2.33).
Надлежащие граничные (и начальные) условия
В п. 2.2.2 было отмечено, что в случае волнового уравнения (2.48) начальные условия (2.54) оказываются пригодными и в зависимости от протяженности участка АВ будут единственным образом определять решение в области АРВ (рис. 2.4). Имеется также возможность введения граничных условий (см. п. 2.1.2), которые могут быть заданы, например, на линиях CD и EF на схеме рис. 2.8.
Здесь мы заново рассмотрим уравнения (2.22) и (2.23)* так как эти уравнения непосредственно применимы к описанию сверхзвукового невязкого течения (при соответствующем выборе коэффициентов 4“ и т. д.), зададимся вопросом, как надлежащим образом следует подобрать вспомогательные условия, чтобы иметь возможность получить единственное решение уравнений (2.22) и (2.23). Характеристические направления^ соответствующие эквиваленту уравнения (2.50), будут в дальнейшем называться характеристиками а и 0. Вначале будут рассмотрены три случая, показанные на рис. 2.6.
Случай, показанный на рис. 2.6(a), эквивалентен тому, что было показано на рис. 2.4. Это означает, что данные относительно значений w и у на кривой АВ, отличной от характеристики, будут единственным образом определять решение вплоть до точки Р. В случае, показанном на рис. 2.6(b), кривая АВ не является характеристикой, однако AD является характеристикой 0. В этом случае значения и или и должны быть заданы на одной из кривых, а на другой — соответственно и или 〃_ Следовательно, в точке Л известны и и, и у. Аналогичная
Случай (с)
Рис. 2.6. Конкретизация вспомогательных данных для уравнений (2.22) и (2.23) в случае их гиперболичности.
ситуация имеет место в случае, показанном на рис. 2.6(c), за исключением того, что здесь и АВ, и AD являются характеристическими кривыми.
Уравнения (2.22) и (2.23) могут интерпретироваться как соответствующие неустановившемуся течению, если только у заменить на t. Если рассмотреть (рис. 2.7) вычислительную область х ^ 0 и / ^ 0, то видно, что решение в точке Р, близкой к границе % = 0, частично определяется граничными условиями
ССЗаданы и или VЗаданы и или VААРис. 2.7. Граничные условия для уравнений (2.22) и (2.23) в нестационарной интерпретации.Рис. 2.7. Граничные условия для уравнений (2.22) и (2.23) в нестационарной интерпретации.
С
С
Заданы и или V
Заданы и или V
А
А
Рис. 2.7. Граничные условия для уравнений (2.22) и (2.23) в нестационарной интерпретации.
Рис. 2.7. Граничные условия для уравнений (2.22) и (2.23) в нестационарной интерпретации.
на линии Л С, а частично — начальными условиями на АВ\ при этом предполагается, что определяющие ДУЧП являются гиперболическими. Надлежащими вспомогательными условиями для этого случая будут задание 〃 и и на линии АВ и задание V или и на линии АС.
Эти два примера, показанные на рис. 2.6 и 2.7, иллюстрируют общее правило для гиперболических ДУЧП, состоящее в том, что число вспомогательных условий равно числу характеристик, направленных внутрь рассматриваемой области [Whitham, 1974]. Выбор направления вдоль характеристики должен быть сделан в соответствии с определенными правилами. Для задач с зависимостью от времени положительным направлением будет направление роста времени. Для многомерных гиперболических задач об установившемся течении> сформулированных в примитивных переменных, одна из характеристик («ассоциированная» с уравнением неразрывности) совпадает с локальной линией тока. Таким образом, посредством граничной точки эта характеристика определяет свое положительное направление и указывает положительное направление Для других характеристик, проходящих через ту же точку.
Параболические дифференциальные уравненияв частных производных
Параболические ДУЧП встречаются при рассмотрении тех задач, где включены некоторые диссипативные механизмы, такие, как вязкостное напряжение или теплопроводность. Классическим примером параболического ДУЧП является уравнение диффузии или уравнение теплопроводности
• а〃 — д2и dt — дх2 •
Уравнение (2.58) будет использовано для демонстрации различных вычислительных методов в гл. 7.
При начальном условии и = sin лх и граничных условиях &(0, /) = и(1, /)=0 уравнение (2.58) допускает точное решение
и (х, /) = sin лх ехр (—値). (2.59)
Экспоненциальное затухание, демонстрируемое формулой (2.59), являет собой контраст в сравнении с осциллирующим решением (2.5) волнового уравнения (2.48).
Уравнение переноса (см. § 9.4 и 9.5) представляет собой линейное параболическое ДУЧП, а уравнение Бюргерса, рассмотренное в § 10.1, является нелинейным параболическим ДУЧП. Однако преобразование Коула — Хопфа (см. [Fletcher, 1983]) позволяет превратить уравнение Бюргерса в уравнение диффузии (2.58). Уравнения Навье — Стокса для неустановив- шегося течения являются параболическими. Эти уравнения используются как при решении нестационарных задач, так и в тех случаях, когда псевдонестационарная формулировка (см. § 6.4) вводится для решения стационарной задачи. Если иметь в виду строго установившееся течение, то пограничные слои (гл. 15) и сдвиговые слои, как правило, определяются посредством параболических ДУЧП, причем направление потока играет времениподобную роль. Многие из упрощенных вариантов уравнений Навье — Стокса (гл. 16) определяются посредством параболических ДУЧП.
Интерпретация с помощью характеристик
Если интерпретировать уравнение (2.58) как уравнение (2.8), с заменой у =力 то выявляется, что Л = 1, В = С = 0, так что уравнение (2.58) оказывается параболическим. Как показывает решение уравнения (2.14), здесь имеется единственное характеристическое направление, определяемое соотношением dt/dx = 0. Характерная вычислительная область для урав-
нения (2.58) представлена на рис. 2.8. В противоположность ситуации, возникавшей для гиперболических уравнений, при переходе через линию t = ti производные функции и всегда остаются непрерывными. Характеристики не играют здесь такой значительной роли, как это было для гиперболических урав
нений. Для параболических ДУЧП не существует эквивалента методу характеристик. Ясно, что если построить вычислительную сетку, следуя локальным характеристическим направлениям, то никогда не удастся осуществить продвижение решения во времени. '
Интерпретация на физической основе
Для параболических задач характерны такие решения, которые реализуют маршевое продвижение во времени, но создают рассеяние в пространстве. Так, например, возмущение решения, введенное в точке Р (см. рис. 2.8), может оказать влияние на любую часть вычислительной области, соответствующую、 условию f 力 ti. Однако при этом величина возмущения быстро уменьшается по мере удаления от точки Р. В случае установившегося течения в двумерном пограничном слое (гл. 15) характеристики идут по нормали к направлению течения и здесь не создается влияния в направлении вверх по потоку.
Появление диссипативного механизма косвенно указывав丁. также и на тот факт, что даже если начальные условия содержат разрыв, то решение во внутренней области всегда будет оставаться непрерывным. Дифференциальные уравнения в частных производных, определяющие решение более чем в одном пространственном направлении и являющиеся параболическими по отношению ко времени, становятся эллиптическими в стационарном состоянии (если только стационарное решение существует),.
Надлежащие граничные (и начальные) условия
Для уравнения (2.58) необходимо ставить начальные условия Дирихле, например
(2.60)(2.60)(2.61)(2.61)〃 (х, 0) = 〃о (х) при 0 & л: & 1.
(2.60)
(2.60)
(2.61)
(2.61)
Надлежащими граничными условиями могут быть
〃(0,/) = g(/) и 詳(1, f)i(f).
На границах CD и EF (см. рис. 2.8) допустима любая комбинация условий Дирихле, Неймана или же смешанных (см. п. 2.1.2). Однако при задании граничных условий Дирихле желательно обеспечить их непрерывную стыковку с начальными условиями в точках С и Е. Невыполнение этого требования приведет к решению, содержащему очень большие градиенты вблизи точек С и Е, а это может создать трудности с реализацией вычислительного алгоритма. В случае систем параболических ДУЧП задание начальных условий на линии СЕ и граничных условий на линиях CD и EF необходимо вводить для всех искомых переменных.
Эллиптические дифференциальные уравненияв частных производных
В гидроаэродинамике эллиптические ДУЧП ассоциируются to стационарными проблемами. Простейший пример эллиптического ДУЧП дает уравнение Лапласа
(2.62)
которое определяет потенциальное течение несжимаемой жидкости. При граничных условиях
ф (х, 0) = sin лх,力(尤,1)= sin лхехр(—л),力(0, у) = 3 (1, у) = 0
уравнение (2.62) допускает решение
(2.63)(2.63)6 (招 У)= sin лх ехр (——пу)
(2.63)
(2.63)
в области 0&%&1,0《у&1.
Уравнение Пуассона для функции тока (11.88), определяющее двумерное завихренное течение, является эллиптическим ДУЧП. Как отмечалось выше, стационарное уравнение Навье — Стокса и стационарное уравнение энергии также являются эллиптическими уравнениями.
Для эллиптического ДУЧП второго порядка, представленного в форме (2.1), существует важный принцип максимума [Garabedian, 1964]. А именно как максимальные, так и минимальные значения 力 должны достигаться на границе dR、если не считать того тривиального случая, когда величина 力 постоянна. Принцип максимума полезен для проведения проверки того обстоятельства, что численные решения эллиптических ДУЧП ведут себя надлежащим образом.
Интерпретация с помощью характеристик
В случае ДУЧП второго порядка, представленного в общем виде (2.1), о котором известно, что оно эллиптическое, т. е. для него 4AC V В2, характеристики будут комплексными и их невозможно показать в вычислительной области (последняя считается вещественной). При рассмотрении эллиптических задач в гидроаэродинамике идентификация характеристических направлений не может оказаться сколько-нибудь полезной.
242 Интерпретация на физической основе
Наиболее важная особенность, касающаяся эллиптических ДУЧП, состоит в том, что возмущение, внесенное в точке Р (рис. 2.9), оказывает влияние на все другие точки в вычисли
тельной области, хотя вдалеке от точки Р это влияние будет малым. Тем самым косвенно утверждается, что при попытке отыскания численных решений эллиптических задач необходимо рассматривать глобальную область. В противоположность этому параболические и гиперболические ДУЧП можно решать
прогрессивно-маршевым путем, отталкиваясь от начальных условий. Разрывы в граничных условиях для эллиптических ДУЧП сглаживаются внутри области.
Надлежащие граничные условия
Тот факт, что любая точка внутри области способна оказать влияние на все другие точки рассматриваемой области, влечет за собой вывод о том, что граничные условия необходимо ставить на всех границах (см. рис. 2.9). Граничные условия могут представлять собой любую комбинацию условий Дирихле, Неймана или смешанных (см. п. 2.1.2). Однако если на всех границах поставить условие Неймана OB/O〃 = f(s), где символ п соответствует внешней нормали, a s измеряется вдоль контура границы, то необходимо позаботиться о том, чтобы формулировка таких граничных условий не противоречила определяющему уравнению. С помощью теоремы Грина полу- •чим
0 fds=—、寸§dV. (2.64)
:Ясно, что если определяющее уравнение представляет собой уравнение Лапласа или уравнение Пуассона, то соотношение (2.64) косвенно указывает на наличие дополнительного глобального ограничения, налагаемого на формулировку граничного условия Неймана. Если уравнение (2.62) характеризует установившееся потенциальное течение несжимаемой жидкости, причем ф представляет собой потенциал скорости, то величина f точно соответствует нормальной скорости. Таким образом, в случае установившегося потенциального течения несжимаемой жидкости условие (2.64) совпадает с условием сохранения мас- >сы (11.7). Численная реализация условия (2.64) обсуждается в п. 16.2.2. Для систем эллиптических ДУЧП граничные условия должны ставиться на всех границах, для всех искомых переменных.
При рассмотрении параболических и гиперболических ДУЧП путем применения разложения в ряд всегда возможно получить некое локальное решение в непосредственной близости от границы. Попытка проделать то же самое, имея дело с эллиптическим ДУЧП, приводит, как правило, к получению бесконечно возрастающего решения, и это имеет непосредственную связь с тем фактом, что постановка задач для эллиптических ДУЧП оказывается некорректной, если граничные уело- ?вия не заданы на некоторой замкнутой границе.
§ 2・5・ Традиционные методы решения
В данном разделе дается краткое описание трех методов решения, которые могут быть названы прекомпьютерными, так как они требуют только ручных расчетов или расчетов на примитивных машинах. Эти методы хорошо работают применительно к простым модельным задачам, однако оказываются менее эффективными по отношению к более сложным уравнениям, определяющим течение жидкости или газа. Тем не менее иногда эти методы полезны, так как помогают подсказать метод решения или получить некое приближенное или же локальное решение.
Метод характеристик
Этот метод применим только к гиперболическим ДУЧП. Он описывается здесь применительно к ДУЧП второго порядка •с двумя независимыми переменными
(2.65)(2.65)(2.66)(2.66)Л О?" I О °"斗 С Д- Н — О
(2.65)
(2.65)
(2.66)
(2.66)
Решение уравнения (2.14) позволит получить два корня
学=尸И =dxdx
Для двух соседних точек на характеристиках, определяемых соотношениями (2.66), условие совместности (2.15) может быть приближенно представлено в виде
A^\P + C\Q + Н \у = 0.A^\P + C\Q + Н \у = 0.(2.67)(2.67)
A^\P + C\Q + Н \у = 0.
A^\P + C\Q + Н \у = 0.
(2.67)
(2.67)
(2.68)(2.68)\и = Р \х ^ Q Ау.\и = Р \х ^ Q Ау.Можно напомнить, что, как это было указано в п. 2.1.3, Р = =ди/дх и Q = ди/ду, и, следовательно, для тех же двух соседних точек
(2.68)
(2.68)
\и = Р \х ^ Q Ау.
\и = Р \х ^ Q Ау.
Будем предполагать, что 〃, Р и Q известны вдоль некоторой границы, не являющейся характеристикой (рис. 2.10). На начальном этапе неизвестны ни решение, ни положение таких внутренних точек, как d и е. Из соотношений (2.66) можно получить два соотношения для определения положения точки d. Эти соотношения таковы:
勿一% =尸ad (%d — %),(2.69)
гдегдеУ(1 — Уь = G“ 旧一修),(2.70)
где
где
尸ad = 0.5 (尸a + &),G” = 0.5 (Gb + Gd).
По существу, кривые линии ad и bd были заменены здесь прямыми линиями, определяемыми путем осреднения наклона первоначальных линий в концевых точках.
Если величины xd и yd известны, то из уравнения (2.67) можно найти Pd н Qd с помощью соотношений
Nad% (匕 一 А) + Cad (Qd - Qa) + 瓦d (勿一力)=0, (2.71)
AbdGbd (Pd — Pb) + &d (Qd — Qb) +'"bd (% —勿)=。•⑵ 72)
При известных Pd и Qd можно воспользоваться формулой (2.68), чтобы получить 〃〃:
4d — 〃а == Рad (%d — ^а) + Qad(4d — %)•(2.73)
На практике, чтобы получить м, у* Pd, Qa и 〃d, уравнения (2.69) — (2.73) следует решать с помощью итераций. В каче-
Рис. 2.10. Метод характеристик.Рис. 2.10. Метод характеристик.
Рис. 2.10. Метод характеристик.
Рис. 2.10. Метод характеристик.
стве начальной итерации мации:стве начальной итерации мации:используются следующие аппрокси-используются следующие аппрокси-
стве начальной итерации мации:
стве начальной итерации мации:
используются следующие аппрокси-
используются следующие аппрокси-
尸ad =尸a,尸ad =尸a,Gm = Gb и т. д.Gm = Gb и т. д.(2.74>(2.74>
尸ad =尸a,
尸ad =尸a,
Gm = Gb и т. д.
Gm = Gb и т. д.
(2.74>
(2.74>
Как правило, если точка d расположена не слишком далеко от а и Ь, достаточно провести две или три итерации. Метод реализует маршевое продвижение вдоль сетки, построенной на локальных характеристиках, определяемых в свою очередь как часть общего решения. Приведенная выше формулировка описывается в гидроаэродинамических терминах в работе Белоцерковского и Чушкина [Belotserkovskii, Chushkin, 1965].
Метод характеристик имел широкое применение при исследовании одномерных нестационарных газодинамических задач.
а также при изучении установившегося двумерного сверхзвукового течения невязкого газа. Однако этот метод становится слишком громоздким, если его распространять на случай трех или четырех независимых переменных или если в потоке возникают внутренние ударные волны.
Разделение переменных
Этот метод может применяться к ДУЧП любого типа. Для иллюстрации применения метода рассмотрим уравнение диффузии
казаны начальные и граничные условия. Метод состоит в введении общего расщепленного решения
〃(招 /) = Ха)Т(/)・(2.76)
Подстановка в (2.75) дает
务 + 九Х = 0,(2.77)
界 + 九Т = 0,(2.78)
где А — произвольная постоянная. Уравнение (2.77) имеет бесконечный набор решений вида
「Xk(x) = Ak sinkx,(2.79)
где 九=々2,尼=1, 2, 3, ... и Ak — постоянные, определяемые < помощью граничных и начальных условий. Далее, уравнение 《2.78) также имеет бесконечное число решений вида
П(/) = ^ехр(-^),(2.80)
где постоянные Bk должны определяться из начальных и граничных условий. Подстановка выражений (2.79) и (2.80) в формулу (2.76) позволяет получить общее решение в форме
и (х, 0 = S Ck sin /гхехр(— /г2/).(2.81)
k~\
Выражение (2.81) удовлетворяет граничным условиям задачи. Постоянные Ck определяются путем удовлетворения начальным условиям
2 Ck sin kx = u (х, 0) = f (x),(2.82)
k—\
t. e.
Ck = -^^f(s) sin ksds.(2.83)
о
По отношению к данной конкретной задаче вклады от множителей ехр (—k2t) очень малы при больших k и f > 0. Поэтому в разложении (2.81) обычно бывает необходимо сохранить лишь 10 или 20 членов.
Принцип разделения переменных связан с возможностью выбора такой системы координат, при которой GR совпадает с координатными линиями. При этом предполагается также, что операторы в ДУЧП могут быть разделены. Отсюда следует, что хотя метод достаточно эффективен при решении модельных задач, он все же нечасто находит прямое применение к решению относительно сложных уравнений, определяющих движение жидкости или газа, при этом нередко в областях неправильной формы. Тем не менее интересное обсуждение данного метода проводится в книге Густафсона [Gustafson, 1920].
Метод функции Грина
Для ДУЧП, записанного в обобщенной формулировке
Lu = ft(2.84)
решение в принципе может быть построено путем «обращения» оператора L. Решение представимо в интегральной форме:
u{p)=\G^ q)Rq)dVq,(2.85)
R
где G(p, q)—функция Грина. В общем случае функция G(p, q) содержит информацию, эквивалентную информации в операто-
ре 厶,а также информацию о граничных условиях и области вычислений. Следовательно, главная трудность, возникающая при использовании метода функции Грина, состоит в определении того, какой именно должна быть эта функция в применении к данной конкретной задаче. Последующее вычисление интеграла в (2.85), как правило, не вызывает затруднений.
Функцию Грина можно построить для таких сравнительно простых линейных уравнений, как уравнения Лапласа и Пуассона. Например, точечный источник единичной мощности в трех, измерениях имеет функцию Грина
S(p, g) = (l/4)gpg,(2.86)
где rpq — просто расстояние между р и д. Эта формула по существу эквивалентна двумерному потенциалу скорости, заданному формулой (11.53) при m = 1. После выполнения требуемого дифференцирования получим
-%S(p, g) = 6(p,办(2.87)
где 6(р, д)—дельта-функция Дирака, центрированная в точке р, a V^ — лапласиан, вычисленный при q. Свойство дельтафункции Дирака таково, что
^(9)6 (р, q) dVq = w (р) и 6(р, g) = 0, если р 不 q. (2.88) R
Функция w(g) из (2.88)——произвольная гладкая функция.
Процедура решения может быть окончательно определена^ если воспользоваться вторым тождеством Грина:
卜"* 一 哄2〃)^ + \ ("黑 一 u 黑)dS = 0.(2.89)
ROR
Пусть в интересующей нас ситуации функция 〃, входящая в левую часть соотношения (2.89), отождествляется с решением уравнения Пуассона
V2〃= —f в области /?, 〃 = 0 на контуре 3R (2.90) и
V = G (р, q) = S (р, q) + g (р, q) при у = 0 на OR. (2.91)
В результате соотношение (2.89) приобретает форму
^vfdV = -^u^2vdV.(2.92)
XR
5 К Флетчер, т. 1
Функция g(p, q) выбрана так, что V館=0 в области /? и G(p, q) = 0, когда точка q лежит на GR. В результате с помощью (2.88) и (2.92) получим решение
〃(p)=、G(p, q)f(q)dVq. (2.93)
Метод функции Грина неявно используется при построении панельного метода (см. § 14.1) и почти непосредственно используется в методе граничных элементов (см. п. 14.1.3).
Для некоторых эллиптических ДУЧП можно построить некий эквивалентный вариационный принцип и применить процедуру Рэлея — Ритца [Gustafson, 1980]. Такая методика является стандартной при применении метода конечных элементов к исследованию механических конструкций, однако те эллиптические ДУЧП, которые встречаются в гидроаэродинамике, обычно не имеют эквивалентной вариационной формы.
Заключение
В данной главе мы рассмотрели классификацию ДУЧП по принадлежности к гиперболическому, параболическому или эллиптическому типу. Все эти три типа встречаются при различных упрощенных вариантах определяющих уравнений гидроаэродинамики (гл. 11). Впрочем, системы уравнений могут иметь также и смешанный тип. Гиперболические ДУЧП обычно ассоциируются с задачами о распространении без диссипации (волнообразное движение остается незатухающим), а параболические ДУЧП — с задачами о распространении при наличии диссипации. В гидроаэродинамике диссипация обычно порождается членами с вязкостью или теплопроводностью. Эллиптические ДУЧП ассоциируются со стационарными задачами.
Каждый из типов ДУЧП требует задания различных граничных (и начальных) условий и нуждается в применении определенной методики решения. Например, метод характеристик является «естественным» для гиперболических ДУЧП с двумя независимыми переменными. Для нелинейных уравнений, определяющих гидроаэродинамические процессы, классификация ДУЧП может подвергаться локальным изменениям. С учетом этого граничные условия должны подбираться так, чтобы не нарушалось соответствие классификации ДУЧП вблизи границы.
При исследовании установившегося двумерного сверхзвукового течения вокруг хорошо обтекаемого тела определяющими уравнениями служат уравнения Навье — Стокса, которые в силу появления вторых производных являются строго эллиптическими в той интерпретации, какая предлагается в п. 2.1.2. Однако подобная классификация не принимает во внимание величины тех членов, от которых зависит результат. В самом деле, члены с вязкостью имеют значение только вблизи поверхности, где вязкая диссипация в направлении вдоль по потоку на один порядок величины меньше, чем вязкая диссипация поперек потока; определяющие уравнения в этой зоне являются смешанными — параболически-гиперболическими. Вдали от тела все члены с вязкостью малы и система уравнений является эффективно гиперболической. Когда появляются ударные волны, то очень большие градиенты по направлению удаления от тела становятся причиной того, что члены с вязкостью (и с теплопроводностью) приобретают существенное значение и определяющие уравнения становятся локально эллиптическими (в пределах, соответствующих толщине ударной волны). Этого достаточно, чтобы заменить разрывное решение (в невязкой аппроксимации) на решение с очень большим градиентом, но непрерывное.
Совершенно очевидно, что строгая математическая классификация определяющих ДУЧП должна сочетаться со знанием тех физических процессов, которые исследуются, чтобы за счет такого сочетания обеспечить постановку правильных граничных условий и выбрать надлежащую методику численного расчета.
Задачи
Основные положения (§ 2.1)
(а) Проведите преобразование уравнения Лапласа д2ф/дх2 十 + д2ф/ду2 = 0 к обобщенным координатам 己=Е(%, у), т)=п(%, у) и покажите, что полученное в результате уравнение является эллиптическим.
(Ь) Проведите преобразование волнового уравнения д2Ф/д12 — д2ф/дх2 — 0 к обобщенным координатам g = g(f, х), п = "(/, %) и покажите, что полученное в результате уравнение является гиперболическим.
Проведите преобразование уравнения Кортвега — де Вриза [Jeffrey, Taniuti, 1964]
ди , ди , д3и _
dt дх
к эквивалентной системе уравнений первого порядка за счет введения вспомогательных переменных р = ди/дх и т. д. Обоснуйте вывод, что полученная система уравнений является параболической.
Безразмерные уравнения, определяющие установившееся течение невязкой несжимаемой жидкости, имеют вид
ди Iдиdv дхди Iдиdv дхау- = о,+夕др _ду 1дхдр _=0.ау- = о,+夕др _ду 1дхдр _=0.
ди I
ди
dv дх
ди I
ди
dv дх
ау
- = о,
+夕
др _
ду 1
дх
др _
=0.
ау
- = о,
+夕
др _
ду 1
дх
др _
=0.
Установите тип этой системы дифференциальных уравнений в частных производных.
Гиперболические ДУЧП (§ 2.2)
Покажите с помощью исследования, что ДУЧП второго порядка д2и/дх 0/ = 0 является гиперболическим. Рассмотрите эквивалентную систему
ди с 加
Обоснуйте вывод, что эта система гиперболическая и оси хи/ являются характеристиками.
д2и а д2ис而-в + збд2и а д2ис而-в + збРассмотрите модифицированное волновое уравнение
д2и а д2ис
而-в + зб
д2и а д2ис
而-в + зб
Покажите с помощью лическим. Рассмотрите
исследования, что это уравнение является гипербо- соответствующую систему уравнений
雾-岩=。,(2.95)
曾嘅+一・
(2.94)
Покажите, что эта система является гиперболической, и определите характеристические направления. Какова связь между уравнением (2.94) и системой (2 95)? Объясняет ли форма этой связи наличие добавочной характеристики у системы (2.95尸
2.6. Определяющие энтропического течения2.6. Определяющие энтропического теченияуравнения для одномерного неустановившегося из- невязкой сжимаемой жидкости имеют вид
2.6. Определяющие энтропического течения
2.6. Определяющие энтропического течения
=0,=0,=0,=0,ар . 〃 ар . р а〃
=0,
=0,
=0,
=0,
dt дх дх
ди . ди 1 др
где р =加Y и а2 = ур/р. Здесь а — скорость звука. Покажите, что эта система гиперболическая и характеристики задаются соотношениями dx/dt = =〃土 а
Параболические ДУЧ П (§ 2.3)
(а) Проведите преобразование уравнения дф/dt ——ад2Ф/дх2 = 0 к эквивалентной системе путем введения вспомогательной переменной р = дф/дх. Покажите, что эта система параболическая.
(Ь) Проанализируйте таким же образом уравнение дф/dt — а(д2ф/дх2 + + ^Ф/ду2) = 0 и покажите, что оно является параболическим.
Рассмотрите уравнение переноса du/dt + 2сди/дх — dd2u/dx2 = 0 с начальными условиями 〃(%, 0) = exp (ch/d) и граничными условиями ,“(0, f) = ехр(—c2//d) и 〃(1, 0 = (d/c)du/dx(\, /). Покажите, что это уравнение параболическое и определите его решение.
2.9. Уравнения, слое несжимаемой в виде2.9. Уравнения, слое несжимаемой в виде加加=0,=0,а〃1_ а?”ду Re ду2а〃1_ а?”ду Re ду2=0.=0.определяющие установившееся течение, в пограничном жидкости на плоской пластине, могут быть записаны
2.9. Уравнения, слое несжимаемой в виде
2.9. Уравнения, слое несжимаемой в виде
加
加
=0,
=0,
а〃1_ а?”
ду Re ду2
а〃1_ а?”
ду Re ду2
=0.
=0.
Покажите, что эта система параболическая и укажите подходящий вариант начальных и граничных условий для 〃 и и.
Эллиптические ДУЧ П (§ 2.4)
Рассмотрите уравнения
學+票=0,=0・(2.96)
дх дуду дх'
Покажите, что эта система является эллиптической (а) непосредственно, (Ь) путем введения переменной Ф, где и = дф/дх и и = дф/ду.
Покажите, что выражения и = х/(х2 + у2), и = у!(^ + у2) представляют собой решение системы (2.96).
Покажите, что уравнения
U дх + ° ~ду " ( ^炉 + Ну2 丿—U дх + ° ~ду " ( ^炉 + Ну2 丿—
U дх + ° ~ду " ( ^炉 + Ну2 丿—
U дх + ° ~ду " ( ^炉 + Ну2 丿—
образуют эллиптическую систему и что этим уравнениям удовлетворяют выражения
〃 =—2 [ai + а3у + k {exp [k (% — х0)] + exp [—k (x — x0)]} cos (々g)]/(Re 0), v = —2 [a2 + a3x — k {exp [k (x — x0)] + exp [—k (x — x0)]} sin (W)]/(Re 0),
где
О = So + %% + a2y + азху + {exp [k (% — x0)] + exp [—々(% — x0)]} cos (ky)]
и a0, a】,42, аз, k n Xq ——произвольные постоянные.
Традиционные методы (§ 2.5)
Рассмотрите решение уравнения д^ф/дх2 + д2Ф/ду2 = 0 на единичном квадрате с граничными условиями
Т (0, у) = 0, т (1, У) = о, т (%, 0) = То (%), Т (х, 1) = 0.
Примените метод разделения переменных для получения
Т (%, 4)= 2 4 sin (knx) sh [^л (у — 1)], где
л (2To/bt)[(—1产一1]
Уравнение дф/dt — ад2Ф/дх2 = 0 необходимо решить в области 0&%&1, f>0 с граничными условиями 0(0, f) = 0, е(1, /) = 0/? и начальным условием 0(%, 0) = 0. Покажите с помощью метода разделения переменных, что решение имеет форму
20r (—1)*ехр (—k2n2at) sin (knx)々冗
Покажите, что выражение
I — ex/— U —疗)"市Р I 4f丿
представляет собой функцию Грина для задачи теплопроводности, рассмотренной в задаче 2.14, путем демонстрации того, что при фиксированном 夕 это выражение удовлетворяет уравнению (2.75).
Глава 3
Предварительные сведенияо приемах вычислений
В данной главе будет сделан обзор некоторых из основных вычислительных приемов, используемых при решении задач гидроаэродинамики. При решении конкретной задачи будут известны исходные уравнения (гл. 11) и соответствующие граничные условия (гл. 11 и 2). Для получения приближенного решения исходных уравнений с заданными граничными условиями используются вычислительные приемы.
Например, при исследовании трехмерного нестационарного течения несжимаемой жидкости следовало бы построить решение для скорости и давления, т. е. рассчитать у, 2, f), v(xy у, z, t), w( %, у, 2, Q и p(x, у, 2, t) Процесс построения вычислительного решения состоит из двух этапов, схематически
Приближенноерешение〃 fx, yt zt dи т. д.Приближенноерешение〃 fx, yt zt dи т. д.Исходные ДУЧПи граничныеусловияИсходные ДУЧПи граничныеусловия—叱常仆第需скЬ Алгоритм匕
Приближенноерешение〃 fx, yt zt dи т. д.
Приближенноерешение〃 fx, yt zt dи т. д.
Исходные ДУЧПи граничныеусловия
Исходные ДУЧПи граничныеусловия
—зация Г уравнен。访『Ре山енин 门
Рис. 3.1. Процесс построения вычислительного решения.
показанных на рис. 3.1. На первом этапе дифференциальные уравнения в частных производных, описывающие непрерывный процесс, а также вспомогательные (граничные и начальные) условия преобразуются в дискретную систему алгебраических уравнений. Этот первый этап называется дискретизацией (см. § 3.1). Процесс дискретизации легко идентифицируется, если используется конечно-разностный метод (см. § 3.5), однако он несколько менее очевиден при применении методов конечных элементов, конечных объемов, а также спектральных методов (см. гл. 5).
В процессе замены отдельных членов исходных уравнений, представляющих собой частные производные, алгебраическими выражениями, связывающими узловые значения на конечной сетке, вносится некоторая ошибка. Методика такого выбора •алгебраических выражений, который приводил бы к малым
ошибкам, рассматривается в § 3.2. Достигаемая при этом точность представления дифференциальных членов анализируется в § 3.3 и 3.4. Не менее важной, чем ошибка в представлении дифференциальных членов исходного уравнения, является ошибка самого решения. В § 3.5 дается простая конечно-разностная программа, позволяющая непосредственно оценить ошибку решения.
При обсуждении нестационарных задач процесс дискретизации часто отождествляется с преобразованием исходной системы дифференциальных уравнений в частных производных в систему обыкновенных дифференциальных уравнений по времени. Это можно было бы считать оправданным с учетом того, что приемы решения обыкновенных дифференциальных уравнений (см., например, [Gear, 1971]) настолько хорошо извест* ны, что дальнейшее обсуждение уже не требуется. Однако при применении конкретного метода систему обыкновенных дифференциальных уравнений следует превратить в соответствующую ей систему алгебраических уравнений и получить таким способом вычислительное решение.
Второй этап процесса решения (см. рис. 3.1) требует, чтобы алгоритм решения уравнения обеспечил построение решения системы алгебраических уравнений. На этом этапе также может вноситься некоторая ошибка, однако она обычно пренебрежимо мала в сравнении с ошибкой, вносимой на этапе дискретизации, если только метод не является неустойчивым (см. § 4.3). Методы, применяемые при решении систем алгебраических уравнений, обсуждаются в гл. 6. Как правило, системы уравнений возникают при решении задач об установившемся течении. Что касается задач о неустановившемся течении, то применение явных методов (см., например, п. 7.1.1) может свести этап решения уравнений к алгоритму, состоящему не более чем из одной строки.
Дискретизация
Чтобы преобразовать исходное уравнение в частных производных (или систему таких уравнений) в систему алгебраических уравнений (или обыкновенных дифференциальных уравнений), можно выбрать один из нескольких вариантов. Наиболее общепринятыми являются метод конечных разностей, метод конечных элементов и спектральный метод. Способ осуществления дискретизации зависит также от того, рассматриваются ли производные по времени (в применении к задачам с зависимостью от времени), или же уравнения, содержащие только пространственные производные.
На практике дискретизация производных по времени осуществляется почти исключительно с использованием конечноразностного метода. При дискретизации пространственных производных используется, как правило, метод конечных разностей, конечных элементов, конечных объемов или спектральный метод.
3././. Преобразование производныхв дискретные алгебраические выражения
Для иллюстрации процесса дискретизации рассмотрим уравнение
дТ д2Т
которое определяет нестационарный процесс теплопроводности в одном измерении. Символ Т соответствует температуре, символ а —— коэффициенту теплопроводности. Черта сверху символизирует точное решение. Характерные граничные и начальные условия, соответствующие уравнению (3.1), имеют вид
Г (0, /) = 6,戸(1, /) = d,(3.2)
f(x, О) = То(%),0<х<1.(3.3)
Наиболее прямой путь дискретизации состоит в замене производных эквивалентными им конечно-разностными выражениями. Так, например, с помощью представлений (3.21) и (3.25) уравнение (3.1) можно заменить уравнением
7片1-邛_ag「2T 什 T:Q
Размеры шагов Д/, А%, а также смысл нижнего индекса / и верхнего индекса п указываются на рис. 3.2. В уравнении (3.4) символ Т; соответствует значению Т в узле (/, 〃).
Как это явствует из самого процесса дискретизации, превращающего уравнение (3.1) в уравнение (3^4), задача о нахождении точного (непрерывного) решения Т(х, Q оказалась замененной на задачу о нахождении совокупности дискретных значений Г/, т. е. приближенного решения в каждом из узлов (/, 〃) (см. рис. 3.2). Ясно, что при этом возникают две связанные между собой ошибки — ошибка аппроксимации и ошибка решения. Ошибка аппроксимации, вносимая за счет дискретизации уравнения (3.1), будет рассматриваться в § 3.3 и 3.4. Ошибка, соответствующая разнице между приближенным решением и точным решением (ошибка решения), будет изучена в § 4.1.
Истинное значение приближенного решения в промежуточной точке между узлами сетки отнюдь не очевидно. Согласно интуитивному представлению, решение должно плавно изменяться в промежутках между узловыми точками. В принципе решение в некоторой точке (厶,力•), не совпадающей с узлом, может быть построено путем интерполяции значений, соответствующих решению для окружающих узловых точек. Как мы
口:
2At2AtAtAtеJеJ(jT)A 工(jT)A 工(J-l)Ar(J-l)ArО АТ 2АсО АТ 2АсРис. 3.2. Дискретная сетка.Рис. 3.2. Дискретная сетка.
2At
2At
At
At
е
J
е
J
(jT)A 工
(jT)A 工
(J-l)Ar
(J-l)Ar
О АТ 2Ас
О АТ 2Ас
Рис. 3.2. Дискретная сетка.
Рис. 3.2. Дискретная сетка.
увидим в дальнейшем (см. § 5.3), этот интерполяционный процесс является автоматически встроенной частью метода конечных элементов.
Ясно, что если уравнение (3.1) является дифференциальным уравнением в частных производных, то уравнение (3.4) алгебраическое. Если посмотреть на рис. 3.2, то с помощью уравнения (3.4) можно получить формулу (или алгоритм) для определения неизвестного значения Т^^ в зависимости от известных значений Т; на 〃-м временном слое, т. е. найти выражение 對+1 = Т; + 第_ (С; 】—2Т; + Т”)・(3.5)
Чтобы построить полное численное решение на временном слое (п + 1), следует применить формулу (3.5) ко всем узлам / = 2, ..., J—1, предполагая при этом, что граничные условия Дирихле обеспечивают данные о значениях Т?+1 и Т产.
3.12 Производные по пространству
Мы уже имели возможность видеть, как конечно-разностный метод дискретизирует производные по пространству, например как величина д2Т/дх2 в уравнении (3.1) превращается
в выражение (Т/-1 — 27; + Tf+J/A%?, входящее в уравнение (3.4).
Метод конечных элементов (см. § 5.3) позволяет достичь дискретизации за счет первоначального предположения о том, что локальное решение для Т допускает интерполяцию. Далее это локальное решение подставляется во взятый с соответствующим весом интеграл от всех членов исходного уравнения. Типичный результат такого действия при использовании линейных элементов на равномерной сетке имеет следующий вид:
(2А%/3)(T;+i — ?7) 。勿6)(畔出一Г*)—二a(*-277 + 办)
Если разделить обе части уравнения (3.6) на Ах, то результат получится аналогичным по своей структуре выражению (3.4). Вывод уравнения (3.6) приводится в п. 5.5.1.
В спектральном методе (см. § 5.6) используются предположения, аналогичные предположениям метода конечных элементов, за исключением того, что предполагаемая форма решения для Т имеет вид
Т =石的《)%(%), (3.7)
где а,(/)——неизвестные коэффициенты, определяемые в процессе построения решения, а 办(%)—известные функции х (см. § 5.6). Окончательная форма дискретного представления уравнения при использовании спектрального метода может быть записана как
产;’ (3・8) j=i
где pj — известные алгебраические коэффициенты.
Какой бы метод ни применялся для осуществления дискретизации, процесс последующего решения уравнений, например с использованием выражения (3.5), применяется непосредственно к алгебраическим уравнениям и является в некотором смысле не зависящим от способа дискретизации.
3.1.3. Производные по времени
При замене dT/dt в уравнении (3.1) на одностороннее разностное выражение (7产一7;)/А/ используется информация только с временных слоев 〃 н 〃 + 1. В силу того что время из-
меняется только в положительном направлении, информация с временных слоев с номерами п + 2 и больше нам недоступна. В уравнении (3.4) пространственная производная д2Т/дх2 аппроксимировалась на временном слое п, в силу чего получился явный алгоритм для определения Т:+) Если бы пространственные члены аппроксимировались на временном слое 拉+L то получился бы следующий неявный алгоритм:
一 sT爲 + (1 + 2s) T:+i — sT^l =方, (3.9)
где s = aAZ/Дх2. Уравнение (3.9) можно решить, если рассматривать его как часть системы уравнений, полученной из (3.9) путем записи данного уравнения для всех узлов / = 2,... ...,/ — 1 (см. § 7.2).
Если в уравнение (3.1) подставить формулу с центральной разностью (?7+1 - 7;7)2 А/, то можно построить следующий явный алгоритм для определения Т;+;
7;+1 = 7;т +(2а A〃Ad)(Т;_ 1 - 2Т: + T;+i). (3.10)
Алгоритм (3.10) является более точным, чем формула (3.5), однако и более сложным, так как охватывает данные не с двух слоев, а с трех: п— 1, 〃,几 + 1. Этот частный вариант алгоритма оказывается непрактичным, так как он неустойчив (см. п. 7.1.2). Однако в применении к другим уравнениям, например к уравнению конвекции (см. § 9.1), использование центральных разностей по времени приводит к устойчивым алгоритмам.
Существует некоторый альтернативный подход к дискретизации производных по времени, построенный на связи с обыкновенными дифференциальными уравнениями. Уравнение (3.1) можно записать в виде
* =疔, (3.11)
где £ — дифференциальный оператор ад21дх2. После дискретизации по пространству уравнение (3.11) принимает вид
醬=厶内, (3.12)
где La — алгебраический оператор, полученный в результате пространственной дискретизации. Совокупность уравнений (3.12), записанных для каждого из узлов, представляет собой систему обыкновенных дифференциальных уравнений по времени. Отсюда следует, что к уравнениям (3.12) может быть в
принципе применена любая методика интегрирования обыкновенных дифференциальных уравнений (см. [Gear, 1971]). Вообще говоря, результат интегрирования можно записать в форме
T;+i = T;+ \ LJjdf.(3.13)
tn
Вычисление интеграла в (3.13) по схеме Эйлера дает выражение
Т产= Т; +厶厶 ГМ(3.14)
тождественное выражению (3.5), если La — конечно-разностный оператор, фигурирующий в уравнении (3.4). Вследствие ошибок, связанных с введением оператора пространственной дискретизации 厶办 использование формулы интегрирования очень высокого порядка для подстановки в (3.13) обычно не дает каких-либо преимуществ. Некоторые из наиболее эффективных алгоритмов решения подобных задач рассматриваются в § 7.4.
Аппроксимация производных
В § 3.1 были приведены типичные алгебраические формулы, позволяющие проиллюстрировать технику дискретизации производных, подобных д2Т/дх2. Здесь демонстрируется процесс построения таких алгебраических формул, сначала при помощи разложения в ряд Тейлора, а потом ——при помощи некоторой общей процедуры. В каждом случае нетрудно оценить ошибку, обусловленную процессом дискретизации.
/. Разложение е ряд Тейлора
В качестве первого шага по пути к разработке алгоритма расчета тех значений 7, которые могут фигурировать в уравнении (3.1), выразим производные Т по пространству и времени в узле (/, и) через значения 7 в близлежащих узлах. Для реализации этого процесса воспользуемся разложениями в ряды Тейлора типа
^.= Z^[#];.(3•⑸
m=0
Эти ряды могут быть оборваны после любого числа членов, причем возникающая в результате ошибка (ошибка аппроксимации) определяется в основном следующим членом разложения, если только А%《1 в разложении (3.15) или если Af《1 в разложении (3.16). Следовательно, можно написать
7須=看 + aх [<]> 好偿Д +00炉).(3」7)
Интерпретация остаточного члена О(Дх3) сводится к тому, что, как предполагается, существует некоторая положительная постоянная К, зависящая от 7, такая, что разность между значением 7 в узле (/ + 1, п) и первыми тремя членами правой части (3.17), рассчитанными в узле (/, 〃)оказывается численно меньше величины КА%з для любых достаточно малых Ах. Ясно, что связанная с такой аппроксимацией ошибка будет быстро уменьшаться по величине по мере уменьшения А%.
Обращаясь к выражению (3.17), нетрудно видеть, что конечно-разностное представление дТ/дх можно получить непосредственно. Действительно, перегруппировка членов в (3.17) дает — _
[黑]; =(Т*-7;)/Ах-°・5А"НЯ;+ (3.18)
Очевидно, что использование конечно-разностной подстановки
обеспечивает точность О (Ах). Дополнительные члены, фигурирующие в правой части (3.18), называются в дальнейшем ошибкой аппроксимации. Выражение в правой части формулы (3.19) называется аппроксимацией с разностью вперед. Если разложить величину Т;_\ в ряд Тейлора в узле (/, п) и перегруппировать члены, то можно построить аппроксимацию с разностью назад:
Как и (3.19), эта аппроксимация вносит ошибку О(Дх). Геометрическая интерпретация выражений (3.19) и (3.20) дается на рис. 3.3. Формула (3.19) оценивает [дТ/дх]? через наклон линии ВС, тогда как формула (3.20) дает ту же оценку посредством наклона АВ.
Формулы (3.19) и (3.20) были получены с помощью разложения в ряд Тейлора по пространству. Разложение в ряд
Тейлора по времени — формула (3.16)—может быть использовано для построения аппроксимации с разностью вперед
(3.21)(3.21)
(3.21)
(3.21)
которая вносит ошибку О (А/), если только предположить, что А£《1 и что производные высших порядков ограничены.
Аппроксимация общего вида
Конечно-разностные выражения, приведенные в п. 3.2.1, были построены с помощью простых перестановок в единственном
разложении в ряд Тайлора. Более последовательная методика построения разностных аппроксимаций сводится к тому, чтобы начать с некоторого общего выражения типа
Ш =aTKi + bft} + cTi+{ + О(А尤В,(3.22)
где постоянные а, b и с подлежат определению, а член О (Ах俏) будет указывать на степень точности получаемой аппроксимации..
Используя формулу (3.15), можно написать
^/-1 + ьт^ + с%+1 = (а + b + с)善 + (— а + с) Ах [某工 +
+ (а + с)等+(-а + с)爲(3.23)
Полагая а + b + с = 0, (—а + с) Дх = 1, получаем а = с — —1/Ах и b = —2c + 1/Ах для любого с. Выбирая с так, чтобы
обратился в нуль третий член правой части формулы (3.23), получаем наиболее точную аппроксимацию из всех возможных вариантов с подбором трех параметров. Таким образом, имеем с = —а = (1/2) Дх и 6 = 0. Подстановка этих значений в (3.23) дает
L dx J/ 2a八 丿 6 L 十• •
Следовательно, центрированная (или центральная) разностная аппроксимация для [дТ/дх]^ имеет форму
L j 2 дх
с ошибкой аппроксимации О (Ах2). Очевидно, что центрированная разностная аппроксимация вносит ошибку аппроксимации более высокого порядка, чем аппроксимации с разностями вперед (3.19) и назад (3.20). Формула (3.24) оценивает [дТ/дх]^ по наклону линии АС на рис. 3.3.
Если по аналогии с (3.22) воспользоваться подобным же представлением для [д2Т/дх2^, то получим следующую центрированную разностную формулу:
Тот же самый прием с использованием представлений типа (3.22) может быть применен для построения односторонних разностных формул, если только вводить разложения в окрестности соответствующих узлов. Этот же прием можно использовать и для вывода многомерных формул, а также разностных формул для неравномерных сеток (см. п. 10.1.5).
Трехточечная асимметричная формула для [дТ/дх]^
Общий прием построения алгебраических формул для аппроксимации производных (см. п. 3.2.2) используется для вывода трехточечного одностороннего представления производной [дТ/дх]^. В качестве исходного выражения вместо (3.22) берется следующее общее представление:
[先工=疗;+ 行;+i + с亍к + О(Axm), (3.26)
где параметры а, b и с подлежат определению. Величины Т;+1 и Т;+2 разлагаются в ряд Тейлора около / (см. п. 3.2.1). Подстановка этих разложений в (3.26) и перегруппировка членов позволяет получить
[某];=(a + 6 + e)方 + 3 ax + e2 ах)[黑工十
+ (手十字)處]:+・「(3.27)
Путем сравнения левой и правой частей соотношения (3.27) нетрудно установить, что для получения наименьшей ошибки параметры а, b и с должны удовлетворять следующим условиям:
.,, с7 A I С А1Ь А%2 с (2 Дх)2 с
а + Ь + с = 0,6 Дх + с2 Дх =I,—^1^= 0.
Отсюда получаются значения параметров:
0.50.51.5 厶 2
0.5
0.5
-7—,Ь =-Y— И
Дх *Дх
и, следовательно,
「疗了 -1.5Г7 + 2Т^+1 -0.5Г^+2 Дх2 Г д^Т Г
что согласуется с результатом, показанным в табл. 3.3 (см. стр. 84). Данная формула вносит ошибку аппроксимации О(Дх2), как и формула (3.24) с центрированной разностью.
Если в представление (3.26) ввести большее число членов, например
[^"] # "; + bT;+i + "7+2 + dT;+3 + еТ;+4,
то добавочные условия для определения коэффициентов от а до е могут быть получены из соотношения (3.27), модифицируемого при помощи требования, что коэффициенты при производных высшего порядка обращаются в нуль. Однако схемы, основанные на дискретизации повышенного порядка, зачастую встречаются с более строгими ограничениями, связанными с устойчивостью (см. § 4.3), чем это было для схем с дискретизацией низкого порядка. Следовательно, альтернативная стратегия сводится к тому, чтобы некоторые из коэффициентов от а до е позволяли уменьшить ошибку, а другие ——улучшить устойчивость. Подобный же подход принимается при построении схем для решения обыкновенных дифференциальных уравнений (см. [Hamming, 1973]).
6 К. Флетчер, т. 1
§ 3・3・ Точность процесса дискретизации
Дискретизация необходима для того, чтобы превратить исходные дифференциальные уравнения в эквивалентную им систему алгебраических уравнений, для решения которых можно воспользоваться вычислительной машиной. Если исключить тот случай, когда соответствующее точное решение имеет предельно простую аналитическую форму, то процесс дискретизации обязательно вносит некоторую ошибку. Так, например, центрированная разностная формула (3.24) является точной для полиномов вплоть до квадратичных, тогда как односторонние формулы (3.19) и (3.20) точны лишь для линейных полиномов. О точности можно судить по тому факту, что все члены ошибки аппроксимации оказываются равными нулю для полиномов достаточно низкого порядка.
В общем случае ошибка конечно-разностного представления производной может быть определена с помощью разложения в ряд Тейлора в окрестности того узла, где оценивается величина производной (см. п. 3.2.2), тогда как оценка главного члена остатка дает достаточно хорошую аппроксимацию ошибки, если только элемент сетки имеет достаточно малый размер. Однако окончательная оценка членов ряда Тейлора возможна только тогда, когда известно точное решение.
Более прямой путь сравнения точности различных алгебраических формул сводится к рассмотрению простой аналитической функции типа Т = ехр х и к сравнению значения производной, полученного аналитически, со значением, найденным по дискретизационной формуле. В табл. 3.1 демонстрируется подобное сравнение для значений dT/dx, оцениваемых в точке х = 1 при аналитической функции вида Т = ехр х; размер шага составляет Дх = 0.1. В общем случае трехточечные формулы> будь то симметричные или асимметричные, оказываются значительно более точными, чем двухточечные формулы с разностями вперед или назад, однако значительно менее точными, чем пятиточечная симметричная формула. Как очевидно из табл. 3.1, если величина Ах достаточно мала, то главный член ряда Тейлора (Р. Т.) дает хорошую оценку ошибки. —
Типичные алгебраические формулы для оценки d2T/dx2 при 尤=1.0 для значений функции Т = ехр 尤 приводятся в табл. 3.2. Значения функции оцениваются с интервалом Дх = 0.1. Как и ранее, трехточечная симметричная формула является точной, однако теперь трехточечная асимметричная формула оказывается неточной. Как и при оценке качества формул для первой производной, главный член ряда Тейлора обеспечивает достаточно точную оценку ошибки.
Таблица 3.1. Сравнение формул для вычисления dT/dx при х = 1.0
Вариант формулы
Алгебраическая формула
Ld% J/
Ошибка
Главный член ряда Тейлора
Точная
—
2.7183
—
—
Трехточечная симметричная
(3 + 1 -亏 _i)/2 А%
2.7228
0.4533X10-2
0.4531 ХЮ~2
Разности вперед
2.8588
0.1406X10-°
0.1359X1。-°
Разности назад
2.5868
-0.1315X10"°
-0.1359X1。-°
Трехточечная несимметричная
(一1.5小23亠-0.5%+2)/aх
2.7085
-0.9773X10-2
-0.9061X10-2
Пятиточечная симметричная
(Т/_2 — 8々_] + 8Tj + [ — Tj+2)/12 Лх
2.7183
-0.9072ХЮ'5
-0.9061X10-5
Таблица 3.2. Сравнение формул для вычисления d2T/dx2 при х = 1.0
Вариант формулы
Алгебраическая формула
Ошибка
Главный член ряда Тейлора
Точная
Трехточечная симметричная
Трехточечная несимметричная
Пятиточечная
симметричная
(乙・-2方* +h/M
(-"у + 163—1-30" + + 167宀_%+2)/12m
2.7183
2.7205
3.0067
2.7183
0.2266ХЮ'2
0.2884X10-°
—0.3023X10-5
0.2265X10-2
0.2718ХЮ"0
-0.3020X10-5
Алгебраические формулы для главных членов выражений, определяющих ошибку аппроксимации, приводятся в табл. 3.3 и 3.4. Эти формулы получены так, как в п. 3.2.1,— путем разложения в ряд Тейлора в окрестности /-го узла. В табл. 3.3 приняты обозначения: Тxxx = d?Tfd^ и т. д」Для данного конкретного примера (Г = ехр х) имеем Тххх = Тхххх и т. д. Следовательно, величина ошибки в первую очередь зависит от степеней А%. А отсюда вытекает, что по* мере уменьшения Ах следует ожидать, что при использовании пятиточечной формулы ошибка аппроксимации будет уменьшаться гораздо быстрее, чем при использовании двухточечных формул с разностями вперед или назад.
Таблица 3.3. Главный член ошибки аппроксимации (алгебраическое представление): dT/dx
Вариант формулы
Алгебраическая формула
Главный член ошибки аппроксимации
Трехточечная симметричная
(3 +L*)/2書
^X2TxxxfQ
Разности вперед
(" + 】—*)/△%
NkT хх/2
Разности назад
(МТ-)/А%
—А%Т%%/2
Трехточечная несимметричная
(一1・5家+ 2丁]-0.5小…
一А炉乙х〃3
Пятиточечная
(* 一8*+ %• + ]-
—A%4T %%%%%/36
симметричная
-3+2)吟
Таблица 3.4. Главный член ошибки аппроксимации (алгебраическое представление): d2T/dx2
Вариант формулы
Алгебраическая формула
Главный член ошибки аппроксимации
Трехточечная симметричная
Трехточечная несимметричная
Пятиточечная симметричная
(万“-23 +戸小)/堤2 (М-%*+М+2)/М (-f._2+167^,-30^ + + 16/ + 1 — Т/+2)/12 Ad
^ТХХХХЩ
—А%4「%%%%%%/90
Причина большой ошибки, связанной с трехточечной асимметричной формулой и показанной в табл. 3.2, становится очевидной из рассмотрения табл. 3.4, на которой видно, что главный член ошибки аппроксимации имеет в этом случае всего лишь первый порядок точности.
Как видно из табл. 3.1 и 3.2, существует тесная корреляция между непосредственно рассчитанной ошибкой и ошибкой аппроксимации. На этом основании следует ожидать, что непосредственно рассчитанная ошибка будет уменьшаться вместе с Ах по такому же закону, как это показано в табл. 3.3 и 3.4. Этот вывод подтверждается и результатами, показанными на рис. 3.4 и 3.5. Если построить графики в логарифмической шкале, то градиент результатов, касающихся сходимости, т. е. скорость сходимости, соответствует определенной степени А%. Как это ясно из данных, приведенных на графиках, в рассмотренных нами различных случаях ожидаемая скорость сходимости подсказывается теми выражениями главных членов ошибки аппроксимации, которые приведены в табл. 3.3 и 3.4. Оценку скорости сходимости можно по-прежнему основывать на данных об ошибке аппроксимации, даже если точное решение неизвестно.
/. Сравнение формул высокого и низкого порядков
Если судить по тем результатам, которые были изложены выше, то может показаться, что во всех случаях следует пользоваться формулой высокого порядка на мелкой сетке. Однако это впечатление обманчиво. Во-первых, расчет по формуле высокого порядка охватывает большее количество точек и, следовательно, оказывается менее экономичным, чем расчет по формуле низкого порядка. С точки зрения практической перспективы та точность, которая может быть достигнута при заданном времени исполнения, или вычислительная эффективность, более важна, чем просто точность; точность же всегда можно повысить за счет измельчения сетки. Вычислительная эффективность рассматривается в § 4.5. .
Во-вторых, формулы высокого порядка обладают сравнительно небольшим преимуществом в точности перед формулами низкого порядка в случае грубой сетки, однако такое преимущество становится значительно больше, если сетка мелкая. Однако при решении некоторой конкретной задачи нередко случается, что требуемый уровень суммарной точности результатов соответствует именно грубой сетке или же применение грубой сетки необходимо из-за ограничений на машинную память либо на время исполнения. Превосходство формул
высокого порядка, выявляемое на рис. 3.4 и 3.5, зависит еще и от гладкости точного решения. Решения, соответствующие сверхзвуковым течениям невязкой жидкости, могут содержать
1g Аб1g АбРис. 3.4. Результаты, касающиеся сходимости при вычислении dT]dx; Е = \[dT/dx]FD/[dT/dx]QX-1|.Рис. 3.4. Результаты, касающиеся сходимости при вычислении dT]dx; Е = \[dT/dx]FD/[dT/dx]QX-1|.Рис. 3.5. Результаты, касающиеся сходимости при вычислении d27/dx2;Рис. 3.5. Результаты, касающиеся сходимости при вычислении d27/dx2;Е =Е =\[d^T/dx]FD/[d2T/dx^-l\.\[d^T/dx]FD/[d2T/dx^-l\.
1g Аб
1g Аб
Рис. 3.4. Результаты, касающиеся сходимости при вычислении dT]dx; Е = \[dT/dx]FD/[dT/dx]QX-1|.
Рис. 3.4. Результаты, касающиеся сходимости при вычислении dT]dx; Е = \[dT/dx]FD/[dT/dx]QX-1|.
Рис. 3.5. Результаты, касающиеся сходимости при вычислении d27/dx2;
Рис. 3.5. Результаты, касающиеся сходимости при вычислении d27/dx2;
Е =
Е =
\[d^T/dx]FD/[d2T/dx^-l\.
\[d^T/dx]FD/[d2T/dx^-l\.
разрывы, связанные с наличием ударных волн (см. [Liepmann, Roshko, 1957]). Если решение оказывается разрывным в пределах того интервала, на котором используются алгебраические формулы, то формула высокого порядка не будет давать
существенно большую точность. Это можно видеть на примере точного решения, показанного на рис. 3.6.
Использование трехточечной симметричной формулы:
[dT/dx]x=x = —0.5/Дх.
Использование пятиточечной симметричной формулы:
[df/dx]x^ =-7/(12 \х).
Если учесть, что, согласно точному решению, [dT/dxjx^ = =—оо, то пятиточечная формула не дает заметного преимущества в точности по сравнению с трехточечной формулой.
У1.0У1.0
У
1.0
У
1.0
1.0 載
Рис. 3.6. Разрывное (точное) решение.
Для задач о течении вязкой жидкости при больших числах Рейнольдса (т. е. при малой естественной диссипации) решений с разрывами быть не может, но могут возникать очень большие градиенты. Если градиент достаточно велик, а сетка достаточно грубая, то схемы высокого порядка не приносят преимуществ. Это можно проиллюстрировать на примере функции у = th [k(х—1)], которая представлена графически на рис. 3.7 для трех значений параметра k. Очевидно, что существует градиент, центрированный в точке х = 1, величина которого возрастает вместе со значением параметра k. Первая производная dy/dx оценивалась при х = 0.96 с использованием трехточечной и пятиточечной симметричных формул (см. табл. 3.1) для уменьшающихся значений А% при ^ = 5 и 20.
Результат демонстрируется на рис. 3.8. Нетрудно заметить^ что пятиточечная формула обеспечивает преимущество в точности только тогда, когда сетка является достаточно мелкой. Требуемая степень измельчения возрастает по мере того, как градиент становится больше (возрастающее значение 竹.Для некоторых промежуточных значений Ах пятиточечная формула
Рис. 3.9. СходимостьРис. 3.9. Сходимость[d2»/dA:2]FD:[d2»/dA:2]FD:
Рис. 3.9. Сходимость
Рис. 3.9. Сходимость
[d2»/dA:2]FD:
[d2»/dA:2]FD:
Рис. 3.8. Сходимость конечно-разностного значения [dyldx\?D: влияние гладкости решения;
Е = I [dy/dx]PD/[dy/dx]QX — 1 ].
влияние гладкости решения;
Е = \[d2y/dx^/[d^yldx^-\\.
дает менее точную оценку производной. Соответствующее сравнение оценок второй производной демонстрируется на рис. 3.9. Очевидна та же самая общая тенденция, а именно что формула высокого порядка обеспечивает заметное улучшение только тогда, когда сетка является измельченной.
В тех случаях, когда встречаются резкие градиенты, формулы высокого порядка дают намного большие значения производной, чем формулы низкого порядка. Как следствие этого на заданной сетке члены высокого порядка в выражении ошибки аппроксимации уменьшаются не с такой большой скоростью, как в случае, когда соответствующее точное решение является гладким. В силу той же самой причины, если только сетка не сделана очень мелкой, величина высшей производной в главном члене выражения для ошибки аппроксимации при дискретизации высшего порядка может оказаться настолько большой,, что суммарная ошибка будет сравнима с той, которая получается при дискретизации низкого порядка.
В качестве общего замечания примем во внимание, что в силу причин, обсуждаемых в § 9.4, следует использовать дискретизацию по крайней мере второго порядка. Использование дискретизации более высокого порядка может быть оправдано, лишь в некоторых особых обстоятельствах.
§ 3・4・ Представление волн
При многих явлениях, связанных с течением жидкости, движение обнаруживает волновой характер. Поэтому с концептуальной точки зрения оказывается полезным рассматривать точное решение так, как если бы оно распалось на отдельные свойственные ему компоненты Фурье. В этой связи возникает вопрос о том, будет ли процесс дискретизации с одинаковой точностью представлять короткие и длинные волны.
Роль грубой структуры сетки
Метод конечных разностей заменяет непрерывную функцию> g(%) вектором, составленным из узловых значений g, и соответствующим вектору, составленному из дискретных точек сетки %/. Выбор надлежащего размера элемента сетки Ах зависит от гладкости функции g(x). Неудачный выбор иллюстрируется на рис. 3.10(a), тогда как удовлетворительный выбор показан на рис. 3.10(b). Для получения достаточно точного представления функции g(%), показанной на рис. 3.10(a), потребовался бы значительно более мелкий размер ячейки сетки,, чем для такой g(x), которая показана на рис. 3.10(b).
Представление Фурье для функции g(%) (которая предполагается периодической) на интервале 6 W % & 2л имеет вид g")= Е(3.28)
Рис. 3.10. Дискретное представление g(x). Сетка ——слишком грубая (а) и удовлетворительная (Ь).Рис. 3.10. Дискретное представление g(x). Сетка ——слишком грубая (а) и удовлетворительная (Ь).
Рис. 3.10. Дискретное представление g(x). Сетка ——слишком грубая (а) и удовлетворительная (Ь).
Рис. 3.10. Дискретное представление g(x). Сетка ——слишком грубая (а) и удовлетворительная (Ь).
Фурье с длиной волны А = 2л/тл задаваемая выражением (см. [Hamming, 1973]) 2л
gm = ^\ g(X)e-im%dx.(3.29)
О
Вектору узловых значений g, также можно дать представление Фурье, имеющее вид■
g/ = Z g/傾丝(3.30)
где модальные амплитуды g^ задаются в виде
gm = A% X gie—imikx.(3.31)
7=1
Дискретная природа сетки ограничивает диапазон длин волн, поддающихся представлению. В частности, не могут быть представлены длины волн, более короткие, чем длина волны отсечки X = 2Ах. Это значит, что gj следует рассматривать как длинноволновую аппроксимацию функции g(x). Аналогично этому 7产,т. е. приближенное решение, получаемое из (3.5), следует рассматривать как длинноволновое приближение к точ-
ному решению уравнения (3.1). Этот аспект подвергается дальнейшему рассмотрению в § 9.2 и используется при обосновании многосеточных методов (см. п. 6.3.5).
Точность представления волн
Чтобы получить представление о точности конечно-разностных аппроксимаций в тех случаях, когда следует ожидать волнообразного по своему характеру движения, рассмотрим приложение к случаю прогрессивных волн, который задается в виде —
Т (х, /) = Re {e^im^x~^} = cos [m (x — g/)],(3.32)
где,= (—1)"2, символ Re обозначает вещественную часть, m — волновое число, как и в (3.28), a q — скорость распространения волны, движущейся в положительном направлении оси %. В фиксированной точке х; волновое движение является периодическим с периодом Р = 2r/(g〃z).
Если рассмотреть узел (/, 〃), то в нем точные значения первой и второй производных Т выражаются в виде
гур
Н =—俏 sin [m(X/ — g/前,(3.33)
嘉=—m2 cos [m (%; — g")].(3.34)
Выражение (3.32) следует подставить в трехточечную формулу 也丁〜(号+L冷) L 0%」/ ~2 Дх ,
что дает
层1=金(cos {[他(/一9乙)]+他 дx}-cos {[m (x7—?Q]-mAx})= =-俏 sin [m (弓 一 g%)] sin (zn A%)
В результате амплитудный фактор для представления первой производной будет равен
AR(1) =AR(1) =[дТ/дх]1}[дТ/дх][дТ/дх]1}[дТ/дх]sin (m Ах)m Дхsin (m Ах)m Дх(3.36)(3.36)
AR(1) =
AR(1) =
[дТ/дх]1}[дТ/дх]
[дТ/дх]1}[дТ/дх]
sin (m Ах)m Дх
sin (m Ах)m Дх
(3.36)
(3.36)
亍3-2可+疗+]亍3-2可+疗+]А%2А%2
亍3-2可+疗+]
亍3-2可+疗+]
А%2
А%2
Пользуясь формулой (3.32), получим центрированную разностную аппроксимацию для д2Т/дх2 в виде
/ [sin (m^x|2)] \2、
=-俏(~诵Z丽—丿 cos[/n(Y/-*)] ・(3.37)
Амплитудный фактор для представления второй производной имеет вид
азЗТ⑵=(广("б
Как показывает изучение правой части формулы (3.36), применение конечно-разностной аппроксимации привело к изменению амплитуды производной. В случае длинных волн, когда 入〉20 А%, амплитуда первой производной уменьшается за счет умножения на коэффициент, равный 0.984 — 1.000, если используется центрированная разностная аппроксимация. Однако когда на длине одной волны располагается менее четырех ячеек сетки (случай коротких волн), то амплитуда производной составляет менее чем 0.64 от своего истинного значения. При длине_волны 厶=20Дх центрированное разностное представление д2Т/дх2 уменьшает амплитуду в 0.992 раза. Однако при длине волны А = 2Дх амплитуда второй производной уменьшается за счет умножения на 0.405. Как отмечалось в п. 3.4.1, длинные волны воспроизводятся более точно, чем короткие.
Если сравнить разностную аппроксимацию вперед для {дТ/дх^ по формуле (3.19) с точным значением этой производной для функции Т, заданной формулой (3.32), то мы найдем, что ошибки вносятся как в значение фазы, так и в значение амплитуды. Истинная величина амплитуды умножается на коэффициент [sin (тДх/2) / (тДх/2) ], а уменьшение фазы определяется коэффициентом тДх/2, что эквивалентно пространственному сдвигу вперед на Дх/2. Для приведенных выше примеров ошибки по амплитуде и фазе исчезают при Дх -> 0, т. е. в пределе длинных волн.
Точность формул высокого порядка
Как было указано в п. 3.4.2, представление о точности дискретизации можно получить, рассматривая прогрессивную волну, движущуюся с постоянной амплитудой и скоростью q. Точное решение задается формулой (3.32). Здесь мы воспользуемся тем же примером, чтобы проверить, будут ли разностные формулы высокого порядка воспроизводить волны с более высокой точностью, чем формулы низкого порядка. Конкретно мы будем сравнивать симметричные трехточечную и пятиточечную формулы для дТ/дх и ^2Г/^х2, приведенные в табл. 3.1 и 3.2.
Действуя таким же образом, как при выводе формулы 、(3.36), определим амплитудный фактор в применении к пяти-
точечному симметричному представлению дТ/дх (см. табл. 3.1); он равен
А驱 1)=传•(3.39)
Поведение выражения, определяемого правой частью (3.39), показано в табл. 3.5 применительно к длинным и коротким вол-
Таблица 3.5・ Отношение амплитуд в случае прогрессивной волны
Отношение амплитуд
Отношение амплитуд
Производная
Схема
Длинная волна (X = 20Дх)
Короткая волна (X = 4Дх)
疗 dx
Трехточечная симметричная
Пятиточечная симметричная
0.9836
0.9996
0.6366
0.8488
Производная
Схема
Длинная волна (X = 20Дх)
Короткая волна (X = 2Дх)
др亍
Трехточечная симметричная
Пятиточечная симметричная
0.9918
0.9999
0.4053
0.5404
нам. Амплитудный фактор в применении к пятиточечному представлению д2Т/дх2 (см. табл. 3.2) выражается в виде
А*)=4{1 -°・25【cos(0・5/nAx)]2}(包儘喫у. (3.40)
Поведение правой части (3.40) в применении к длинным и коротким волнам показано в табл. 3.5. Показанные в этой таблице результаты свидетельствуют о том, что обе схемы дают большую точность в случае длинных волн, причем особенно хорошую точность обеспечивает пятиточечная схема. Однако ни одна из рассмотренных схем не является особенно точной в случае коротких волн. Этот результат согласуется со сделанными ранее замечаниями (см. § 3.3), касающимися сравнительно малых преимуществ использования схем высокого порядка на грубой сетке.
В процессе моделирования некоторой заданной волны измельчение сетки (т. е. введение большего числа точек для
представления каждой длины волны) перемещает решаемую задачу из области коротких волн в область длинных волн. Следовательно, основной вывод, который можно сделать из изучения табл. 3.5, состоит в том, что для точного расчета волнообразных движений необходимо использовать достаточно мелкие сетки.
§ 3.5. Метод конечных разностей
Как уже отмечалось в § 3.1, метод конечных разностей основан на построении дискретной сетки (см. рис. 3.2), замене континуальных производных в исходных дифференциальных уравнениях с частными производными на эквивалентные им конечно-разностные выражения и в перегруппировке членов полученного алгебраического уравнения с тем, чтобы построить алгоритм наподобие (3.5). В данном параграфе все перечисленные аспекты сведены воедино и предложена некоторая простая конечно-разностная программа.
/. Концептуальная реализация
Различные шаги, совершаемые в процессе применения метода конечных разностей в некоторой заданной задаче, представлены схематически на рис. 3.11.
Рис. 3.11. Схема построения решения методом конечных разностей.
Процедура может быть конкретизирована, если применить ее к нижеследующей нестационарной задаче о теплопроводности (диффузии). Пусть теплоизолированный стержень (рис. 3.12) в начальный момент имеет температуру Т (х, 0)=
=0℃. При Z = 0 два горячих резервуара (Т = 100 ℃) приводятся в контакт с двумя концами стержня А и В. Задача состоит в том, чтобы определить (численно) температуру 7 (х, /) любой точки стержня в любой последующий момент.
Исходным уравнением для этой задачи является уравнение (3.1), т. е.
дТд2т 八
dtа%2
Для решения этого уравнения необходимы начальные условия (3.3), роль которых состоит в задании начальных значений за-
Задано Тд «">W^ Изоляционный слой <^\SS^ Задано 亍8ИЛИ 疔А’。* ^^^^^^^^ИЛИ 折в'°хЗадано Тд «">W^ Изоляционный слой <^\SS^ Задано 亍8ИЛИ 疔А’。* ^^^^^^^^ИЛИ 折в'°х
Задано Тд «">W^ Изоляционный слой <^\SS^ Задано 亍8
ИЛИ 疔А’。* ^^^^^^^^ИЛИ 折в'°х
Задано Тд «">W^ Изоляционный слой <^\SS^ Задано 亍8
ИЛИ 疔А’。* ^^^^^^^^ИЛИ 折в'°х
н=1н=11=0
н=1
н=1
Рис. 3.12. Нестационарная теплопроводность в стержне.
висимого переменного 畔(см. рис. 3.2). Один из простейших конечно-разностных аналогов уравнения диффузии достигается путем замены производной по времени аппроксимацией с разностью вперед, а производной по пространству — центрированной разностной аппроксимацией (см. п. 3.1.1). Это приводит через посредство формулы (3.5) к схеме с разностями, сдвинутыми вперед по времени и с центрированными по пространству (ВВЦП)
T7+i=s77—i +(1 —2s)T7 + s77+i, (3.41)
где s = aA%/Af2. Формула (3.41) применяется ко всем внутренним узлам, где / = 2, ..., J—1. В случае типичной задачи о теплопроводности граничные значения 7产 и 7尸 задаются при помощи граничных условий (3.2). Процесс решения повторяется по мере продвижения во времени (п = 1, 2, ...), пока не достигается необходимое время окончания.
DIFF: нестационарная задача теориитеплопроводности (диффузии)
В п. 3.5.1 было дано качественное описание реализации метода конечных разностей. Здесь будет описана соответствующая программа расчетов на ЭВМ под названием DIFF.
1234567890123456789045678901111111224567890111111122с с с ссссссссссс с с сссссссссс23456789012345678222222223333333332345678901234567822222222333333333с с с сс с с сс с сс с с344444444445555344444444445555234567890123234567890123с с с с сс с с с сSOLVES ID TRANSIENT HEAT CONDUCTION EQUATION USING FTCS SCHEME,
1234567890
1234567890
45678901
11111122
45678901
11111122
с с с сссссссссс
с с с сссссссссс
23456789012345678
22222222333333333
23456789012345678
22222222333333333
с с с с
с с с с
с с с
с с с
344444444445555
344444444445555
234567890123
234567890123
с с с с с
с с с с с
DIMENSION TN(41) ,DUi4(41) ,TD(41) ,X(41) ,TE(41)
INPUT DATA;
JHAX = THE NUMBER OF POINTS ALONG THE ROD MAXEX=THENUMBER OF TERMS IN THEEXACT SOLUTION
NMAX=THEMAXIMUM NUMBER OF TIMESTEPS
ALPH=THETHERMAL DIFFUSIVITY
S=ALPH*DELT/DELX/DELX
TMAX=THEMAXIMUM TIME
OPEN(1,FILE='DIFF.DAT*)
OPEN(6,FILE='DIFF.OUT,)
READ(1,1)JMAX,MAXEX,NMAX,ALPH,S,TMAX
1 FORMAT(315rE10.3,F5.2tF5.0) PI = 3.1415927
TD = DIMENSIONAL TEMPERATURE TN = NONDIMENSIONAL TEMPERATURE
JMAP = JMAX - 1 AJM = JMAP DELX = l./AJM DELT = DELX*DELX*S/ALPH WRITE(6f2)JMAX,MAXEX,NMAX,TMAX
FORMATC JNAX=',I5,' MAXEX=',I5J NMAX=',I5J TMAX=',F8・2) WRITE(6,3)S,ALPH,DELT,DELX
FORMAT(* S=',F5.3,' ALPH =',E10.3J DELT =',E10.3, 1* DELX =',E10.3,〃)
WRITE(6f4)S
FORMAT (* FTCS (EXPLICIT) SCHEME J,5X J S =',F5.3,〃}
SET INITIAL CONDITIONS
DO 5 J = 1,JMAP
TN(J) = 0.
N = 0 T = 0.
SET BOUNDARY CONDITIONS
EACH TIME STEP STARTS AT STATEMENT 2
TN(1) = 1.
TN(JMAX) = 1.
IF(T .LT. O.Ol)TN(l) = 0.5
IF(T .LT. O.Ol)TN(JMAX) = 0.5 TD(1) = 1OO.*TN(1) TD(JMAX) = 1OO.*TN(JMAX)
с с с с с с с с с с сс с с с с с с с с с сс с с с с сс с с с с сCOMPUTE F・D・ SOLUTION
с с с с с с с с с с с
с с с с с с с с с с с
с с с с с с
с с с с с с
DO 7 J = 2,JMAP
DUM(J) = (l.-2.*S)*TN(J) + S*(TN(J-1) + TN(J+1)) 7 CONTINUE
DO 8 J = 2,JMAP 8 TN(J) = DUM(J)
DO 9 J = 2,JMAP
TD(J) = 1OO.*TN(J) T = T + DELT
WRITE(6,10)T,(TD(J),J=1,JMAX)
FORMAT(1 T= LF5.0J TD«* ,11F6.2)
IF MAXIMUM TIME OR MAXIMUM NUMBER OF TIME-STEPS EXCEEDED EXIT FROM LOOP
IF(H .GE. NMAX)GOTO 11
IF(T ・LT・ TMAX)GOTO 6
OBTAIN EXACT SOLUTION AND COMPARE
SUM = 0.
DO 13 J = 1,JMAX
AJ = J - 1
X(J) = DELX*AJ TE(J) = 100. DO 12 M = 1,MAXEX AM » M
DAM * (2.*AM - 1.) DXM * DAM*PI*X(J) DTM = -ALPH*DAM*DAM*PI*PI*T
LIMIT THE ARGUMENT SIZE OF EXP(DTM)
IF(DTM ・LT・-87.)DTM = -87.0
ТЕ(J) = ТЕ(J) - 400./DAM/PI*SIN(DXM)*EXP(DTM) SUM = SUM + (TE(J) - TD(J))**2
CONTINUE WRITE(6r14)Tr(TE(J),J=1,JMAX)
FORMAT(// T= \F5.0/ TE=*,HF6.2r//)
RMS IS THE RMS ERROR
AVS = SUM/(1. + AJM) RMS * SQRT(AVS) WRITE(6r15)RMS
FORMATC RMS DIF =,,E11・4,〃) STOP
END
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
Рис. 3.13. Распечатка программы DIFF.
Программа DIFF применяет схему ВВЦП, определяемую соотношением (3.41), к нестационарной задаче о теплопроводности (диффузии), схематически изображенной на рис. 3.12.
Распечатка программы DIFF показана на рис. 3.13, а различные параметры, используемые в этой программе, описаны в табл. 3.6.
Таблица 3.6. Параметры, примененные в программе DIFF
Параметр
Описание
JMAX МАХЕХ NMAX ALPH S TIMAX TD TN ТЕ DX DT TIM X RMS
Число точек по длине стержня
Число членов точного уравнения
Максимальное число шагов по времени
Коэффициент теплопроводности (диффузии) а аА%/А"
Максимальное время
Размерный массив температуры
Безразмерный массив температуры
Точный (размерный) массив температуры Ах
Д/
Время
Координата, 0 & % W 1.0
Среднеквадратичная ошибка решения
Программа DIFF присваивает значения различным управляющим параметрам (строка 16), задает Ах и Л/ и выводит на печать различные параметры. На каждом шаге по времени л + 1 проводится расчет решения (см. схему на рис. 3.11) до тех пор, пока не будут превышены значения NMAX или ТМАХ (строки 72, 73). Затем рассчитывается точное решение (строки 74—91) по формуле
МАХЕХ
TЕ(小1=100— £ [需先小山[(2m一1)m]L2…叫.
(3.42)
Это решение получено путем разделения переменных (см. • п. 2.5.2). Одновременно с помощью формулы
「/JMAX、11/2
RMS =&(Т/ 一 ТЕ/)2)ДМАХ](3.43)
рассчитывается среднеквадратичная ошибка^ При начальных условиях Т(х, 0)= 0 и граничных условиях Т(0, /)=7(1, /)= =100 выдача ЭВМ, задаваемая программой DIFF и соответствующая значению s = 0.5, демонстрируется на рис. 3.14 и показана графически на рис. 3.15.
.100Е+00.100Е+00JMAX= 11 НАХЕХ= 10 NMAX= 500 ТИАХ= 2999.00 S= .500 ALPH к .Ю0Е-04 DELT = .500Е+03 DELX =
.100Е+00
.100Е+00
Рис. 3.15. Решение уравнения (4.41) при s = 0.5; устойчивое поведение.Рис. 3.15. Решение уравнения (4.41) при s = 0.5; устойчивое поведение.
Рис. 3.15. Решение уравнения (4.41) при s = 0.5; устойчивое поведение.
Рис. 3.15. Решение уравнения (4.41) при s = 0.5; устойчивое поведение.
FTCS(EXPLICIT) SCKDME, S = .500
т=
5С0.
TD= 50.СО
25.00
.00
.00
.00
.00
.00
.00
.00
25.00 50.00
т«
1000.
TD=1CQ.O。
50.00
12.50
.00
.00
.00
.00
.00
12.50
50.00100.00
т=
1500.
TD=100.00
56.25
25.00
6.25
.00
.00
.00
6.25
25.00
56.25100.00
т=
2000.
TD-JOO.CO
62.50
31.25
12.50
3.13
.03
3.13
12.50
31.25
62.50100.00
т*
2500.
TD=100.00
65.63
37.50
17.19
6.25
3.13
6.25
17.19
37.50
65.63100.00
т=
3000.
TD=100.00
68.75
41.41
21.88
10.16
6.25
10.16
21.88
41.41
68.75100.00
А
3000.
ТБ«100.00
68.33
41.53
22.49
11.68
8.25
11.68
22.49
41.53
68.33100.QQ
RMS DIF =Л418Е+00
Рис. 3.14. Типичная выдача по программе DIFF; s = 0.5.
Значение s, используемое в программе DIFF, служит для задания шага по времени Af; значение шага по пространству Дх = 0.1. При уменьшении s уменьшается Af, что ведет к уменьшению среднеквадратичной ошибки решения. Последнее очевидно из результатов, показанных в табл. 3.7 для условий Т(0, 0)= Т(1, 0)= 50. Результат, получаемый при s = 0.167+ соответствует специальному случаю и будет подвергнут дальнейшему обсуждению в п. 4.1.2.
Если обратиться к строкам 50 и 51 программы DIFF (см. рис. 3.13), то увидим, что значения 7(0, 0) и Т(1, 0) получаются путем осреднения между тем, что задается начальными
Таблица 3.7. Среднеквадратичная ошибка при t = /щах
S
Среднеквадратичная ошибка Т (0, 0) = Г (1, 0)=50
Среднеквадратичная ошибка f (0, 0)=户(1, 0)=0
0.5
0.492
2.251
0.3
0.187
0.953
0.167
0.00169
0.440
условиями, и тем, что соответствует граничным условиям. Эффект задания Т(0,0) = Т(1,0) = 0 (т. е. в соответствии с начальными условиями) также демонстрируется в табл. 3.7. Очевидно, что такое задание приводит к_существенному увеличению ошибки решения. Если положить Г(0, 0) = 7(1, 0) = 100, то ошибка будет по своей величине аналогична той, которая получалась при Г(0, 0)= Т(1, 0) = 0.
Заключение
Как мы видели, дискретизация вносит некоторую ошибку, представление о которой можно получить, рассматривая ошибку аппроксимации по крайней мере для метода конечных разностей. По-видимому, ошибка аппроксимации становится все более точным критерием оценки ошибки решения по мере измельчения сетки (см. п. 4.1.2).
Выбор конкретных формул для представления производных может быть осуществлен путем последовательного исключения тех или иных членов в выражении для ошибки аппроксимации (см. п. 3.2.2). Однако такой подход нередко нуждается в модификации из-за необходимости выбирать некоторые коэффициенты так, чтобы полученный алгоритм был устойчивым (см. §4.3).
Как видно из конкретных примеров, рассмотренных в § 3.3 и 3.4, если точное решение содержит разрывы или очень большие градиенты, то маловероятно, чтобы формулы высокого порядка были существенно точнее формул низкого порядка. Кроме того, при представлении волнообразных движений решения с короткими волнами воспроизводятся менее точно, чем решения с длинными волнами.
Простая конечно-разностная программа DIFF, приводимая в тексте, позволяет проиллюстрировать многие характерные особенности метода конечных разностей. Как показано на конкретном примере, точность конечно-разностного решения уравнения диффузии весьма- чувствительна к тому, каким образом учитываются разрывы, связанные с формулировкой граничных
и начальных условий. Вычислительные решения уравнения диффузии, построенные при различных схемах с различными граничными условиями, обсуждаются в гл. 7.
Задачи
Аппроксимация производных (§ 3.2)
Воспользуйтесь методом аппроксимации общего вида (п. 3.2.2) для определения коэффициентов от а до d, входящих в формулу
r аТ. + ЬТ. + Х + СТ"? + */+з・
Какова ошибка аппроксимации, соответствующая данной формуле?
Трехслойная явная дискретизация членов уравнения dT/dt —— —а^Т/дх2 = 0 приводит к соотношению
0・5Т;т —2Т;+ 1.5/7+1
Г(l+d)(T/7-2T/ + Tj+y d(Ti_x-2T1 + Ti^ ]八
-。J =
Разложите каждый член этого соотношения в ряд Тейлора с целью ♦определения ошибки аппроксимации всего уравнения при произвольных значениях d.
Воспользуйтесь методом аппроксимации общего вида, чтобы выбрать d как функцию s и чтобы схема имела при этом четвертый порядок точности по Ах. При решении этой задачи будут полезными формулы, следующие -за (4.11).
Точность процесса дискретизации (§ 3.3)
Для случая у = sin пх/2 получите dy/dx при % = 0.5, выбирая Ах = =0.1 и используя формулы
X ~~ X ^_^也厶 а)(ь)⑹X ~~ X ^_^也厶 а)(ь)⑹y] + 1 一力一1
X ~~ X ^_^也厶 а)(ь)⑹
X ~~ X ^_^也厶 а)(ь)⑹
力+ 1 一力
-Лх,
У1-1 — 8力一2 + 8力+1
после чего сравните точность полученных результатов.
Повторите решение задачи 3.3 со значениями Лх = 0.05, 0.025, 0.0125 и определите, будет ли сходимость по изменению Ах согласовываться с формой главного члена в выражении для ошибки аппроксимации. Для решения этой задачи рекомендуется составить программу расчета на ЭВМ. Чтобы уловить ошибку, связанную с применением схемы (с), может потребоваться «счет с двойной точностью.
Для случая у = sin лх/2 получите d2y/dx2 при % = 0.5 со значениями А% = 0.1, 0.05, 0 025, 0.0125, используя формулы
d2y〜力-1 -2%・+力+1
dx2 ~ Aj^
4 d2y 〜一力一2 + 16力-] 一 30勿 + 16幻+]一力+2 dx2 ~'12Дх2
после чего сравните точность полученных результатов и определите соответствие сходимости с формой главного члена в выражении для ошибки аппроксимации Для решения этой задачи рекомендуется составить программу расчета на ЭВМ, при необходимости применяя счет с двойной точностью.
Представление волн (§ 3.4)
Для случая прогрессивной волны
Т (%, f) = cos [пг (х — gf)]
покажите, что использование аппроксимации dT/dt ^ (「;+〔 — T;)/Af эквивалентно применению формулы
дТдТ(-^■) sin (0.5mgAf) sin {m [% — g(-^■) sin (0.5mgAf) sin {m [% — gf+ А/~■2~f+ А/~■2~亦亦
дТ
дТ
(-^■) sin (0.5mgAf) sin {m [% — g
(-^■) sin (0.5mgAf) sin {m [% — g
f+ А/~■2~
f+ А/~■2~
亦
亦
тогда как использование аппроксимации dT/dt « (1.5Ту+1 — 2Ту -|- + O・5T;-1)/Af эквивалентно применению формулы
dt — А/dt — А/sin (0.5mgAf)(3 sin {m[% — g (~^~")]| —
dt — А/
dt — А/
-sin Jm[x-^(1^)]}).
Покажите, что в пределе sin(0.5m^A/) -> Q.bmq^t и cos(0.5m^AZ) -> 1.0 оба вышеприведенных выражения эквивалентны между собой. Кроме того, покажите, что в пределе 0.5гидА/-> 0 оба этих выражения совпадают с точной оценкой величины dT/dt.
Метод конечных разностей (§ 3.5)
Модифицируйте программу DIFF путем использования для внутренних точек нижеследующей симметричной пятиточечной схемы:
При j = 2 используйте формулу
a2T _ иг”1/12 —5乙/3 + 0・5「什1+ 々+2/3 — 4+3/12
дх2 ~'
а также эквивалентную этой формулу для / = JMAX——1.
Постройте решения для Лх = 0.1 при s = 0.3, 0.2, 0.1.
Какова точность решения в сравнении с точностью схемы ВВЦП?
Модифицируйте программу DIFF путем введения взамен схемы ВВЦП следующей схемы:
0.57;т - 2Т; + I.577+1 а (Т^^ 2Т; + 丁済) = °*
Для первого шага по времени используйте формулу с разностью вперед по времени, т. е. dT/dt ^ (T〃+i — Тп)/М.
Постройте решения для Дх = 0.1 при s = 0.5, 0.3, 0.1 и сравните их -с решениями, построенными с помощью схемы ВВЦП.
Проанализируйте изменение точности при уменьшении s и укажите, насколько оно совпало с вашими ожиданиями. [Подсказка: следует рассмотреть выражение для ошибки аппроксимации, соответствующее задаче 3.2.]
Глава 4
Теоретические основы
На практике те алгебраические уравнения, которые получаются в результате описанного в § 3.1 процесса дискретизации, формируются на сетке конечного размера. Исходя из выражений для ошибки усечения, данных в § 3.2 и 3.3, следует ожидать, что более точные решения могут быть получены на более мелких сетках. Этот аспект подвергается дальнейшему рассмотрению в § 4.4. Однако если считать требуемую точность решения заданной, то с точки зрения экономичности может оказаться выгоднее решать задачу на грубой сетке с помощью конечно-разностной схемы высокого порядка, чем применять схему низкого порядка на мелкой сетке. Эти соображения приводят к понятию вычислительной эффективности, изучаемому в § 4.5.
Важный вопрос, относящийся к вычислительным решениям^ состоит в том, до какой степени мы можем гарантировать, что вычислительное решение дифференциального уравнения (или уравнений) в частных производных будет близко к точному решению того же уравнения, а также при каких условиях это вычислительное решение совпадает с точным. Очевидный ответ на вторую часть этого вопроса состоит в том, что следует требовать, чтобы приближенное (вычислительное) решение сходилось к точному, по мере того как размеры элементов сетки А/ и Дх уменьшались до нуля (см. § 4.1). Однако сходимость очень трудно установить прямым путем, поэтому обычно используют обходной путь, такой, как на рис. 4.1. Этот обходной путь связан с требованием о том, чтобы система алгебраических уравнений, полученных в результате процесса дискретизации (см. § 3.1), была согласованной (см. § 4.2) с исходным дифференциальным уравнением (или уравнениями) в частных производных. Согласованность означает, что при помощи разложения в ряд Тейлора процесс дискретизации может быть обращен с целью восстановления исходного уравнения (уравнений). Кроме того, алгоритм, который служит для решения алгебраических уравнений и, таким образом, позволяет получить приближенное решение Т, должен быть устойчивым (см.
§ 4.3). В конце концов, чтобы судить о сходимости, привлекается псевдоуравнение
СОГЛАСОВАННОСТЬ + УСТОЙЧИВОСТЬ = СХОДИМОСТЬ. (4.1)
Условия, при которых утверждение (4.1) является точным, обеспечиваются теоремой Лакса об эквивалентности (см. п. 4.1.1).
Рис. 4.1. КонцептуальнаяРис. 4.1. Концептуальнаясвязь между согласованностью, устойчивостью и сходимостью.связь между согласованностью, устойчивостью и сходимостью.
Рис. 4.1. Концептуальная
Рис. 4.1. Концептуальная
связь между согласованностью, устойчивостью и сходимостью.
связь между согласованностью, устойчивостью и сходимостью.
Крайне трудно получить теоретическую рекомендацию по определению поведения решения на сетке конечного размера. Строго говоря, большинство полезных теоретических результатов применимо только в пределе, когда сетка сжимается до нулевых размеров. Однако взаимосвязи, установленные между сходимостью (§ 4.1), согласованностью (§ 4.2) и устойчивостью (§ 4.3), также являются качественно полезными при определении свойств вычислительных решений на сетках конечного размера.
Сходимость
Решение алгебраических уравнений (рис. 4.1), аппроксимирующих заданное дифференциальное уравнение в частных производных, называют сходящимся, если это приближенное решение приближается к точному решению дифференциального уравнения в частных производных для любого значения независимой переменной, по мере того как размеры ячеек сетки приближаются к нулю. Таким образом, мы требуем, чтобы Ту ->Г (%/, tn) при Ах->0, Д/->0.
Разность между точным решением дифференциального уравнения в частных производных и точным решением системы
алгебраических уравнений называется ошибкой решения и обозначается символом е;; таким образом,
成=亍(修,①一?7. (4.2>
Точное решение системы алгебраических уравнений является приближенным решением исходного дифференциального уравнения в частных производных. Решение системы алгебраических уравнений точное, если в процессе вычисления в него не внесено численных ошибок, например типа ошибок округления. Как правило, величина ошибки е; в (/, п)-м узле зависит от размеров ячеек сетки Ах и А/, а также от значений тех высших производных в данном узле, которые не были учтены при формулировке конечно-разностных аппроксимаций производных в рассматриваемом дифференциальном уравнении.
Доказательство того, что решение системы алгебраических уравнений сходится к решению дифференциального уравнения в частных производных, в общем случае очень затруднительно даже для простейших задач. Применительно к приближенному решению уравнения диффузии с использованием простого алгоритма ВВЦП в форме (3.41) доказательство сходимости при s & 1/2 дается в работе [Noye, 1984]. Крайне трудно установить сходимость в тех случаях, когда дифференциальное уравнение в частных производных сложнее, чем уравнение диффузии, а метод дискретизации не столь непосредствен.
Лишь немногие задачи гидроаэродинамики обладают точными решениями, а если таковых нет, то для вывода о сходимости следует строить вычислительные решения на последовательно измельчаемых сетках (см. п. 4.1.2).
Теорема Лакса об эквивалентности
Для некоторого ограниченного класса задач можно устанавливать сходимость, пользуясь теоремой Лакса об эквивалентности [Richtmyer, Morton, 1967]:
Если имеется корректно поставленная линейная задача с начальными условиями и конечно-разностная аппроксимация к этой задаче, удовлетворяющая условию согласованности, то устойчивость является необходимым и достаточным условием сходимости.
Несмотря на то что эта теорема сформулирована для конечно-разностной аппроксимации, она остается применимой и к любой процедуре дискретизации, приводящей к появлению узловых неизвестных, например к методу конечных элементов. Теорема Лакса об эквивалентности очень важна, так как дает возможность сравнительно легко установить устойчивость алго-
ритма и его согласованность с первоначальным дифференциальным уравнением в частных производных, тогда как обычно очень трудно установить сходимость получаемого приближенного решения к решению упомянутого дифференциального уравнения.
Большинство «реальных» задач гидроаэродинамики нелинейны и представляют собой краевые задачи или же смешанные задачи с граничными и начальными условиями, так что теорема Лакса об эквивалентности не всегда строго применима. Исходя из этого следует интерпретировать теорему Лакса об эквивалентности как обеспечивающую необходимые, но не всегда достаточные условия. «Уравнение» эквивалентности Лакса, представленное в форме (4.1), полезно для целей исключения несогласованных дискретизаций и неустойчивых алгоритмов.
4J.2. Численная сходимость
Применительно к тем уравнениям, которым подчиняется течение жидкости и газа, обычно невозможно теоретически продемонстрировать сходимость. Однако для задач, обладающих точными решениями, таких, как задачи, связанные с уравнением диффузии, можно получить серию численных решений на последовательно измельчаемых сетках и рассчитать ошибку решения. Сходимость означает, что ошибка решения должна уменьшаться до нуля по мере того, как размеры элементов сетки приближаются к нулю.
Решения, полученные для программы DIFF (см. рис. 3.13), были построены на последовательно измельчаемых пространственных сетках при Дх = 0.2, 0.1, 0.05 и 0.025. Соответствующие среднеквадратичные ошибки приведены в табл. 4.1 для s = 0.50 и 0.30. Как видно из таблицы, среднеквадратичная ошибка уменьшается примерно пропорционально Дх2. Основываясь на этих результатах, можно сделать вполне оправданный вывод о том, что измельчение сетки должно приводить к дальнейшему уменьшению среднеквадратичной ошибки и в
Таблица 4.1. Уменьшение среднеквадратичной ошибки решения при измельчении сетки
Среднеквадратичная ошибка
s=aA〃A%2
А%=0.2
△% = 0.1
Дх=0.05
Дх=0.025
0.50
1.658
0.492
0.121
0.030
0.30
0.590
0.187
0.048
0.012
пределе при А% (при фиксированном s), стремящемся к нулю* решение алгебраических уравнений должно сходиться к точпределе при А% (при фиксированном s), стремящемся к нулю* решение алгебраических уравнений должно сходиться к точРис. 4.2. Численная сходимость для метода ВВЦП.Рис. 4.2. Численная сходимость для метода ВВЦП.
пределе при А% (при фиксированном s), стремящемся к нулю* решение алгебраических уравнений должно сходиться к точ
пределе при А% (при фиксированном s), стремящемся к нулю* решение алгебраических уравнений должно сходиться к точ
Рис. 4.2. Численная сходимость для метода ВВЦП.
Рис. 4.2. Численная сходимость для метода ВВЦП.
ному решению.
Установление численной сходимости является довольно до
рогостоящим процессом, так как при этом обычно необходимо
использовать очень мелкие сетки. Учитывая, что в вышеупомя
нутом примере величина s сохраняется постоянной, при каж
дом уменьшении А% вдвое шаг по времени уменьшается в че-
тыре раза. Ошибка решения, приводимая в табл. 4.1, рассчитывается при / = 5000 с. Отсюда следует, что при s = 0.30 решение на самой мелкой сетке требует 266 шагов по времени,, прежде чем будет рассчитана ошибка решения.
Для уравнения диффузии (3.1) с нулевыми граничными значениями и начальным значением Т (х,0)= sin лх, 0 W % & L, среднеквадратичная ошибка решения |e|rms изображается графически на рис. 4.2 как функция размера ячейки Ах. Повышенная степень сходимости (сходимость
четвертого порядка) выявляется очень четко при s = 1/6 в сравнении с другими значениями s W 1/2 (сходимость второго порядка), т. е. степень
сходимости пропорциональна Ах4 при s = 1/6 и пропорциональна А/ в остальных случаях. Как это будет показано в § 4.2” улучшенная степень сходимости при s = 1/6 должна ожидаться на основании вида главного члена в выражении ошибки аппроксимации. Как правило, при достаточно малых размерах ячеек Дх и А/ ошибка решения будет уменьшаться подобно ошибке аппроксимации при Дх->0, Д/-> 0.
§ 42 Согласованность
Говорят, что система алгебраических уравнений, полученная в результате процесса дискретизации, согласуется с первоначальным дифференциальным уравнением в частных производных, если в пределе, когда размеры ячеек сетки стремятся к нулю, система алгебраических уравнений эквивалентна дифференциальному уравнению в частных производных в каждой из узловых точек сетки.
Ясно, что наличие согласованности необходимо, если приближенное решение должно сойтись к решению рассматриваемого нами дифференциального уравнения в частных производных. Однако это условие не является достаточным, так как даже если система алгебраических уравнений окажется эквивалентной дифференциальному уравнению в частных производных при стремлении к нулю размеров ячеек, отсюда не следует, что решение данной системы алгебраических уравнений будет стремиться к решению исходного дифференциального уравнения. Например, если в программе DIFF задать s > 1/2, то решение, использующее алгоритм ВВЦП по формуле (3.41), будет быстро расходиться.
Техника проверки на согласованность требует, чтобы точное решение было подставлено в полученные после дискретизации алгебраические уравнения с последующим разложением всех узловых значений в ряды Тейлора в окрестности единственной точки. Для наличия согласованности полученное выражение должно состоять из первоначального дифференциального уравнения в частных производных, сложенного с остаточным членом. Структура остаточного члена должна быть такой, чтобы он обращался в нуль при измельчении сетки.
В данном параграфе мы проанализируем схему ВВЦП (п. 4.2.1) и чисто неявную схему (п. 4.2.2) с тем, чтобы проверить, представляют ли они согласованные дискретизации уравнения диффузии (3.1).
Схема ВВЦП
Схема ВВЦП (3.41) использовалась нами в п. 3.5.2 для получения решения одномерного уравнения диффузии. Подстановка величины 7;, представляющей точное решение уравнения диффузии в (j, п)-м узле, в приближенное выражение Т; Дает
看+1 = sf;—i + (1 - 2s)7; + sf7+i. (4.3)
Нам необходимо определить, насколько близким является соответствие соотношения (4.3) уравнению диффузии (3.1) в (/, 〃)-м узле. Если каждый член соотношения (4.3) заменить разложениями в ряд Тейлора, построенными в (/, п)-м узле, то после некоторых упрощений получим
图;[書工+ *。' (4.4) где _ _
e7 = 0.5削[禁]-。(告)[累]+。(",Ad).(4.5)
Как нетрудно видеть, дифференциальное уравнение в частных производных (4.4) отличается от уравнения диффузии (3.1) наличием добавочных членов, входящих в выражение для величины Е/, называемой ошибкой аппроксимации. Происхождение этих_ добавочных членов связано с дискретизацией производных dT/dt и *Т]д野、выполненной соответственно по формулам (3.21) и (3.24).
Очевидно, что по мере того как размеры ячеек сетки становятся все меньше и меньше, ошибка аппроксимации Е; в некоторой фиксированной точке (%/, tn) будет стремиться к нулю. В пределе, когда Дх->0, Д/->0, алгоритм ВВЦП (3.41) становится эквивалентным уравнению диффузии. Это свойство и называется согласованностью.
В применении к алгоритму ВВЦП ошибка усечения в общем случае имеет порядок О (А/, Дх2). Однако если функция Т удовлетворяет уравнению диффузии (3.1), то она удовлетворяет и уравнению
Поэтому выражение для ошибки аппроксимации можно переписать в форме_,
Е; = 0・5а A%? (s —^ [ КЕ ] + О (aR Ах4).(4.7)
Если s = 1/6, то первый член правой части вышеприведенного выражения обращается в нуль и ошибка аппроксимации имеет порядок О(А/2, Дх4), или, что то же самое, при фиксированном 5, — порядок О(Дх4). В этом случае по мере уменьшения размеров ячеек ошибка аппроксимации устремляется к нулю быстрее, чем при любом другом значении s. Можно напомнить, что, как указывалось в п. 4.1.2, при s = 1/6 ошибка решения также приближается к нулю быстрее, чем при любом другом значении (рис. 4.2).
Из проведенных выше рассуждений ясно, что с помощью таких же алгебраических манипуляций можно сделать вывод о согласованности, а также о вероятной степени сходимости.
Чисто неявная схема
Здесь мы исследуем наличие согласованности при дискретизации по чисто неявной схеме (7.20), примененной к уравнению диффузии (3.1). Чисто неявная схема определяется соотношением
-sT隋 1 +(1+ 2s) Т产 一 sTVM =看・ (4.8)
Чтобы продемонстрировать согласованность, легче всего начать с эквивалентной формы представления соотношения (4.8), соответствующей точному решению,
(智寸一2窗+1 +歹抬)(智寸一2窗+1 +歹抬)=0.=0.(4.9)(4.9)
(智寸一2窗+1 +歹抬)
(智寸一2窗+1 +歹抬)
=0.
=0.
(4.9)
(4.9)
Во-первых, члены Т^\ и Т;*; разлагаются в ряд в окрестности (/, п + 1)-го узла и результат этого разложения подставляется в (4.9). Таким образом, получим
宅尹-a {窿炉+ (亲)篦,]广+
+ (磊)爲炉+…}=。・(4.10)
Во-вторых, члены T/+1 и [T%%];" и т. д., входящие в соотношение (4.10), разлагаются в окрестности (/, п)-го узла. Это дает результат
忆]:+ (0.5 4)[九];+ (号)[冗“ + ...一
—а [ГХх]у + & [7尢%〃; + (0.5 A/2) [Txxtt]^ + ・.• + ("^^)(【%】;+
+ &[九”];+ …)+(磊)([〃];+=0. (4.11)
В качестве следствий исходного уравнения получим
А = аТ%%, Т и = ^Тх11 А“ = аЗТ%б(4.12)
и используем тождество s = аА^/Дх2 или Ах2 = aAZ/s. На этом основании уравнение (4.11) приводится к виду
【冗一а&]; + Е; = 0,(4.13)
где ошибка усечения выражается формулой e:=_0.5*(1 +靑)[九];一
一(等)(1+亲+/1)[&];+一・,(4.14)
Очевидно, что если А/ стремится к нулю, то и £/ стремится к нулю, а уравнение (4.13) совпадет с исходным уравнением. Это означает, что соотношение (4.8) согласуется с исходным уравнением.
В выражении (4.14) все производные по пространству были преобразованы в эквивалентные им производные по времени. С помощью уравнений (4.12) можно выразить ошибку аппроксимации в зависимости только от пространственного размера ячейки сетки и от пространственных производных, как в выражении по формуле (4.7). Если сравнить формулу (4.14) с формулой (4.7), то ясно, что невозможно подобрать такое значение s, которое позволило бы уменьшить ошибку аппроксимации с использованием чисто неявной схемы до величины порядка О(А%4).
Из рассмотрения двух вышеприведенных примеров могло бы показаться, что согласованность обеспечивается автоматически. Однако попытки построения таких алгоритмов, которые были бы одновременно точными и устойчивыми, могут иногда приводить к потенциально несогласованным вариантам дискретизации, как это имеет место, например, со схемой Дюфорта — Франкела (см. п. 7.1.2).
§ 4.3. Устойчивость
Если при решении системы алгебраических уравнений (см. рис. 3.1 и 4.1) возникают некоторые неконтролируемые возмущения (наподобие ошибки округления), то такие возмуще
ния имеют тенденцию к затуханию. Устойчивое решение, полученное с использованием схемы ВВЦП при s = 0.5, показано на рис. 3.15. Типичный неустойчивый результат (s = 0.6) приведен на рис. 4.3. Оба этих результата были получены при Дх = 0.1 и тех же начальных и граничных условиях, которые использовались для графиков на рис. 3.15.
Из графика на рис. 4.3 видно, что на линии симметрии возникает колебание нефизического характера, которое распространяется затем в направлении границ. Амплитуда этого колебания со временем возрастает.
Понятие устойчивости связано с ростом или затуханием ошибок, вносимых в расчет на любом его этапе. В качестве пояснения отметим, что здесь речь идет не об ошибках, обусловленных логическими неточностями, а о тех ошибках, которые возникают вследствие неспособности компьютера дать ответы € бесконечным числом значащих цифр. Практически каждый расчет, выполняемый на ЭВМ, приводит к результату с конечным числом значащих цифр, что на каждом шаге этого расчета вносит некоторую ошибку округления. Следовательно, вычислительная реализация алгоритма (3.41)— это не Г/+1, a T/+I, т. е. численное решение системы алгебраических уравнений.
Конкретный метод считается устойчивым, если кумулятивный эффект всех ошибок округления, возникших в процессе применения данного алгоритма, является пренебрежимо малым. Говоря более определенно, рассмотрим ошибки
胃= (4.15)
вносимые в узловых точках (/, п), где / = 2, 3, ..., У — 1 и п = 0, 1, 2. Обычно крайне затруднительно определить точное значение численной ошибки g; в (/, п)-й узловой точке при наличии произвольного распределения ошибок в других узловых точках. Однако можно дать оценку этой ошибки, пользуясь некоторыми стандартными методами, часть из которых будет обсуждаться в данном параграфе. На практике численные решения оказываются, как правило, более точными, чем это определяется упомянутыми оценками, так как при анализе устойчивости нередко вводятся предположения о наихудших возможных сочетаниях индивидуальных ошибок. Например, можно предположить, что все ошибки имеют такое распределение знаков, что их суммарный эффект будет аддитивным, хотя на самом деле это не всегда так.
Применительно к линейным алгебраическим уравнениям, полученным в результате дискретизации, можно показать, что члены этих уравнений, характеризующие ошибку, удовлетворяют тем же самым однородным алгебраическим уравнениям, что и функция Т. Например, если используется схема ВВЦП, определяемая алгоритмом (3.41), то сказанное выше означает, что фактическое вычисление *Г/+1 осуществляется на основании данных о *T;_i, 'Т; и *7;+i, так что
*7产=s Ст*) +(1 — 2s) (*7?) + s (*7?+i)・ (4.16)
Вспоминая, что точное решение алгебраических уравнений Т; удовлетворяет уравнению (3.41), и пользуясь формулой (4.15),
8 К・ Флетчер, т. 1
с учетом (4.16) получим однородное алгебраическое уравнение &+| = s 也 + (1 — 2s)胃 + s&+】・ (4.17}
Если предположить, что заданы начальные и граничные значения, то все начальные ошибки 旣 j = 2, 3,…,J — 1, а также граничные ошибки 自:и 自;,% = 0, 1, 2, ..., в соответствии с уравнением (4.17) будут равны нулю. Если при расчете значения Т; в каком-то внутреннем узле не будут внесены те или иные ошибки округления, то и результирующие ошибки решения останутся равными нулю.
Двумя наиболее общеупотребительными методами анализа устойчивости являются матричный метод и метод Неймана^ В основе обоих методов лежит возможность предсказания, будет ли иметь место рост ошибки как разности между истинным решением численного алгоритма и фактически вычисляемым решением, т. е. разности, учитывающей погрешности округления.
Альтернативный вариант анализа устойчивости связан с предположением о том, что начальные условия представляются с помощью рядов Фурье. Каждая гармоника, или мода, ряда Фурье будет возрастать или затухать в зависимости от вида дискретизированного уравнения, которое, как правило, сама порождает конкретную форму выражения для показателя роста (или затухания) соответствующей моды. Если данная мода может неограниченно возрастать, то дискретизированное уравнение имеет неустойчивое решение. Эта интерпретация понятия устойчивости [Richtmyer, Morton, 1967] непосредственно используется в методе анализа устойчивости, предложенном Нейманом (см. п. 4.3.4 и 4.3.5). Неограниченный рост некоторой конкретной моды остается возможным, даже если дискретизированные уравнения решаются точно, т. е. если ошибки округления отсутствуют. Если же ошибки округления будут внесены, то сама неустойчивая природа дискретизированных уравнений будет вызывать неприемлемый рост ошибок. Следовательно, методика анализа устойчивости дискретизированных уравнений будет оставаться одной и той же независимо от проявления присущей им устойчивости или неустойчивости.
/. Матричный метод: схема ВВЦП
Данный метод состоит в том, что система уравнений, определяющих распространение ошибки представляется в матричной форме, после чего мы анализируем собственные значения соответствующей матрицы. Для начала этот метод будет про-
иллюстрирован на примере схемы ВВЦП, реализуемой согласно (3.41).
Подставляя в (4.17) значения / = 2, 3, ..., J—1 и замечая, что на границах ошибки равны нулю, т. е. что при всех п будет 自:=自;=0, получим
藏+i = (l-2s)段+ s踹
E*i = sg + (1—2s)费+ s©
&+i=sEH + (l-2s)g + s^+i, 界;=s*2 + (1—2s)0i.
В матричной форме это можно записать как
= А『п = 0, 1, ... ,(4.19)
где A — квадратная матрица порядка 7 — 2, а &" ——вектор длины / — 2; то и другое определяются выражениями
~(1 — 2s) ss (l-2s)s~(1 — 2s) ss (l-2s)sss,丁 =,丁 =
~(1 — 2s) s
s (l-2s)
s
~(1 — 2s) s
s (l-2s)
s
s
s
,丁 =
,丁 =
s (l-2s)
Можно показать, что при увеличении п ошибки 自"остаются ограниченными, если все собственные значения 厶俏 матрицы А различны и имеют абсолютные значения, меньшие или равные единице; иначе говоря, если
I 九俏 I & 1 для любых А. (4.20)
Далее формула (9.48) позволяет найти собственные значения трехдиагональной матрицы А в виде
^=l-4ssin2(27^Iy), m=l, 2,Z-2. (4.21)
Условие устойчивости (4.20) позволяет использовать только такие значения s, которые удовлетворяют двойному неравенству
-1 & 1 - 4s sid (у^у) & 1.(4.22)
Правая часть этого неравенства удовлетворяется при всех т и s, тогда как для выполнения его левой части необходимо, чтобы было
а это справедливо для всех т, если s W 1/2. Поэтому алгоритм ВВЦП является устойчивым, если s《1/2.
Форма матричного уравнения (4.19) остается той же самой, если в формулах (4.18) будет фигурировать не вычислительная ошибка, а само решение. Следовательно, матричному методу можно дать и другую интерпретацию как методу, исследующему рост индивидуальных мод в представлении начальных условий с помощью ряда Фурье.
Как будет указано в п. 4.3.3, изменение характера граничных условий при х = 0 и/или х = 1 приводит лишь к незначительной модификации метода.
4.32 Матричный метод: двухслойная схема общего вида
В данном пункте мы покажем, как работает матричный метод в случае двухслойной схемы общего вида, примененной к уравнению диффузии. Эта схема, данная в форме (7.24), имеет вид
行+;邛 一 ма产—а (1 — В) ££Г; = 0,(4.23>
где LXXTI = (Ty_j — 2Tj + 7/+i)/A%2.
В уравнении (4.23) величина а — коэффициент тепловой диффузии, тогда как параметр 0 контролирует степень неявности (см. § 7.2). Численная ошибка (4.15) определяется уравнением, эквивалентным (4.23). Это уравнение записывается в форме
—s* + (1+ 2sB)自产 一 s峭=s (1 — В)岁-+
+ [1 一 2s (1 — P)]胃 + s (1 — В)孤i・(4.24)
Уравнение (4.24) пригодно для внутренних узлов. При наличии граничных условий Дирихле уравнения в концевых точках не требуются. Если уравнение (4.24) повторить для всех узловых точек, где j = 2, 3, ..., J—1, то в матричной форме можно написать
АГ+1 = ВГ,(4.25)
где
-1 十 2S0- S0"
—s0 1 + 2sB — sBA = ,
—s§ 1 + 2sB — s§
一一sp l+2sp_
-l-2s(l-B) s(l—B)-
s(i-B) l-2s(l-B) s(l-B) В
s(l-B) l-2s(l-B) s(l -B)
一s(l-B) l—2s(l—B)_
Алгоритм (4.23) остается устойчивым, если величины собственных значений матрицы А-1 В не превышают единицы. С учетом структуры матриц А и В это эквивалентно ограничению
l(“)m/3AJ《l・0・(4.26>
Принимая во внимание симметричный трехдиагональный характер матриц А и В, можно получить аналитические выражения для собственных значений [Mitchell, Griffiths, 1980]
九а = 1 + 2sB — 2sBcos О j) = •
= l+4sp sin2( 2(2i『),
Лв=1 -2s(l -p)+ 2s(l -p)cos =
=1—4s(l—msidj^^).
Следовательно, условие устойчивости имеет вид
I l-4s(l-B)sin2[加/2(/ — 1)] I у [° 丄—I ―l+4sB sin2[jji/2 (/ —1)]~ I A ,
причем
ST = 1при sin (o J: i)) = 0,
ST = I * 1 + 4s₽ ₽)I ^ 1 при sin(2(/+i)) = l,
т. e. необходимо, чтобы 1 — 4s (1 — 0)V 1 + 4sp, что удовлетворяется, и чтобы 1 — 4s (1 — В)力一1 — 4s0, иначе говоря» чтобы 2>4s(l — 2р), или s 0.5/(1—2р), если 0 V 0.5.
Следовательно, если 0 V 0.5, то для устойчивости требуется, чтобы s 0.5/ (1—20). Если р 0.5, то алгоритм (4.23) является безусловно устойчивым. Весьма желательное свойство безусловной устойчивости будет подробнее обсуждаться в § 7.2.
4.33 Матричный метод: граничные условиядля производных
Матричный метод может применяться и тогда, когда граничные условия имеют форму Неймана, т. е. когда они формулируются для производных. Предположим, что
= 6 при х = 0.(4.27)
Это условие можно реализовать путем введения фиктивной точки То, такой, что
[黑 = или = —
Если это соотношение использовать для функции распределения ошибок, то в сочетании ,с (4.24) такой прием даст следующее соотношение, центрируемое в узле с номером 1:
<1 + 2sp)自;+1 — 2s优广 I = [1 一 2s (1 — В)]自;+ 2s (1 — В)啓一2s6 Дх.
(4.28)
Следовательно, если рассмотреть все подобные уравнения, то
А^+1 = в¥ + С,(4.29)
где
-1 + 2s0
—sB
-2s0
1 + 2sp - s0
А
С =
В =
-sB 1 + 2sB
一一s0
一1 — 2s(l —B) 2s(l —B)
s(l-p) l-2s(l—B)
—sB
l + 2sB_
s(l — B)
--2s6 AL0000
s(l-p) l-2s(l-B) s(l-B)
s(l-B) l-2s(l —队
Как и прежде, для обеспечения устойчивости требуется, чтобы 1("-в)М&1・0・
В общем случае, когда нельзя получить явных формул для собственных значений матрицы А-】В, (4.29) удобно переписать в виде
^+1 = ОГ +А-1С,(4.30)、
где D = A〔В.
Максимальные собственные значения матрицы D можно найти, пользуясь степенным методом [Carnahan et al., 1969]. Это потребует расчетов по формуле
XX = DX7(4.31>
повторяемых до тех пор, пока X〃+i не совпадет с X". Если сходимость достигнута, то X"+i является собственным вектором, соответствующим максимальному собственному значению,, которое определяется максимальным элементом вектора X"+L Обычно на каждой итерации масштаб подбирается так, чтобы максимальный элемент вектора X九 равнялся единице. Стартовое значение Х° выбирается произвольно. Карнаган, Лютер и Уилкс предлагают программу такого расчета и обсуждают возможные трудности, связанные с применением метода.
Применительно к двухслойной схеме общего вида (4.23) максимальные собственные значения матрицы D = А-1 В для граничных условий Дирихле и Неймана, поставленных в точке х = 0, приводятся в табл. 4.2 для некоторого набора значений В и s. Эти результаты были получены с помощью степенного
Таблица 4・2・ Данные о численной устойчивости для двухслойной схемы общего вида
Граничные условия
Дирихле при % = 0
Граничные условия
Неймана при х=0
Максимальные собственные
Максимальные собственные
Вs
значения
значения
0.000.50
0.9660
0.9899
0.51
-1.0053
— 1.0289
0.52
— 1.0446
-1.0686
0.301.20
-0.9534
0.9753
1.30
-1.0161
-1.0273
0.601.20
0.9221
0.9742
1.30
0.9159
0.9721
метода. В случае граничного условия Дирихле в точке % = 0 результаты согласуются с требованием
s&y^/",если р <0.5,
юбеспечивающим устойчивость (Атах W 1). Ясно, что необходимость выполнения граничного условия Неймана (4.27) несколько уменьшает устойчивость схемы при одинаковых значениях р и s.
Метод Неймана: схема ВВЦП
При определении критериев устойчивости наиболее общепринятым является метод Неймана, так как в общем случае его легче всего применять и так как он самый непосредственный и надежный. К сожалению, однако, этот метод можно применять только для установления необходимого и достаточного условия для линейных задач с начальными условиями и постоянными коэффициентами.
Как правило, практические задачи охватывают и переменные коэффициенты, и различного рода нелинейности, и усложненные варианты граничных условий. А если что-то из этого имеет место, то метод может применяться только локально и при замораживании нелинейных членов. Для такой более общей ситуации метод Неймана обеспечивает необходимые, но не всегда достаточные условия устойчивости. Строго говоря, метод применим только для внутренних точек. Однако метод Неймана может дать эвристическую информацию о том, как влияют граничные условия для производных на численную устойчивость, если этот метод применять по отдельности к тем алгоритмам, которые используются на границах [Trapp, Ramshaw, 1976].
Метод Неймана состоит в том, что ошибки, распределенные вдоль линий сетки на одном временном слое, разлагаются в конечный ряд Фурье. После этого устойчивость или неустойчивость вычислительного алгоритма определяется в зависимости от того, будут ли отдельные компоненты Фурье для распределения ошибок затухать или возрастать при переходе на следующий временной слой. Итак, вектор начальной ошибки выражается с помощью конечного комплексного ряда Фурье, •так что в точке х; ошибка определяется формулой
吕=£ а宀,j = 2, 3, J-l, (4.32)
где,=(—I)"? и 0m = тлДх. Ряд Фурье (4.32) по виду совпадает с тем, что было в выражении (3.30), если не считать того,, что здесь распределение ошибок на интересующем нас интервале 0 & % W 1 предполагается периодическим. Если учесть линейность вычислительного алгоритма, достаточно изучить распространение ошибки, обусловленное единственным членом exp (iQmj) представления с помощью ряда Фурье согласно формуле (4.32). Поэтому в дальнейшем обозначение 8俏 мы будем писать без индекса т.
С учетом вида начального распределения ошибок решение- «ошибочного» уравнения (4.17), соответствующего схеме ВВЦП, ищется по методу разделения переменных в форме
e = (G)%”(4.33>
причем в данной формуле зависимость данной компоненты Фурье от времени включается в комплексный коэффициент верхний индекс в символе которого подразумевает, что величина G возведена в степень п. Подстановка выражения (4.33) в уравнение (4.17) позволяет получить уравнение
(G)“+i /Е = s (G)“产+ (1 - 2s) (G)“ е^ + s (G)%"°(/+1).
После некоторых алгебраических манипуляций получим
G=1—4ssin2(e/2).(4.34》
Величину G можно рассматривать как коэффициент усиления моды Фурье с индексом т для распределения ошибок, соответствующий продвижению на один шаг вперед по времени;, это подтверждается тем, что, как следует из (4.33),,
胃”/皆=G.(4.35>
Можно отметить, что G является функцией s и 0. Иначе говоря, G(s, 0) зависит от размера элементов сетки, а также от того, какая именно мода Фурье рассматривается, поскольку s = аД//Дх2 и 0 = тлЛх. Ошибки будут оставаться ограниченными, если абсолютная величина G, называемая также избытком, никогда не будет превышать единицу ни для каких мод Фурье 0. Таким образом, общее требование устойчивости сводится к условию
|G|&1 при любых 0.(4.36)
Как следует из (4.34), требование устойчивости для схемы ВВЦП гласит, что
—1 & 1 — 4s sin2 (0/2) & 1 при любых 0,(4.37)
что справедливо, если s & 1/2. Этот результат совпадает с результатом, установленным с помощью матричного метода.
Метод Неймана: двухслойная схема общего вида
Здесь мы покажем, как проводится анализ устойчивости по Нейману применительно к неявной двухслойной схеме общего вида (7.24). Ошибки округления, связанные с использованием этой схемы, распространяются в соответствии с тем же уравнением
鼻U — ap£xxg/ + 1 一 а (1 — В)厶阖=0,(4.38)
тде
了七一务一1 -2畐+/+1
-др
и а — коэффициент тепловой диффузии, a 0 — параметр, контролирующий степень неявности.
Для анализа устойчивости методом Неймана введем ряд Фурье (4.32), определяющий ошибку 占 как разность между истинным численным решением и численным решением, искаженным за счет ошибок округления; эта величина 自 определяется формулой (4.15). Поскольку уравнение (4.38) линейно, 出 выражение для &; вводится единственная компонента Фурье, так что
符=(G)%®,(4.39)
где t=(—1)1/2, а / — номер узла сетки. С помощью подстановки получим
Lxx^=(G)neiQU~i}-2(G)neiQf+ (G)neiQ{i^
/6/ 2 (cos е — 1)
=(G) е —др— •
В результате уравнение (4.38) принимает вид
(G尸+i;;(G)九四—оф (G)z 認/ 2(coJD +
+ a (1 — В) (G)5 2(噥-1)= о.
Деление всех членов на (G)Ve/ дает
G — 1 a₽G [2 cos G-1)]丄 a(l —§)[2 (cosB — l)] , °
.или
(4.40)(4.40)八 1—4s(l—B)sin2(8/2)
(4.40)
(4.40)
~1 + 4sB Sin2 (8/2)•
Устойчивость имеет место, если |G| W 1 при любом значении 9. Для предельных значений получаем
G = 1 при sin (0/2) = О,
G = [1 — 4s (1 — P)]/[1 + 4s0] при sin (0/2) = 1.
Если G & 1, то 1 — 4s (1 — В) & 1 + 4sB или s > 0.
Если G > — 1, то 1 — 4s (1 — В)》一1 — 4sB или s & 0.5/( 1 — 2p).
Вышеуказанные ограничения согласуются с теми результатами, которые приводятся в п. 4.3.2 и 7.2.2. Если рассматриваются более сложные уравнения, то может оказаться необходимым: определить устойчивость при помощи формулы, эквивалентной (4.40), в некотором диапазоне значений 0, р, s и т. д. Зачастую это проводится численно.
Если исследуются алгоритмы, имеющие дело с тремя слоями по времени, т. е. такие, как в п. 7.2.3, то для установления ограничений, обусловливающих устойчивость, следует решить квадратное уравнение для G. Для большинства проблем гидроаэродинамики необходимо рассматривать систему определяющих уравнений. В этом случае вместо коэффициента усиления G анализ устойчивости по Нейману приводит к матрице усиления G. При этом соответствующее условие устойчивости имеет вид
丨九ан1《1・0 при любых т,(4.41)
где Ат — собственные значения матрицы G.
В данном параграфе всегда предполагалось, что первоначальная физическая задача устойчива. Однако может случиться и так, что подлежащие расчету течения являются физически неустойчивыми; такова, например, задача о переходе ламинарного течения в турбулентное. Для течений такого рода решение, возрастающее со временем, должно быть приемлемым. Чтобы получить возможность учета таких решений, мы должны потребовать, чтобы величины собственных значений при использовании матричного метода (п. 4.3.1) или коэффициента усиления при использовании метода Неймана (п. 4.3.4) были меньше, чем 1 + О (AZ). Это условие заменяет неравенства (4.20) и (4.36). Дальнейшее обсуждение этого вопроса можно найти в книге [Richtmyer, Morton, 1967].
Более полное обсуждение вопросов устойчивости дискретизированных уравнений имеется в книгах [Mitchell, Griffiths, 1980; Isaacson, Keller, 1966; Richtmyer, Morton, 1967], а также в книге Рихтмайера и Мортона. Согласно общему мнению, матричный метод определения устойчивости не столь надежен.
как метод Неймана. Причины такого утверждения обсуждаются в работах [Morton, 1980; Hindmarsh et al., 1984] в связи с исследованием одномерного уравнения переноса (9.56). Проблема устойчивости дискретизированных уравнений вблизи границ лежит за пределами охвата данной книги (см. [Sod, 1985, ch. 5]).
§ 4・4・ Точность решения
Строго говоря, проведенное выше обсуждение проблем сходимости, согласованности и устойчивости касалось поведения приближенного решения в пределе Дх->0, AZ-> 0. Однако на практике приближенные решения строятся на сетке конечных размеров и соответствующая точность имеет немаловажное значение.
При определении согласованности, проведенном в § 4.2, было получено явное выражение для ошибки аппроксимации. Применительно к точному решению дифференциального уравнения в частных производных можно дать оценку точности представления отдельных членов с производными, как это сделано в § 3.3. Совокупность таких членов, собранных вместе, дает представление о том, насколько хорошо алгебраическое уравнение согласуется с дифференциальным уравнением в частных производных. Как и следовало ожидать на основании изложенного в § 3.3, оценка главного члена в выражении ошибки аппроксимации для полного уравнения позволяет получить достаточную оценку ошибки.
Как указывалось в § 4.2, порядок величины ошибки аппроксимации, как правило, совпадает с порядком величины ошибки решения, если размеры ячеек сетки достаточно малы и если начальные и граничные условия являются достаточно гладкими. Как это нередко бывает, предполагаемое улучшение точности (через ошибку аппроксимации) с применением схем высокого порядка, по сравнению, скажем, со схемой второго порядка, не достигается вследствие недостаточной гладкости начальных условий, сформулированных для данной конкретной сетки. Измельчение сетки очень часто позволяет вместе с применением схемы высокого порядка получить и повышенную точность, однако абсолютный уровень этой точности оказывается таким, что он намного выше, а следовательно, и намного дороже, чем это необходимо. Так, для инженерных целей может требоваться точность в 1 %, если измерять ее в среднеквадратичной ошибке. Схема четвертого порядка может продемонстрировать свое преимущество в точности над схемой второго порядка только при условии такого измельчения сетки, которое давало бы среднеквадратичную ошибку порядка 0.01 %. Пример по-
лобного же влияния негладкости начальных данных на точность приводится в работе [Fletcher, 1983].
Для задач, описываемых гиперболическими дифференциальными уравнениями в частных производных, во внутренних частях расчетных областей могут создаваться разрывы, а это заметно ограничивает достижимую степень точности, если только возникающие разрывы не будут изолированы от остальной части области и если не ограничиться поиском локального решения.
Один из путей определения точности конкретного алгоритма на сетке конечных размеров состоит в том, чтобы применить этот алгоритм к решению родственной, но более простой задачи, имеющей точное решение. В этом отношении весьма полезным является уравнение Бюргерса (см. § 10.1), так как оно моделирует конвективный и диффузионный члены уравнения импульсов и так как его точные решения могут быть получены для многих комбинаций начальных и граничных условий. Однако сама точность, помимо прочего, зависит от формулировки задачи, и тот алгоритм, который был достаточно точным для модельной задачи, необязательно будет столь же точным для первоначальной (и более сложной) интересующей нас задачи.
Вторая методика оценки точности состоит в том, чтобы строить решения на последовательно измельчаемых сетках (исходя из предположения о наличии соответствующих вычислительных возможностей) и проверять, будет ли при таком последовательном измельчении решение изменяться в рамках заранее предопределенной степени точности. Тем самым предполагается, что в пределе, когда Af, Ах и т. д.-> 0, приближенное решение будет сходиться к точному и что приближенное решение на самой мелкой сетке может быть использовано взамен точного. Как правило, справедливость такого предположения невозможно гарантировать в применении к «реальным» задачам, а поэтому вычислительные решения полезно сравнить с надежными экспериментальными результатами (имеющими известную степень точности) для той же самой задачи. Например, можно воспользоваться данными о распределении давления на поверхности тела, чтобы проверить, насколько правдоподобным является решение на измельченной сетке. Обычно, однако, экспериментальные данные по данной конкретной проблеме и с достаточными подробностями оказываются недоступными в такой степени, чтобы позволить оценить глобальную среднеквадратичную ошибку.
Если предположить, что точность приближенного решения поддается оценке, то весьма важно рассмотреть и связанный
с этим вопрос о том, как улучшить достигнутую точность. В самом широком представлении ответ на этот вопрос может сводиться к тому, чтобы дать возможность выбора зависимых переменных, например вместо скорости и давления взять завихренность и функцию тока. В качестве альтернативного варианта может подойти возможность различного выбора независимых переменных. Например, использование полярных координат будет давать более точные решения задачи о течении в трубе, чем это было бы с декартовыми координатами при одинаковом числе узловых точек.
Можно ожидать, что в некоторых специальных случаях применение схем высокого порядка или использование мелких сеток могут привести к построению более точных решений. Однако введение таких мер вряд ли будет оправдано, если не принимать во внимание время исполнения и, следовательно, вычислительную эффективность (см. § 4.5). На данном этапе мы рассмотрим лишь один специальный прием, позволяющий улучшить точность решения — экстраполяцию по Ричардсону.
Экстраполяция по Ричардсону
Как уже указывалось ранее (см. п. 4.1.2), численную демонстрацию сходимости можно реализовать путем построения последовательности решений на все более мелких сетках. Ошибка решения на достаточно мелкой сетке уменьшается вместе с размером ячейки так же, как ошибка аппроксимации (см. табл. 4.1). Эта последняя особенность объясняет введение 3KCTpanOvinuHH по Ричардсону, используемой для улучшения точности решения на конечной (но мелкой) сетке. Основная идея состоит в том, чтобы сложить вместе взятые с соответствующими весами решения на последовательно измельчаемых сетках, сделав это так, чтобы свести к нулю главный "〃ен суммарной ошибки аппроксимации. Однако форма выражения ошибки аппроксимации связана с разложением в ряд Тейлора по степеням локального размера ячейки. Поэтому неудивительно обнаружить, что для эффективности экстраполяции по Ричардсону последнюю следует проводить на сравнительно мелкой сетке.
Рассмотрим два решения уравнения диффузии, полученные путем применения схемы ВВЦП с двумя вариантами шагов по х, а именно А%。и А%&, но при одном и том же значении s. Составное решение строится в виде
Тс = аГа + ЬТЬ1 (4.42) где а и b — коэффициенты, подлежащие определению. Разложение членов в схеме ВВЦП, примененной к функции Тс в ряд
Тейлора в окрестности (/, п)-го узла, дает
[学I - а[4Й/ +。瓦 1; + 6【旦];『°-(4・43)
где, в силу формулы (4.7), имеем
岡;=0.5а Дх^ (s -1) (4|) + О (Ах>
[J]; = 0.5а J (s-4)(#) +。(К).
Если А%ь = А%а/2, то1 главный член ошибки усечения для составной функции может быть сделан равным нулю при помощи формулы а + 0.25b = 0. Однако из (4.42) ясно, что 。+ b = 1. Поэтому а =——1/3 и b = 4/3, и, следовательно, составное решение Тс = (4/3)7\ — (1/3)北,как и следует ожидать, имеет ошибку решения порядка О(Дх4) на достаточно мелкой сетке. Некоторые характерные значения среднеквадратичной ошибки приводятся в табл. 4.3 при s = 0.5. Для наиболее мелких сеток ошибка убывает как О (Ах) Однако, несмотря на то что применение экстраполяции по Ричардсону приводит к повышению уровня точности на мелкой сетке, для грубых се- "ток имеет место обратная ситуация.
Таблица 4.3. Среднеквадратичные ошибки при экстраполяции по Ричардсону (RE)
Схема
A%=0.1
Дх = 0.05
Дх = 0.025
ВВЦП, s = 0.5
ВВЦП, s = 0.5, RE
ВВЦП, s= 1/6
0.4915
0.9744
0.0017
0.0869
0.0104
0.542 X Ю~4
0.0153
0.634 X Ю~3
0.339 X Ю~5
Схема ВВЦП обладает необычным свойством — она может обеспечить четвертый порядок точности без применения экстраполяции по Ричардсону, а лишь за счет специального выбора s = 1/6. Это не имеет места ни для чисто неявной схемы (7.19), ни для схемы Кранка ——Николсона (7.22), ни для каких-либо других схем. Однако для обеих упомянутых схем можно обеспечить четвертый порядок точности с помощью экстраполяции по Ричардсону. При выборе А%ь = А%а/2 соответствующее этому составное решение имеет форму
乙= (4/3) Ть-(1/3)几,(4・44)
уже упоминавшуюся выше.
В общем случае выбор коэффициентов а и b определяется тем, какую степень по А% имеет главный член в выражении ошибки усечения (после эквивалентной замены Af на А%), а также величиной отношения размеров ячейки А%а и А尤协 В результате получим
『7/[篇У-4『篇)7[篇)"一]•(4.45)
Если экстраполяцию по Ричардсону применить к какой-либо нестационарной задаче, например определяемой уравнением диффузии, то решения Ть и Та можно рассматривать как независимые решения, построенные на разных сетках в тот конечный момент времени, когда нам нужно рассчитать Тс. С учетом того обстоятельства, что экстраполяция по Ричардсону не воздействует на решение на промежуточных стадиях его построения, а лишь на окончательное решение, такой прием был назван пассивной экстраполяцией по Ричардсону [Dahlquist, Bjorck, 1974]. Если же после каждого шага по времени вычисляется величина Тс и это решение рассматривается как начальное, чтобы с его помощью рассчитать Та и Ть на следующем шаге по времени, то мы получим активную экстраполяцию по Ричардсону (см. только что цитированную книгу).
Весьма поучительно провести сравнение различных схем, перечисленных в табл. 4.3, с точки зрения времени исполнения решения (время центрального процессора). Для интегрирования, проводимого на конечном интервале времени, упомянутое время исполнения (execution time) может быть выражено как
—Дх Л/ — s Дх3 *
где k — коэффициент пропорциональности. В результате имеем
口 Тrn2.25a々口 1Tl6瀛
匕 1 s==0.5 =,匕丄 s=0.5, RE =…公?一,匕 1 s= 1/6 =厶戸•
Таким образом, можно видеть, что решение, соответствующее ETs=o.5, re при Дха = 0.1, А%ь = 0.05, оказывается на 50 % точнее, чем решение, соответствующее ETs=o.5 при Ах = 0.025, однако время его исполнения в семь раз меньше. Далее, решение, соответствующее ETs=i/6 при Ах = 0.05, примерно в двенадцать раз точнее решения, соответствующего ETs=o.5, re при Am = 0.025, при времени исполнения, в три раза меньшем. Ясно, что использование экстраполяции по Ричардсону эффективно, но в меньшей степени, чем в специальном случае
s = 1/6. Однако такие специальные случаи весьма редки, в особенности для более сложных уравнений и алгоритмов, чем схема ВВЦП, примененная к уравнению диффузии.
§ 4・5・ Вычислительная эффективность
Вопрос о том, какая точность может быть достигнута при заданном алгоритме решения, связана с вычислительной эффективностью этого конкретного алгоритма. Вычислительную эффективность можно определить как точность, достигаемую в расчете на единицу времени исполнения. Таким образом, алгоритм, при котором на грубой сетке достигается умеренная точность, а время исполнения мало, может оказаться столь же эффективным, как другой алгоритм, позволяющий получить высокую точность на мелкой сетке и требующий большего времени исполнения.
Вычислительная эффективность СЕ может определяться формулой
СЕ = М(еЕТ),
где е — ошибка приближенного решения, представленная в соответствующей норме (например, в среднеквадратичной), а ЕТ — время исполнения. Вычислительная эффективность — это полезный критерий, позволяющий выяснить целесообразность введения конечно-разноетных схем высокого порядка или же конечных элементов повышенного порядка.
Для большинства задач гидроаэродинамики применение схем высокого порядка (например, четвертого или выше) с конечными разностями или применение конечных элементов повышенного порядка (например, кубических или выше) не является оправданным с точки зрения повышенной вычислительной эффективности, особенно в отношении трехмерных задач. Однако во избежание чрезмерно большой численной диссипации и дисперсии (см. § 9.2) следует применять конечноразностные схемы как минимум второго порядка или же линейные элементы.
При разработке различных вычислительных схем предпочтительно сравнение по вычислительной эффективности, а не только по точности или только по экономичности. Если сравниваются вычислительные схемы, расчет по которым ведется на одном и том же компьютере, то время исполнения может измеряться непосредственно. Если нельзя установить время центрального процессора, то следует обратить внимание на режим работы компьютера. Кроме того, нужно либо исключить, либо оценить ту долю времени исполнения, которая тратится на считывание данных и на печать результатов.
9 К. Флетчер, т. 1
4.5.1. Оценка времени оперативного счета
В качестве альтернативы непосредственному замеру времени центрального процессора можно дать оценку времени оперативного счета, получаемую из распечатки расчета и из некоторых данных о сравнительном времени исполнения элементарных операций. Это может делаться на разных уровнях сложности. Как было установлено, нижеследующий подход дает вполне приемлемые оценки.
Первый шаг состоит в запуске программы, предназначенной для приближенного определения времени, затрачиваемого на операцию каждого типа. Типичная программа такого рода дается в приложении А.1 вместе с аналитическим описанием соответствующей процедуры. Главная цель этой программы состоит в определении относительного времени исполнения различных операций, поскольку такие времена могут варьироваться в широких пределах в зависимости от типа компьютера, операционной системы и компилятора. В табл. 4.4 приводятся относительные времена исполнения для типичных вариантов
Таблица 4.4. Относительные времена исполнения для основных операций
Операция
Микрокомпьютер (NEC-APCIV) !)
Супермикро- компьютер (Masscomp 5400) 2)
Полногабаритный компьютер (CYBER-720) 3)
Сложение (FL) 4)
1.0
1.0
1.0
Вычитание (FL)
1.0
1.0
1.0
Умножение (FL)
1.1
1.0
1.0
Деление (FL)
1.4
1.0
1.0
Присваивание (=)
0.1
0.6
0.5
Оператор IF
0.1
0.3
0.4
Сложение (FX)
0.05
0.5
0.5
Вычитание (FX)
0.05
0.5
0.5
Умножение (FX)
0.5
1.8
0.5
Деление (FX)
0.5
3.2
1.5
Степень
2.7
8.3
14.0
SQRT
2.0
1.2
15.0
SIN
10.0
0.8
39.0
EXP
28.0
1.5
25.0
1)Microsoft FORTRAN 77, действующий при MSDOS (8086/8087 процессор с плавающей запятой с ординарной точностью).
2)FORTRAN 77, неоптимизированный компилятор, действующий при UNIX (с ускорителем плавающей запятой).
3)FTN5, неоптимизированный компилятор, действующий при операционной системе.
4)FL —плавающая запятая.
микрокомпьютера, супермикрокомпьютера и полногабаритного компьютера, использующих язык Фортран.
Второй шаг состоит в том, чтобы идентифицировать важнейшие классы операций, вносящих вклады в суммарное время исполнения. Результаты, приводимые в табл. 4.4 для компьютера NEC-APC IV, могут быть распределены по следующим категориям операций, которые целесообразно выделить:
\|/ \)7 \|/\и/ \|/ • a b с d е д /к\ /(\ /(\/(\/(\\|/ \)7 \|/\и/ \|/ • a b с d е д /к\ /(\ /(\/(\/(\операции с плавающей запятой FL (floating point), операции с фиксированной запятой РХ (fixed point), присваивания, т. е. знаки равенства, R (replacements), логические операторы, т. е. IF, GOTO и т. д. (L), математические библиотечные функции, т. е. SIN, EXP (М).
\|/ \)7 \|/\и/ \|/ • a b с d е д /к\ /(\ /(\/(\/(\
\|/ \)7 \|/\и/ \|/ • a b с d е д /к\ /(\ /(\/(\/(\
Чтобы выразить время оперативного счета посредством единственного числа, следует каждой из перечисленных выше операций приписать некоторый относительный вес, так что, например, время оперативного счета можно измерять через эквиваленты операций с плавающей запятой. Характерное распределение весов для компьютера NEC-APC IV соответствовало бы формуле (основанной на данных табл. 4.4):
lFLeq = 20FX =10R=10L = 0.1M.
Для строк с 48 по 73 программы DIFF (см. п. 3.5.2), где следует исключить операторы WRITE, время оперативного счета (operation count) получается следующим:
ОРСТ = [3FL + 6FX + 5R + 2L + (N% — 2) (7FL+ 10FX+3R)] №, где N% — число шагов по х, a Nf — число шагов по f. Если N% = 11, то время оперативного счета одного шага по времени составляет ОРСТ = 74 FLeq. В процессе определения вышеуказанного времени оперативного счета для массива с индексами выделялась одна операция с фиксированной запятой для задания значения индекса.
Оценки времени оперативного счета особенно полезны для того, чтобы идентифицировать наименее экономичные части программы, а также чтобы проводить сравнительные оценки экономичности различных алгоритмов еще до составления и опробования программы. Вследствие различия особенностей быстродействия у различных компьютеров, а также усилий, требуемых для получения точных результатов, прикидки времени оперативного счета наиболее эффективны тогда, когда их используют для выяснения порядка величины различий во времени исполнения.
Заключение
Для тех уравнений, которым подчиняется движение жидкости или газа, невозможно дать прямое подтверждение сходимости. Однако обычно нетрудно показать, что дискретизированная форма уравнений является согласованной (см. § 4.2). Обычно удается также показать, что «линеаризованный» вариант исходных уравнений обладает устойчивостью (см. § 4.3), хотя обоснование этого может потребовать расчетов на ЭВМ. Как следствие приведенных выше утверждений, теорема Лакса об эквивалентности обеспечивает необходимое, но недостаточное условие сходимости. На практике для проверки устойчивости обычно требуется проведение численных расчетов.
Как матричный метод определения устойчивости, так и метод Неймана, строго говоря, применимы только к линейным уравнениям, хотя оба метода дают некоторую информацию, если нелинейность локально замораживается. Альтернативным является энергетический метод, который может непосредственно применяться к некоторым разновидностям нелинейных уравнений. Описание этого метода приводится в книге [Richt- myer, Morton, 1967].
Необходимо подчеркнуть, что реальные задачи гидроаэродинамики рассчитываются на конечных сетках и что те теоретические свойства, которые основываются на допущении об устремлении размера ячейки к нулю, могут оказаться нереализуемыми на конкретной сетке конечного размера. Эта проблема, по-видимому, в большей степени относится к схемам высокого порядка.
Разложение в ряд Тейлора, используемое для установления согласованности (см. § 4.2), важно также и для получения явного выражения ошибки аппроксимации. Если учесть тесную взаимосвязь между ошибкой аппроксимации и ошибкой решения, по крайней мере на мелкой сетке, то все, что делается для уменьшения ошибки аппроксимации, будет, по-видимому, уменьшать и ошибку решения. Это может навести на мысль о специальном выборе s (=аД^/Дх2), как делалось при применении схем ВВЦП, или о выборе такой комбинации решений, которая сводит к нулю главный член в выражении ошибки аппроксимации, как при экстраполяции по Ричардсону п. 4.4.1).
Для стационарных задач существует еще один прием, называемый методом отложенной коррекции [Smith, 1965]. При реализации этого метода рассчитывается предварительное решение, на основании которого оценивается главный член в выражении для ошибки аппроксимации. Затем этот член «добав-
ляется» к первоначальному дискретизированному уравнению в качестве члена с источником и строится улучшенное решение. В принципе это улучшенное решение может быть использовано для новой оценки главного члена ошибки аппроксимации и весь процесс может быть повторен заново. Обычно наилучшая вычислительная эффективность достигается с одним единственным улучшенным решением.
Обращение в нуль главного члена в выражении ошибки аппроксимации может быть использовано также при построении схем высокого порядка. После осуществления начальной дискретизации главный член соответствующей ошибки аппроксимации дискретизируется и «добавляется» к первоначальной схеме. Пример такого подхода приводится в п. 9.3.2.
Практические задачи гидроаэродинамики нередко требуют построения вычислительного решения в сложных трехмерных областях, где мы имеем дело с тысячами неизвестных узловых значений. Применительно к таким крупномасштабным задачам предварительное представление об относительной вычислительной эффективности конкурирующих численных схем чрезвычайно важно получить до того, как мы перейдем к основной части вычислительного исследования. В книге [Finlayson, 1980] приводятся оценки затрачиваемой работы и сравнительной точности для метода конечных разностей, метода конечных элементов и метода ортогональной коллокации (см. § 5.1), применяемых к решению обыкновенных дифференциальных уравнений, а также к решению дифференциальных уравнений в частных производных в одномерном и двумерном вариантах.
Задачи
Сходимость (§ 4.1)
Модифицируйте программу DIFF путем использования вместо схемы ВВЦП нижеследующей пятиточечной симметричной схемы. Для внутренних точек используйте аппроксимацию
爵 乂一 % Т/—2 + 刀一 1 — 2.5〃 + 告厶+i — . Г”?) / Дх2,
а для / = 2 примените формулу
務 ^ (% Ti-^TTi + °・5〃 + i + Т 厶+2 - 土 厶+з)/ М
н эквивалентную этой формулу для / = JMAX ——1. Это точно такая же модификация, какая требовалась для решения задачи 3.7.
Постройте решения при s = 0.3 для Дх = 0.2, 0.1 и 0.05.
Сравните степень уменьшения среднеквадратичной ошибки при убы« ваннн Лх с тем, что имело место для схемы ВВЦП (см. табл. 4.1).
Повторите задачу 4.1, заменяя схему ВВЦП в программе DIFF следующей схемой:
0・5Т;т — 2Т; + 1・5Т;+1 а(Т;_] — 2Т; + Т*'
Л?必=°*
Для расчета первого шага по времени используйте следующую формулу с- разностью по времени вперед:
дТ т 九+1 — т〃1Г^―д7—
Это те же модификации, которые требовались при решении задачи 3.8.
Согласованность (§ 4.2)
Подтвердите путем проверки, что схема, предложенная в задаче 4.1,. согласуется с исходным уравнением dT/dt ——ад2Т/дх2 = 0. Соответствует ли порядок ошибки аппроксимации той степени сходимости, которая была найдена при решении задачи 4.1? Рассмотрите как внутренние точки, так и точки (/ = 2, JMAX— 1), примыкающие к границе.
Проверьте согласованность схемы, предложенной в задаче 4.2. Является ли степень сходимости, найденная при решении задачи 4.2, соответствующей порядку ошибки аппроксимации?
Устойчивость (§ 4.3)
Примените анализ устойчивости по Нейману к определению пределов устойчивости схемы, предложенной в задаче 4.1, для:
внутренних точек,
точек, примыкающих к границе, j = 2 и JMAX— 1. Может оказаться удобным получить численную оценку выражения для амплитудного фактора I GI при варьируемых значениях 0 и s.
Примените анализ устойчивости по Нейману к определению пределов устойчивости схемы, предложенной в задаче 4.2. Это потребует решения квадратного уравнения относительно \G\.
Подтвердите правильность пределов устойчивости, найденных при* решении задач 4.5 и 4.6, путем построения численных решений для «неустойчивых» значений s.
Исследуйте устойчивость дискретизации уравнения dT/dt —— —• a。277dx2 = 0, основанной на представлении с разностью вперед для dT/dt и на формуле, предложенной в задаче 3.1 для д2Т/дх2.
Примените матричный метод к схеме, предложенной в задаче 4.1, и определите пределы устойчивости путем численного расчета собственных значений. Сравните результаты с теми, которые были получены при решении задачи 4.5. Как изменятся пределы устойчивости, если одно из условий Дирихле для функции Т заменить граничным условием Неймана?
Точность решения (§ 4.4)
Для схемы, рассмотренной в задаче 4.1, постройте алгоритм с экстраполяцией по Ричардсону, обращающий в нуль главный член выражения для ошибки аппроксимации. Определите численно, является ли эта схема более точной и может ли быть достигнуто теоретическое значение степени сходимости.
Для схемы, рассмотренной в задаче 4.2, постройте алгоритм с экстраполяцией по Ричардсону и сравните соответствующие численные решения с теми, которые были получены при решении задач 4.1 и 4.2.
Вычислительная эффективность (§ 4.5)
Для схемы, предложенной в задаче 4.10, определите время оперативного счета и сравните с тем временем, которое соответствует схеме ВВЦП, если с применением обеих схем достигается одинаковая точность.
Для схемы, предложенной в задаче 4.11, определите время оперативного счета и сравните с
временем счета для схемы ВВЦП, если обе схемы дают одинаковую точность,
временем счета для схемы ВВЦП с экстраполяцией по Ричардсону.
Попытайтесь установить, какая из схем, рассмотренных в данной главе, является «наилучшей», если принять во внимание вычислительную эффективность, ограничения на устойчивость и простоту составления программы.
Глава 5
Методы взвешенных невязок
Методы взвешенных невязок (МВН) концептуально отличаются от метода конечных разностей тем, что МВН исходят из предположения о возможности аналитического представления решения. Например, для построения решения уравнения диффузии (3.1) можно допустить представление приближенного решения в следующем виде:
「=£%(/)%"), (5.1)
7=1
где а; (/)—неизвестные коэффициенты, а 力/(%)—известные аналитические функции. Функции 力/(%) часто называют пробными функциями, а решение в форме (5.1)—пробным решением. За счет принудительно навязываемого характера аналитической формы решения в виде (5.1) вносится некоторая ошибка, если только индекс J не делается произвольно большим. При этом можно напомнить, что метод конечных разностей определяет решение только в узких точках.
В § 5.1 дается информация о различных методах взвешенных невязок. Далее, в п. 5.1.1 некоторые из этих МВН применяются к решению простого обыкновенного дифференциального уравнения, имея в виду обеспечить приемлемую базу для сравнения. Метод конечных объемов, описываемый в § 5.2, тесно связан с методом подобластей (см. § 5.1). Однако по форме представления дискретизации метод конечных объемов напоминает метод конечных разностей. Конкретные трудности применения метода конечных объемов при наличии вторых производных перечисляются в п. 5.2.2, а в п. 5.2.3 приводится программа для расчета под названием FIVOL, предназначенная для решения уравнения Лапласа в области, имеющей неправильную форму.
В данной главе как метод конечных элементов, так и спектральные методы развиваются на основе метода Галёрки- на, который сам принадлежит к классу методов взвешенных невязок. Описание метода конечных элементов и спектральных.
методов реализуется в первую очередь через посредство специально разработанных примеров, позволяющих понять технику применения этих методов. Указанные примеры продемонстрируют также, по крайней мере в отношении метода конечных элементов, наличие связи с некоторыми из конечно-разностных методов, рассматриваемых к гл. 7—10. Более подробное обсуждение метода конечных элементов и спектральных методов дается Флетчером в книге [Fletc/ier, 1984].
В § 5.3—5.5 рассматривается метод - конечных элементов. Вначале демонстрируется возрастающая точность линейной и квадратичной интерполяций в одномерном и двумерном случаях, реализуемая при измельчении сетки. Характерные примеры применения метода конечных элементов приводятся в § 5.4 и 5.5. Эти примеры включают программы расчетов под названиями STURM для задачи Штурма — Лиувилля (см. п. 5.4.2) и DUCT для задачи о течении вязкой жидкости в канале прямоугольного сечения (см. п. 5.5.2). Характерное свойство метода конечных элементов связано с легкостью его приспособления к рассмотрению вычислительных областей неправильной формы; применение с этой целью изопараметрических элементов рассматривается в п. 5.5.3.
Спектральный метод излагается в п. 5.6.1 в применении к уравнению диффузии, где непосредственно используются граничные условия Дирихле. В п. 5.6.2 обсуждаются трудности использования граничного условия Неймана при применении спектрального метода и отмечается возможность более общей формулировки. Тесно связанный с этим псевдоспектральный метод описывается в п. 5.6.3.
Общая формулировка
Многие вычислительные методы можно рассматривать как методы взвешенных невязок (МВН). Достаточно полное описание МВН и их приложения вплоть до 1972 г. можно найти в книге [Finlayson, 1972]. Наше изложение рассчитано на то, чтобы показать взаимосвязь методов конечных элементов, конечных объемов и спектральных методов.
Исходной точкой для любого МВН является задание некоторого приближенного решения. Представление (5.1) может быть несколько расширено, если написать
Т (%, у,爲 /) = Г。(х, у,爲 /) + ?//«)勿(爲 У, 2), (5・2) где функция То (%, у, z, f) выбирается так, чтобы удовлетворялись, причем по возможности точно, граничные и начальные
условия. Аппроксимирующие (пробные) функции 科(居 у, г) предполагаются известными. В случае пространственной одномерности роль аппроксимирующих функций могут играть полиномы или тригонометрические функции, как, например,
%(х) = %/т или ^>у (х)= sin улх.
Коэффициенты a; (Z) заранее неизвестны и их следует определять путем решения системы уравнений, получаемых из исходного уравнения. При решении задач с зависимостью от времени система обыкновенных дифференциальных уравнений (по времени) будет разрешаться относительно a,(f); для стационарных задач будет решаться система алгебраических уравнений.
Предполагается, что исходное уравнение, например уравнение теплопроводности, можно записать в виде
厶(Т)=祭—。4^ = °, (5・3)
где чертой сверху обозначается точное решение. Если приближенное решение (5.2) подставить в уравнение (5.3), то последнее не будет тождественно удовлетворяться. Следовательно, мы можем написать
厶(7) = R, (5・4)
где величина R будет называться в дальнейшем невязкой уравнения. В общем случае R является непрерывной функцией %» у, z н /・ Если параметр J сделать достаточно большим, то коэффициенты a“f) можно выбрать таким образом, чтобы функция R оставалась малой во всей вычислительной области.
С целью определения коэффициентов a“f) потребуем, чтобы интеграл взвешенной невязки по всей вычислительной области был равен нулю, т. е. чтобы выполнялось условие
V \ 旷俏(”,弘力 R dx dy dz = 0. (5.5)
Если положить m = 1, ..., M, то получится система уравнений для определения aj. Для рассматриваемого здесь нестационарного случая это будет система обыкновенных дифференциальных уравнений. В стационарном случае получается система алгебраических уравнений.
Можно отметить, что уравнение (5.5) находится в тесной связи со слабой формой исходного уравнения, т. е. с уравнением
(5.6)(5.6)\ U 步m (爲 4, %) L (力 dx dy dz = 0,
(5.6)
(5.6)
допускающим появление разрывов в точном решении [Lax, Wendroff, 1960].
Различные варианты выбора весовой (поверочной) функции Wm в уравнении (5.5) приводят к построению различных методов, принадлежащих к классу методов взвешенных невязок. Охарактеризуем кратко некоторые из этих методов.
Метод подобластей. Вычислительная область разделяется на М подобластей Dm, могущих перекрывать друг друга, причем полагают
—[1 внутри области С®
m I 0 вне области Dm.'
Метод подобластей совпадает с методом конечных объемов (см. § 5.2) по способу решения уравнения (5.5). Уравнение (5.5) в сочетании с условиями (5.7) обеспечивает необходимую основу для выполнения законов сохранения на уровне дискретизированного уравнения. Тем самым гарантируется реализация тех свойств сохранения, которые присущи исходным уравнениям. Это преимущество особенно важно при построении достаточно точных решений, описывающих внутренние течения или течения с ударными волнами.
Метод коллокации.
呼/н (х) = 6 (х - xj,呼/н (х) = 6 (х - xj,(5.8)(5.8)
呼/н (х) = 6 (х - xj,
呼/н (х) = 6 (х - xj,
(5.8)
(5.8)
где 6 — дельта-функция Дирака и х = (х, у, 2). Как показывает подстановка (5.8) в уравнение (5.5), для метода коллокаций характерно, что полагают R(Xm) = 0. Следовательно, конечноразностные методы являются, по существу, методами коллокаций без использования приближенного решения.
Особенно эффективной разновидностью данного метода является метод ортогональных коллокаций [Finlayson, 1980]. Этот метод основан на том, что аппроксимирующие функции в представлении (5.2) выбираются из числа ортогональных полиномов, а неизвестными в (5.2) служат узловые значения (величины Т). Точки коллокаций выбираются из числа корней ортогональных полиномов, являющихся аппроксимирующими функциями.
Метод наименьших квадратов.
吗Т・ (59
Принятие выражения (5.9) эквивалентно тому, чтобы выполнялось требование:
ВеличинаВеличина\ \ , R2 dл: dy dz является наименьшей.
Величина
Величина
Метод Галер кина.
(5.10>(5.10>吗",У, 2) = ^(%, //, г),
(5.10>
(5.10>
т. е. весовые функции выбираются из того же семейства, что и аппроксимирующие (пробные) функции. Если аппроксимирующие функции составляют полную систему (в случае полиномов полная система имела бы вид 1, х2, х3, ..., %"), то уравнение (5.5) показывает, что невязка ортогональна к каждому элементу полной системы. Следовательно, по мере того, как М стремится к бесконечности,^приближенное решение Т будет сходиться к точному решению Т・
./. Приложение к обыкновенному дифференциальномууравнению
Сравнение различных методов взвешенных невязок можно провести, если построить решение обыкновенного дифференциального уравнения
黑一歹=0 при 0<х< 1(5.11>
с граничным условием у = 1 при % = 0・ Эта задача имеет точное решение у = ехр х.
Подходящее приближенное решение, эквивалентное выражению (5.2), имеет вид
N
1 + 2(5.12)
Это приближенное решение автоматически удовлетворяет граничному условию. В отличие от того, что было в случае (5.2), коэффициенты а/ в выражении (5.12) постоянны. Подстановка (5.12) в уравнение (5.11) дает невязку уравнения в виде
N
R=-l + X 矶*—-/)・(5.13)
7=1
Для определения коэффициентов а; интеграл невязки, взятый с некоторым весом по всей вычислительной области, прирав-
нивается нулю. Следовательно, по аналогии с (5.5) имеем
1
\wm(x)R(x)dx = 0.(5.14)
о
Различные варианты метода взвешенных невязок реализуются за счет различного выбора весовых функций Wm(x). Например, в методе Галёркина берется Wm (х) = х^-1 при m = 1, ..., N. Вычисление интеграла (5.14) при каждом значении т позволяет получить систему уравнений, которую можно представить в виде
SA = D. (5.15)
Здесь вектор А составлен из неизвестных коэффициентов а,. В случае метода Галёркина элемент матрицы S задается в виде
smi =(匸」_г — 一,(5.16)
а элемент вектора D — выражением dm = 1/m. Если задать значение ^ = 3, то уравнение (5.15) принимает вид
• 1/22/33/4 ]「Q】]Г 1 '
1/6 5/12 11/20 р2 = 1/2 ,(5.17)
-1/12 3/10 13/30 J L д3 J L 1/3 -
а решение этого уравнения записывается как
«1 = 1.0141, а2 = 0.4225, % = 0.2817.(5.18)
Подстановка (5.18) в приближенное решение (5.12) дает результат
у = 1 + 1.0141% + 0.4225%2 + 0.2817Х3.(5.19)
Сравнение этого решения с точным решением дается в табл. 5.1.
График изменения ошибки решения при различных значениях ^ показан на рис. 5.1. Ясно видно, что ошибка решения быстро уменьшается по мере увеличения М Как можно видеть из табл. 5.1, среднеквадратичные значения ошибки решения, а также невязки уравнения Rms, быстро уменьшаются при увеличении М В общем случае точное решение задачи неизвестно и, следовательно, ошибку решения невозможно вычислить. Однако оценить невязку уравнения вполне возможно, и это
Таблица 5.1. Решения уравнения dy/dx — у = 0 по методу Галёркина
X
Приближенное решение
Точное решение &=ехр (х)
Линейное
= 1)
Квадратичное (^^2)
Кубическое (N=3)
0.
1.0
1.0
1.0
1.0
0.2
1.4
1.2057
1.2220
1.2214
0.4
1.8
1.4800
1.4913
1.4918
0.6
2.2
1.8229
1.8214
1.8221
0.8
2.6
2.2349
2.2259
2.2251
1.0
3.0
2.7143
2.7183
2.7183
Среднеквадратичная ошибка решения
0.2857
0.00886
0.00046
—
Rrms
0.5271
0.0583
0.00486
—
дает качественное представление о том, насколько близко данное решение к точному.
Рис. 5.1. Распределение ошибки для решения уравнения dg/dx —д = 0 пометоду Галёркина.
К решению уравнения (5.11) применялись и некоторые другие разновидности метода взвешенных невязок из числа упомянутых в § 5.1. При N = 3 метод наименьших квадратов по-
зволяет получить следующую систему уравнений, заменяющую
(5.17):
Г 1/з
1/4
1/5 л
г l/2-i
1/4
8/15
2/3
Л2
=
2/3
•(5.20)
L1/5
2/3
33/35.
-3/4.
Применение метода подобластей с интервалами от 0 до 1/3, от 1/3 до 2/3 и от 2/3 до 1.0 приводит к следующей системе уравнений:
「5/18 3/18
8/81 20/81
11/324 ]「。1 ]
69/324 匆=
г 1/3 - 1/3
•(5.21)
.1/18
26/81
163/324 JLa3J
-1/3.
Применение метода коллокаций при оценке невязки в точках х = 0, 0.5 и 1.0 дает следующую систему уравнений:
-1.0
0.
0.5
0.75
■ 0.
1.0
(5.22)(5.22)0. "I「@1 ] 「1・0 ・ 0.625 а2 = 1.0
(5.22)
(5.22)
2.0 」[аз」L1.0.
Значения ai, 〃2 и а3, полученные с помощью решения различными методами, приводятся в табл. 5.2, а соответствующие им приближенные решения (5.12)— в табл. 5.3.
Таблица 5.2. Сравнение коэффициентов в приближенных решениях уравнения dy/dx — у = О
Метод
Коэффициент
6
аг
а»
Галёркина
1.0141
0.4225
0.2817
Наименьших квадратов
1.0131
0.4255
0.2797
Подобластей
1.0156
0.4219
0.2813
Коллокаций
1.0000
0.4286
0.2857
Оптимальной среднеквадратично й
1.0138
0.4264
0.2781
невязки
Разложения в ряд Тейлора
1.0000
0.5000
0.1667
Оптимальное в смысле среднеквадратичной величины ре- тение получается за счет минимизации среднеквадратичной ошибки с тремя неизвестными коэффициентами. Сравнение
различных решений по методам взвешенных невязок целесообразно проводить именно с таким, а не с точным решением. Ясно, что методы Галёркина, наименьших квадратов и подобластей приводят к решениям, близким к оптимальным.
Точность метода коллокаций весьма чувствительна к выбору контрольных точек. Если оценивать невязку при х = 0.1127, 0.50 и 0.8873, то получается решение, идентичное решению по методу Галер кина.
Таблица 5.3・ Сравнение приближенных решений уравнения dy/dx — у = 0
X
Метод Галёркина
Метод наименьших квадратов
Метод подобластей
Метод
КОЛЛО» каций
Метод оптимальной среднеквадратичной невязки
Ряд Тейлора
Точное решение
0.
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
0.2
1.2220
1.2219
1.2213
1.2194
1.2220
1.2213
1.2214
0.4
1.4913
1.4912
1.4917
1.4869
1.4915
1.4907
1.4918
0.6
1.8214
1.8214
1.8220
1.8160
1.8219
1.8160
1.8221
0.8
2.2259
2.2260
2.2265
2.2206
2.2263
2.2053
2.2255
1.0
2.7183
2.7183
2.7187
2.7143
2.7183
2.6667
2.7183
Среднеквадратичная ошибка решения
0.000458
0.000474
0.000576
0.004188
0.000434
0.022766
Решения, приводимые в табл. 5.3, изображаются графически на рис. 5.2, и из графика ясно, что методы взвешенных невязок (за исключением, может быть, метода коллокаций) весьма эффективно реализуют минимизацию ошибки решения по всей области. В противоположность этому, метод разложения в ряд Тейлора, обеспечивающий совпадение с точным решением при % = 0.0, приводит к большой ошибке решения вдали от нулевой точки.
Различные методы взвешенных невязок подвергаются всестороннему сравнению в книге [Fletcher, 1984], где автор делает следующий вывод: «Метод Галёркина дает результаты неизменно высокой степени точности, имея при этом столь же широкий диапазон приложений, как и любой другой метод
взвешенных невязок». В данной ситуации ценность метода Га- лёркина обусловливается тем, что он непосредственно приво-
0.0020.002-0.002-0.002•0.004•0.004-0,006-0,006о416 29ИГП。о416 29ИГП。
0.002
0.002
-0.002
-0.002
•0.004
•0.004
-0,006
-0,006
о
416 29ИГП。
о
416 29ИГП。
00.51Л
X
Рис. 5.2. Распределение ошибок для решений уравнения dy/dx ——у = 0, по-строенных методами взвешенных невязок (N = 3).
дит к методу Галёркина с конечными элементами, а также к спектральному методу Галёркина.
Метод конечных объемов
Вышеназванный метод подобен методу подобластей, если не считать того, что здесь не вводится в явной форме какое- либо приближенное решение наподобие выражения (5.2). Этот метод оказывается особенно компактным, если определяющие уравнения включают только первые производные (см. п. 5.2.1). Если же присутствуют и вторые производные (см. п. 5.2.2), то требуются некоторые дополнительные операции.
10 К・ Флетчер, т. 1
/. Уравнения, содержащие только первые производные
Здесь мы проиллюстрируем применение метода конечных объемов к решению уравнения первого порядка в общем виде > + < + < = 0' _ _(5.23)
которое при соответствующем выборе q, F и G может представлять различные уравнения движения. Например, если положить q = pt F = ^u и G = py, то уравнение (5.23) совпадет с двумерным вариантом уравнения неразрывности (11.10).
Рис. 5.3. Двумерный конечный объем.
Применение метода подобластей к уравнению (5.23) внутри конечного объема ABCD, показанного на рис. 5.3, дает
S 1(票+票+需)以初=0,(5.24)
ABCD
или, если применить теорему Грина,
~^\qdV+ \ H・nds = 0,(5.25)
ABCD
где Н =(戸,G). В декартовых координатах имеем
Н • n ds = Fdy — G dx.(5.26)
Уравнение (5.25) является не чем иным, как констатацией консервативности. В частном случае, если выбрать ? = р, F = рй>
<? = 0», уравнение (5.25) совпадет с интегральной формулировкой закона сохранения массы. Следовательно, метод конечных объемов сводится к дискретизации исходного уравнения, представленного в интегральной форме (см. § 11.2), в противоположность методу конечных разностей, который обычно применяется к исходному уравнению в его дифференциальной форме.
Одним из приближенных представлений уравнения (5.25) может быть уравнение
DA
言(加分,^ + ^F^y-G A%) = °,(5.27)
AB
где 加一площадь четырехугольника ABCD, показанного на рис. 5.3, причем q^ 月 есть величина, связанная со средним значением q внутри четырехугольника. В уравнении (5.27)
№ав = Ув — У а, ^ав = Хв —以,
尸4В = 0・5 (尸九 J + Fj,) Gab = 0.5 (G/, J + Gj,尼)
и аналогичные выражения для \уВс и т. д. Если 必 не является функцией времени, то уравнение (5.27) принимает вид
加 d%, k/dt + 0.5 (尸仆—+ 尸九 ^) Лудв — 0.5 (G/, j + Gj,Q Ахав +
+ 0.5(尸九尼 + 尸"i, 6№Bе - 0・5 (G/,在 + G了+i, Q дхве +
+ 0.5 (尸人 k + 尸/,在+1)№cd — 0・5 (G/, k + G/,尼+1) A%cd +
+ 0.5 (尸/—1, k + Fj,尼)№da —。・5 (G/_i,尼 + G/,尼)A%da = 0. (5.28)
Если глобальная сетка (/,力)является нерегулярной, то записанное для конечных объемов уравнение (5.28) обеспечивает дискретизацию в декартовых координатах, без необходимости введения обобщенных координат (см. гл. 12). Если же глобальная сетка является однородной и ее линии совпадают с линиями постоянных х и у, то уравнение (5.28) принимает вид
"" 必 备分,k - °,5 (G/,在 -1 + G,,0a% + 0.5 (尸九月 + f了7.在)Ay +
+ 0.5 (G/,右 + G/,尼+1) Лх — 0.5 (尸 j_i, k + 尸/,尼)№ = °, или
d 人,Fgh-FjTh I Gj,在+1-6g_[нот
万分,后+症+ 販 ,
что совпадает с аппроксимацией, полученной при представлении пространственных производных в (5.23) с помощью центральных разностей.
Метод конечных объемов, который применялся для описания течения как несжимаемой, так и сжимаемой жидкостей обладает двумя важными преимуществами. Во-первых, он обладает хорошими консервативными свойствами (сохранение массы и т. п.). Во-вторых, он допускает дискретизацию сложных вычислительных областей в более простой, хотя и не обязательно столь же точной форме, чем это позволяет изопара- метрическая конечно-элементная формулировка (см. п. 5.5.3) или введение обобщенных координат (см. § 12.2).
Рис. 5.4. Вычислительная область для решения уравнения Лапласа.Рис. 5.4. Вычислительная область для решения уравнения Лапласа.Уравнения, содержащие вторые производные
Рис. 5.4. Вычислительная область для решения уравнения Лапласа.
Рис. 5.4. Вычислительная область для решения уравнения Лапласа.
В п. 5.2.1 метод конечных объемов был приведен к решению уравнения (5.23), содержавшего только первые производные, и привел к сравнительно просто получаемому дискретному выражению (5.28). Если же исходное уравнение содержит вторые производные, то метод конечных объемов нуждается в некоторой модификации.
Эта ситуация будет проиллюстрирована здесь на примере построения решения уравнения Лапласа
簪 + 若=0 (5.30) в вычислительной области, показанной на рис. 5.4, с приводимыми ниже граничными условиями Дирихле:
на WX 6 = 0,
на XY 6 = sin 6/гХУ,
на YZ «=1/гу2 (5.31) на ZW ф= sin B/rwz.
При таком выборе граничных условий уравнение (5.30) имеет точное решение
$=(sin»/r,(5.32)
наличие которого позволяет непосредственно оценить точность вычислительных решений.
Если бы уравнение Лапласа (5.30) было записано в полярных координатах, то показанная на рис. 5.4 вычислительная область имела бы правильную форму. Однако благодаря
умышленной формулировке задачи в декартовых координатах возникает возможность продемонстрировать способность метода конечных объемов оперировать с областями неправильной формы, сохраняя при этом преимущество легко вычисляемого точного решения. Программа FIVOL (см. п. 5.2.3) имеет достаточно общую форму, позволяющую применить ее к областям других конфигураций, если только предварительно были заданы внутренние узловые точки, например, с помощью приема, рассмотренного в п. 13.2—13.4.
Рис. 5.5. Конечный объем для деформированной сетки.
Следующий этап метода конечных объемов связан с применением метода подобластей к уравнению (5.30) в конечном объеме ABCD, показанном на рис. 5.5, что дает
\ 1 (察 + 察)〃匈=J H • n ds = 0,(5.33)
ABCDABCD
где__
H • n ds = dy —dx.дх ' ду
Следуя тем же путем, как и в п. 5.2.1, приближенное представление уравнения (5.33) запишем в виде
[嚣] №ав — [т~]А办в +
々-1/2月-1/2
+ Щ+1/2.戸ВС + [靄(,左+ I/"。—
Различные приемы вычисления производных [дф/дх]{ k_if2 и т. д. рассматриваются в книге [Peyret, Taylor, 1983]. Здесь величина [@«/0工]/ k_i(2 вычисляется как среднее значение по площади В'ВСЬаА'В7 на рис. 5.5. В результате получим
[案L1/2 =(可£/) U (票""У =员£/) \ 中叫,(5・35)
[窮L Ет/2 = (^Ь^)5 \ (爵)〃dg = - (^^7)\
(5.36) ж
, 小弘 « 力,々tа/Мb + е8аузс + 力,k^yc,Df + 小必^d",
а также аналогичное выражение для
Если сетка не слишком сильно деформирована, то Аумв,* * — \ycfDf * №ав、Af/ве ^ — A^dzaz * Д^-1,左 и
Sab = Sa’b'C'D' = А%авА%-1,々一\удв^Хк-1,左•(5.37)
На этом основании выражение (5.35) принимает вид
Л 6-1/2Л 6-1/2=АУАВ®к-\ — 0/,/0 +Ау 々一],々(08—0А)Sab=АУАВ®к-\ — 0/,/0 +Ау 々一],々(08—0А)Sab阖…2阖…2-[A%43 ®h-l - 0九々)+ a为々一1,々(08-0%)]-[A%43 ®h-l - 0九々)+ a为々一1,々(08-0%)](5.38)(5.38)
Л 6-1/2
Л 6-1/2
=АУАВ®к-\ — 0/,/0 +Ау 々一],々(08—0А)Sab
=АУАВ®к-\ — 0/,/0 +Ау 々一],々(08—0А)Sab
阖…2
阖…2
-[A%43 ®h-l - 0九々)+ a为々一1,々(08-0%)]
-[A%43 ®h-l - 0九々)+ a为々一1,々(08-0%)]
(5.38)
(5.38)
Qab = (A%3+ ^Уав)/^ав^ QbC = ©X^C + ^УвсУ^вс^ Qcd~ (^СБ^^УспУ^СП1 4a= (A吟 a+A^Q/Sda’Qab = (A%3+ ^Уав)/^ав^ QbC = ©X^C + ^УвсУ^вс^ Qcd~ (^СБ^^УспУ^СП1 4a= (A吟 a+A^Q/Sda’
Qab = (A%3+ ^Уав)/^ав^ QbC = ©X^C + ^УвсУ^вс^ Qcd~ (^СБ^^УспУ^СП1 4a= (A吟 a+A^Q/Sda’
Qab = (A%3+ ^Уав)/^ав^ QbC = ©X^C + ^УвсУ^вс^ Qcd~ (^СБ^^УспУ^СП1 4a= (A吟 a+A^Q/Sda’
Если получить аналогичные выражения для [дф/дх]]+\/2, * и т. д., то уравнение (5.34) можно записать в виде
Qab (力,k-\ -%,尼)+ рав ав -小4)+ Qbc (科+i,尼-科,Q +
+ Prc仲С -小刀)+ Qcd仲八月+1 一 %,尼)+ Pcd仲d - 3c) +
+ Qda (勿-i, k -力,在)+ Pda (力一6D) 0,(5.39)
где
^лв = {^XAB^Xk-1, fe + ^УлВ^Ук-1, k)/^AB^ ^BC~^xBc^xi+\, / + ^Увс^У]+\, /)/^вс» Рс№ (厶%0厶马 +1,左 + № Cd№ h +1, k)]ScD, ^DA~ (^XDA^Xi-1, i + №DA、Ui)I^DA*
Фигурирующие в (5.39) значения 勿,хл, уА вычисляются как средние из четырех узловых значений вокруг данной точки. Так> например,
В а = °・25 例,片 + 科-i, k + %-i, I +勿,i)・
Подстановка подобных выражений в уравнение (5.39) приводит к следующему девятиточечному дискретному варианту уравнения (5.30):
0-25 (Pcd — Pda)科-i,月+i + [Qcd + °・25 (P^c 一 Pda)]小厶月+i +
+ 0.25 (Рве — Pcd)勿+ i,月+i + [Qzm +
+ 0.25 (Pcd — Рав)] ^/-i, k + (Qab — Qbc + Qcd + Qda) %,在十 + [Qbc + 0・25 (Pab — Pcd)]勿+i,尼 +
+ 0.25 (Pda — PAB)^i-itk-i^[QAB^^-^ (^ da~^P bc)] 3/, j +
+ 0.25 (PAB — PBC)心+ i, j = 0.(5.40》
Если положение узловых точек сетки определено, то входящие в уравнение (5.40) величины типа Qa& Рав и т. д. могут быть вычислены раз и навсегда.
Для решения уравнения (5.40) удобно применить последовательную верхнюю релаксацию (ПВР), описанную в § 6.3. Уравнение (5.40) может быть формально разрешено относительно 竹,Т и, следовательно,
行,L {。・25 (Л?。一 PDA) %- ,+1 + [Q" +
+ 0・25 (PBC — Pda)仍,左+i + 0.25 (PBC — Pcd) ^/+i,左+i +
+ [Qda + 0.25 (Pcd — Pab)]勿-i, k +
+ [Qbc + °・25 (PAB — Pcd)]勿+i,在 +
+ 0.25 (Pda 一尸/口) % - l i+[Qab+。• 25 (尸。a—Prc)】力,尼 - i+ + 0.25 (Pab — Рве) ^/+i.月-JNQab + Qbc + Qcd + Q^),
(5.41>
тогда как улучшенное решение выражается в виде
3;,* = +3 + 九(3;々一抄 0»(5・42>
где 九一показатель релаксации (см. § 6.3).
Интересная особенность метода конечных объемов состоит в том, что решение с граничными условиями Неймана (для производных) может быть построено точно так же, как и в случае граничных условий Дирихле, т. е. путем прямой подстановки граничных значений в уравнение (5.34).
FIVOL: метод конечных объемов в применениик решению уравнения Лапласа
Описанный выше метод реализован в компьютерной программе FIVOL, распечатка которой приводится на рис. 5.6. Основные параметры, используемые в программе FIVOL, описываются в табл. 5.4.
Таблица 5.4. Параметры, используемые в программе FIVOL
Параметр
Описание
JMAX КМАХ NMAX RW RX RY RZ ТНЕВ THEN EPS ОМ PHI PHIX PHD XA, YA DXA DXK RMS
Число точек в радиальном направлении Число точек в окружном направлении Максимальное число итераций rw (рис. 5.4) гх (рис. 5.4) г? (рис. 5.4) rz (рис. 5.4) Bwx (рис. 5.4) 8z? (рис. 5.4) Критерий сходимости ПВР
Показатель релаксации X в формуле (5.42) Ф
%4, Уд 卜Хав А%在一I, k—
II0* — 0nllrms, Il0n+1 —011rms
Программа FIVOL считывает и выдает исходные управляющие параметры (строки 1—25). Задается сетка, рассчитывается начальное решение (для проведения ПВР), а также точное решение (строки 38—53). Поскольку интерес представляет только сходящийся процесс решения, то точное решение также использовалось в качестве одного из начальных решений для ПВР. Этот вариант приводит к быстрой сходимости процесса по схеме ПВР. Задаются граничные условия (строки 57—64); строго говоря, эта часть программы не является необходимой, так как граничные условия уже были в неявной форме учтены в строке 51.
На каждой стороне области задаются параметры, связанные с сеткой (Qab, Рав и т. д.) ; это отражено в строках 68—123.
ccccc с с с с с с с с с 2345678901234567390123456789012345^5789012345678901234567890ccccc с с с с с с с с с 2345678901234567390123456789012345^5789012345678901234567890FIYOb APPLIES TRE FINITE VOLUME METHOD TO THE SOLUTION OF LAPUCES EQUATION IM CARTESIAN COORDINATES ON A POLAR GRID. THE DISCRETISED EQUATION IS SOLVED BY SOR
ccccc с с с с с с с с с 2345678901234567390123456789012345^5789012345678901234567890
ccccc с с с с с с с с с 2345678901234567390123456789012345^5789012345678901234567890
DIKCNSION X(21,21),Y(21,21),QAB(21,21),PAB(21,21),QBC《21,21)夕 1PBC(21,21)rQCD(21r21)rPCD(21r21),QDA(21,21),PDA(21,2D, 2PHI(21f21)fPHIX(21t21)
OPEN (1, FILE» TIVOL.DAT*) OPEN(6,FILE«*FIVOL.OUT*) READ(1J)JMAX,KMAX,NMAX READ 32)R%RX,M,RZ,THEB,THEM,EPS,OH 1 FORMAT(815) 2 FORMAT(8Е10Л)
YRITE(6,3)
WRITE(6,4)JMAX,KMAX,ММЛХ,EPSQM
WRITE(6,5)R% RX,RY ,RZ,THEB,THEN
3 FORMAT(2 LAPLACE EQUATION BY FINITE VOLUME METHOD',//) 4 FORMATS aMЛX«•,I2;• КЮХ『/2「 №UX»\I5r
15XJ EPS«\E10.3/OH=',F5・3)
rORMAT(? RWIF5.3J RX』,F5・3J RY=IF5・3J RZ,',F5.3. 15XJ ТНЕВ«*,Г5.1/ ТНЕМ«\Г5Л,//)
JMAP м JMAX - 1
KNAP « KMAX 一 1 AJK ■ JMAP AKK ■ KMXP
DRVX ■ (RX - RV)/AJK DRZY ж (RY - RZ)/AKM DTK - (TH£N-THEB)/AKN PI ■ 3.1415927
SET X, Y, EXACT AND INITIAL PHX
P6 7 К *.ltKMAX
ЛК « К - 1
ТНК ■ (THEB + AK*DTH)«PI/180.
CK « COS(THK) SK 口 SIN(ТНК) DR « DRYX + (DRZY - DRWX)*AK/AKM RYZ « RW + (RZ - RW)*AK/AKM DO 6 J « 1,JMAX AJ « J - 1 R ■ RWZ + AJ*DR X(J,K) » R*CK Y(J,K) « R*SK PHIX(J,K)工 SK/R PHI(J,K) « PBIX(J,K)
CONTINUE 7 CONTINUE
SET BOUNDARY VALUES OF PHI
DO 8 J = 1,JMAX
PHKJ.i) « 0.
PHI(J,KMAX) = PBIX(J,KMAX) 8 CONTINUE
Рис. 5.6. Распечатка программы FIVOL (начало).
a
DO 9 К > 1,KMAX
62
РНШ,К) « PHIX(1,K)
63
PHI(JMAXrK) = PHIX(JMJLXrK)
64
9 CONTINUE
65 66
67
68
69 70
71 72
73
74
75
76
77 78
79
80 81
82 83
84
85
86
87
88
89
90 91
92 93
94
95 96 97
98
99
100 101 102 103 104
105 106
107 108 109 110 111
112 113 114 115 116 Ш 118
С
С SET GRID RELATED PARAMETERS
С
DO 11 К « 2,KMAP
KM « К - 1
KP » К + 1
DO 10 J = 2,JMAP
XA « 0.25*(X(J,K)+ X(JM,K)+ X(JM,KH)+ X(J,KN))YA ■ 0.25*(Y(J,K)+ Y(JM,K)+ Y(JMrKM)+ Y(J,KM))XB « 0・25*(X(J,K)+ X(J,KM)+ X(JP,KM)+ X(JP,K))YB « 0.25*(Y(J,K)+ Y(J,KM)+ Y(JPrKM)+ Y(JP,K))XC « 0・25*(X(J,K)+ X(JP,K)+ X(JP,KP)+ X(J,KP))YC « 0.25*(Y(J,K)+ Y(JP,K)+ Y(JP,KP)+ Y(J,KP))XD « 0.25*(X(J,K)+ X(J,KP)+ X(JMrKP)+ X(J%K))YD « 0.25*(Y(J,K)+ Y(J.KP)+ Y(J%KP)+ Y(J%K))XA « 0.25*(X(J,K)+ X(JM,K)+ X(JM,KH)+ X(J,KN))YA ■ 0.25*(Y(J,K)+ Y(JM,K)+ Y(JMrKM)+ Y(J,KM))XB « 0・25*(X(J,K)+ X(J,KM)+ X(JP,KM)+ X(JP,K))YB « 0.25*(Y(J,K)+ Y(J,KM)+ Y(JPrKM)+ Y(JP,K))XC « 0・25*(X(J,K)+ X(JP,K)+ X(JP,KP)+ X(J,KP))YC « 0.25*(Y(J,K)+ Y(JP,K)+ Y(JP,KP)+ Y(J,KP))XD « 0.25*(X(J,K)+ X(J,KP)+ X(JMrKP)+ X(J%K))YD « 0.25*(Y(J,K)+ Y(J.KP)+ Y(J%KP)+ Y(J%K))JP « J + 1JP « J + 1JM « J - 1
XA « 0.25*(X(J,K)
+ X(JM,K)
+ X(JM,KH)
+ X(J,KN))
YA ■ 0.25*(Y(J,K)
+ Y(JM,K)
+ Y(JMrKM)
+ Y(J,KM))
XB « 0・25*(X(J,K)
+ X(J,KM)
+ X(JP,KM)
+ X(JP,K))
YB « 0.25*(Y(J,K)
+ Y(J,KM)
+ Y(JPrKM)
+ Y(JP,K))
XC « 0・25*(X(J,K)
+ X(JP,K)
+ X(JP,KP)
+ X(J,KP))
YC « 0.25*(Y(J,K)
+ Y(JP,K)
+ Y(JP,KP)
+ Y(J,KP))
XD « 0.25*(X(J,K)
+ X(J,KP)
+ X(JMrKP)
+ X(J%K))
YD « 0.25*(Y(J,K)
+ Y(J.KP)
+ Y(J%KP)
+ Y(J%K))
XA « 0.25*(X(J,K)
+ X(JM,K)
+ X(JM,KH)
+ X(J,KN))
YA ■ 0.25*(Y(J,K)
+ Y(JM,K)
+ Y(JMrKM)
+ Y(J,KM))
XB « 0・25*(X(J,K)
+ X(J,KM)
+ X(JP,KM)
+ X(JP,K))
YB « 0.25*(Y(J,K)
+ Y(J,KM)
+ Y(JPrKM)
+ Y(JP,K))
XC « 0・25*(X(J,K)
+ X(JP,K)
+ X(JP,KP)
+ X(J,KP))
YC « 0.25*(Y(J,K)
+ Y(JP,K)
+ Y(JP,KP)
+ Y(J,KP))
XD « 0.25*(X(J,K)
+ X(J,KP)
+ X(JMrKP)
+ X(J%K))
YD « 0.25*(Y(J,K)
+ Y(J.KP)
+ Y(J%KP)
+ Y(J%K))
JP « J + 1
JP « J + 1
C C SIDE AB C
DXA ■ XB - XA DYA « YB - YA DXK ■ X(J,K) - X(J,KT) DYK ■ Y(J,K) - Y(J,K-1) SAB « ABS(DXA*DYK - DXK*DYA) QAB(J,K) ■ (DXA*DXA + DYA*DYA)/SAB PAB(J,K) = (DXVDXK + DYA*DYK)/SAB C C SIDE BC C
DXB « XC - XB DYB 工 YC - YB DXJ « X(J,K) - X(J+1,K) DYJ = Y(J,K) - Y(J+1,K) SBC - ABS(DYJ*DXB - DXJ*DYB) QBC(J,K) ■ (DXB*DXB + DYB*DYB)/SBC PBC(JrK) = (DXB*DXJ + DYB*DYJ)/SBC C C SIDE CD C
DXC « XD - XC DYC « YD - YC DXK - X(J,K) - X(J,K+1) DYK « Y(J,K) - Y(J,K+1) SCD 二 ABS(DXC*DYK - DYC*DXK) QCD(J,K)二(DXC*DXC + DYC*DYC)/SCD PCD(J;K) « (DXC*DXK + DYC*DYK)/SCD C C SIDE DA C
DXD = XA - XD DYD « YA - YD DXJ « X(J,K) - X(J-1,K) DYJ « Y(J,K) - Y(J-lrK)
11Э SDA 匸 ABS(DXJ*DYD - DYJ*DXD)
120QDA(J,K) = (DXD*DXD + DYD*DYD)/SDA
121PDA(J,K) « (DXD*DXJ + DYD*DY^J)/SDA
12210 CONTINUE
12311 CONTINUE
124 C
125 CITERATE USING SOR
126 C
127DO14N «1ЛМАХ
128SUM «0.
129DO13К =2,KMAP
130KM « К - 1
131KP« К + 1
132DO 12 J м 2,JMAP
133JM = J -1
134JP » J + 1
135PHD » 0.25*(PCD(JrK)-PDA(J,K))*PHI(JM,KP)
136PHD=PHD+(QCD(J,K) + 0・25*(PBC(J,K)-PDA(J,K)))*PHI(J,KP>
137PHD«PHD+0.25*(PBC(J,K)-PCD(JrK))*PHI(JPrKP)
138PHD=PHD+(QDA(J,K) + 0.25*(PCD(JrK)-PAB(JrK)))*PHI(JMfK)
139PHD»PHD+(QBC(J,K) + 0.25*(PAB(JrK)-PCD(JrK)))*PHI(JPfКУ
140PHD«PHD+0.25*(PDA(J,K) - PAB(JrK))«PHI(JMrKM)
141PHD«PHD+(QAB(JrK) + 0.25*(PDA(JrK)-PBC(JrK)))*PHI(J,KM>
.142PHD=PHD+0.25«(PAB(JrK) - PBC(JrK))*PHI(JPrKM)
143PHD - PHD/(QAB(J,K)+QBC(J,K)+QCD(J,K)+QDA(J,K))
DIF « PHD - PHI(JrK)
.SUM = SUM + DIF*DIF
PHI(J,K) « PHI(J,K) + OM*DIF
14712CONTINUE
14813CONTINUE
149RMS 工 SQRT(SUM/(AJM-1.)/(AKM-1.))
150IF(RMS .LT. EPS)GOTO 16
15114CONTINUE
152VRITE(6,15)NMAX,RMS
15315FORMAT(? CONVERGENCE NOT ACHIEVED IN* ,15/ STEPS'.5X J RMS1,
1541E12.5)
155 C
156 CCOMPARE SOLUTIONWITH EXACT
157 C
15816 SUM = 0.
159DO 21 К = 1,KMAX
160WRITE(6r17)K
16117 FORMAT(// 2J2)
162DO 18 J «= 1,JMAX
163DIF = PH工(J,K) - PHIX(J,K)
164SUM = SUM + DIF*DIF
16518CONTINUE
166WRITE(6,19)(PHI(J,K)rJ=lrJMAX)
167WRITE(6,20)(PHIX(J,K),J=1,JMAX)
16819FORMAT(•PHI»*Д0Г7.4)
16920FORMATSPHX«* r 10F7.4)
17021CONTINUE
171RMS = SQRT(SUM/(AJM-1.)/(AKM-1.))
172MRITE(6,22)N,RMS
17322 FORMAT(// CONVERGED AFTER ',I3J STEPS*,4Х/ RMS=IE12.5>
174STOP
175END
Итерационная процедура ПСР реализует расчет по формулам (5.41) (строки 135—143) и (5.42) в строке 146, вычисляет М ——^nllrms (строка 149) и выходит из итерационного цикла (строки 127—151), если выполнен критерий сходимости (EPS). Затем выдаются на печать окончательное и точное решения (строки 166—167), а также вычисляется и выдается на печать величина ||力一抑皿(строки 171—172).
LAPLACE EQUATION BY FINITE VOLUME METHOD
JMAX= 6 KMJLX* 6 NMAX> 50JMAX= 6 KMJLX* 6 NMAX> 50EPS= .100E-04OM»1.500EPS= .100E-04OM»1.500RV= .100RX»1.000RY«1.000 RZ= .100RV= .100RX»1.000RY«1.000 RZ= .100THEB= .0THEB= .0THEN= 90.0THEN= 90.0
JMAX= 6 KMJLX* 6 NMAX> 50
JMAX= 6 KMJLX* 6 NMAX> 50
EPS= .100E-04OM»1.500
EPS= .100E-04OM»1.500
RV= .100RX»1.000RY«1.000 RZ= .100
RV= .100RX»1.000RY«1.000 RZ= .100
THEB= .0
THEB= .0
THEN= 90.0
THEN= 90.0
K« 1
PHI»..0000.0000.0000.0000.0000.0000
PHX=.0000.0000.0000.0000.0000.0000
К= 2 РН1» 3.0902 1.2439 РНХ= 3.0902 1Л036
.7445
.6718
.5205
.4828
• 3929 .3768
.3090 .3090
К= 3
РН1» 5.8779 2.3473
1.4036
.9828
.7441
.5878
РВХ= 5.8779 2.0992
1.2778
.9184
.7168
.5878
К= 4
РН1» 8.0902 3.1786
1.8990
1.3345
1.0163
Л090
РНХ= 8.0902 2.8893
1.7587
1.2641
.9866
.8090
К= 5
РН1= 9.5106 3.6209
2.1680
1.5349
1.1802
.9511
РНХ= 9.5106 3.3966
2.0675
1.4860
1.1598
,9511
К= 6
PHI-10.0000 3.5714
2.1739
1.5625
1.2195
1.0000
РНХ«10.0000 3.5714
2.1739
1.5625
1.2195
1.0000
CONVERGED AFTER 15
STEPS
RNS-
.13259Е+00
Рис. 5.7. Типичная форма выдачи после прохождения программы FIVOL.
Типичная форма выдачи для случая сетки 6X6 представлена на рис. 5.7. Очевидно, что если начинать с точного решения, то процесс вычислений по схеме ПСР быстро сходится. Основная причина большого значения "力一^||rms связана с большими изменениями решения вблизи rwz.
По мере измельчения сетки точность возрастает (табл. 5.5), однако при этом для достижения сходимости требуется про-
Таблица 5・5・ Изменение ошибок решения по методу конечных элементов при измельчении сетки (厂犷=「z = 0・,「X =「У = ЬО, 8犷х =。, %у = 90,(о = 1.5)
Сетка
llUkms
Число итераций до сходимости
6X6
0.1326
15
11 х 11
0.0471
19
21 Х21
0.0138
51
водить больше итераций по схеме ПВР. В случае однородной прямоугольной сетки дискретизированное уравнение (5.40) вырождается в центрированную конечно-разностную схему.
0/-1,6-20力月 + 0什1,在 一2力,在+ 0了,々+1 公
обладающую сходимостью второго порядка, т. е. тем свойством, что введение в два раза более мелкой сетки (если она уже была достаточно мелкой) уменьшает ошибку в 4 раза (т. е. в 22). Применительно к показанным в табл. 5.5 результатам для неоднородной сетки порядок сходимости оказывается меньше второго. Ожидается, что дальнейшее искажение сетки еще более снизит скорость сходимости (см. задачу 5.4).
Метод конечных объемов широко применяется при исследовании трансзвукового невязкого течения (см. § 14.3) и течения жидкости (см. п. 17.2.3).
Метод конечных элементов и интерполяция
Метод конечных элементов в начальной стадии своей разработки рассматривался как специализированная инженерная процедура для построения матричных решений при расчетах напряжений и смещений в анализе конструкций. Этому методу было дано солидное математическое обоснование после введения в рассмотрение потенциальной энергии системы и вариационной интерпретации для метода конечных элементов.
Однако очень малое число задач динамики жидкости и газа (или задач о теплопередаче) допускает свое представление в вариационной форме. С другой стороны, во многих случаях метод Галёркина оказывается эквивалентным методу Ритца для решения вариационных задач. Как следствие этого в большей части приложений метода конечных элементов к задачам
гидроаэродинамики используется именно формулировка Галёр- кина для этого метода. Здесь мы сосредоточимся исключительно на галёркинской формулировке метода конечных элементов.
Традиционная инженерная трактовка метода конечных элементов дается в книге [Zienkiewicz, 1977]. Математические аспекты и перспективы метода более подробно излагаются в- книгах [Strang, Fix, 1973; Oden, Reddy, 1976; Mitchell, Wait, 1977]. Техника вычислений, преимущественно для приложений метода конечных элементов к анализу конструкций, излагается в книге [Bathe, Wilson, 1976]. Приложения традиционного метода конечных элементов к гидроаэромеханике рассматриваются в книгах [Thomasset, 1981; Baker, 1983].
Если сравнивать с традиционным методом Галёркина, изложенным в § 5.1, метод конечных элементов Галёркина обладает двумя чрезвычайно важными особенностями. Сначала приближенное решение (5.2) записывается непосредственно в форме комбинации узловых значений неизвестной функции, т. е.
Г=£т例(爲弘 2)・ (5.44>
Выражение (5.44) может интерпретироваться как интерполяция по отношению к локальному решению в узловой точке 7» Благодаря тому что мы работаем непосредственно с узловыми значениями неизвестной переменной, отпадает один уровень в процессе вычислений на этапе решения уравнения (см. гл. 6) и решение в узле приобретает прямой физический смысл. Кроме того, становится легче видеть аналогию с методом конечных разностей, а также становится более очевидной интерпретация метода конечных элементов в качестве средства дискретизации (см. §3.1) исходного дифференциального уравнения в частных производных, представленного в континуальной форме.
Входящие в выражение (5.44) аппроксимирующие функции 屯(%, у, z) часто называются в математической литературе пробными или интерполяционными функциями, а в инженерной литературе — функциями формы (при замене символа 办・ на М). Вторая важная особенность рассматриваемого метода состоит в том, что аппроксимирующие функции 科(居 у, z) выбираются почти исключительно из числа кусочно-линейных полиномов низкого порядка, причем выбор ограничивается ближайшими элементами. Тем самым достигается сравнительно малое число отличных от нуля членов, которые при их надлежащей расстановке [Jennings, 1977, гл. 5] могут располагаться вблизи главной диагонали матрицы уравнений. Это является важным на стадии решения уравнений (см. гл. 6), так как при
подобной ситуации решение матричных уравнений будет более экономичным.
Метод конечных элементов реализует дискретизацию на двух этапах, каждый из которых вносит ошибки (хотя и не всегда аддитивные). На первом из указанных этапов кусочнолинейная интерполяция вводится по дискретным, или конечным, элементам с целью связать локальное решение с узловыми значениями. Этот аспект будет исследован в данном параграфе. На втором этапе используется построение со взвешенными невязками (см. § 5.1), ставящее целью получить алгебраические уравнения для связки между узловыми значениями решения. Техника реализации второго этапа, а также поведение решения иллюстрируются с помощью программ STURM (п. 5.4.2) и DUCT (п. 5.5.2).
Линейная интерполяция
生=0
при X < 勺一1,
lipH 兀/一1Л/ ^а«/1СМсп 1 人丿,
% = 1
при % =勺,
%勺+1 一勺
при 勺《尤《勺+1 (элемент В),
% = 0
при х > х/+1.
Одномерные линейные аппроксимирующие функции %•(%) показаны на рис. 5.8. Функция ^/ (х) принимает значения
(5.45)
(5.46)
Таким образом, функция 办 отлична от нуля только в диапазоне 巧-1 V % V %/+i・ Подобным же образом можно установить, что аппроксимирующая функция 屯+】отлична от нуля только между узлами / и / + 2.
В случае линейных аппроксимирующих функций выражение (5.44) принимает вид
(5.47)(5.47)Т = Т/-i^/-i + Г/^/ внутри элемента Л,T = T/% + 7/+i6/+i внутри элемента В,
(5.47)
(5.47)
т. е. благодаря локальному характеру аппроксимирующих •функций (см. рис. 5.8) в каждый элемент дают вклады лишь по два члена. Внутри элемента Л функция 力/ задается формулой (5.45), а функция 力/т — формулой
(5.48)(5.48)X — Ху勺一1一勺
(5.48)
(5.48)
(5.46), а(5.49)(5.46), а(5.49)в диапазоне 0 W % W 1. Поведение функции, определяемой формулой (5.50), показано на рис. 5.9. Узловые значения у; опре-в диапазоне 0 W % W 1. Поведение функции, определяемой формулой (5.50), показано на рис. 5.9. Узловые значения у; опре-Рис. 5.8. Одномерные линейные аппроксимирующие функции.Рис. 5.8. Одномерные линейные аппроксимирующие функции.
(5.46), а
(5.49)
(5.46), а
(5.49)
в диапазоне 0 W % W 1. Поведение функции, определяемой формулой (5.50), показано на рис. 5.9. Узловые значения у; опре-
в диапазоне 0 W % W 1. Поведение функции, определяемой формулой (5.50), показано на рис. 5.9. Узловые значения у; опре-
Рис. 5.8. Одномерные линейные аппроксимирующие функции.
Рис. 5.8. Одномерные линейные аппроксимирующие функции.
Внутри элемента В функция 归 задается формулой %+i — формулой
Вышеописанное построение будет использовано для получения линейной интерполяции функции
歹=1 + cos (0.5лх) + sin (лх)(5.50)
деляются с помощью точного решения, т. е. % = »(%/)・ Внутри же конкретного элемента местное решение 沙仙,получаемое путем интерполяции, задается формулами
элемента Л, элемента В.элемента Л, элемента В.формулами (5.48) и (f>i и 力+i задаютсяформулами (5.48) и (f>i и 力+i задаются4e=分一1力-1(%) + 力%(行 внутри协п =勿% а)+勿+ 1 勿+ 1") внутри
элемента Л, элемента В.
элемента Л, элемента В.
формулами (5.48) и (f>i и 力+i задаются
формулами (5.48) и (f>i и 力+i задаются
форме (5.51) пред- при двухэлементномформе (5.51) пред- при двухэлементномВнутри элемента А 勿-i и 力・ задаются (5.45) соответственно. Внутри элемента В с помощью (5.46) и (5.49).
форме (5.51) пред- при двухэлементном
форме (5.51) пред- при двухэлементном
Линейно-интерполяционное решение в ставлено графически на рис. 5.9. Ясно, что
делении интервала 0 & % & 1 интерполяционное решение обладает довольно большой неточностью в средних точках каждого элемента, например
х = 0.25: у = 2.63099, у® = 2.35356,
х = 0.75: у = 2.08979,协口= 1.85355.
Однако точность быстро возрастает по мере увеличения числа элементов, на которые подразделяется интервал 0 & % & 1 (см. табл. 5.6). Приводимая в табл. 5.6 среднеквадратичная ошибка при линейной интерполяции уменьшается пропорционально Ах2, где Ах — протяженность каждого элемента. Это характерное свойство линейной интерполяции.
Рис. 5.9. Одномерное конечно-элементное интерполяционное решение.
В этом месте читатель, впервые знакомящийся с этим материалом, может предпочесть перескочить через пункты, посвященные квадратичной интерполяции и двумерной интерполяции, перейдя к рассмотрению процесса дискретизации, а
Таблица 5.6. Ошибки интерполяции выражения (5.50) по методу конечных элементов
Линейная интерполяция
Квадратичная интерполяция
Число элементов
Среднеквадратичная ошибка
Число элементов
Среднеквадратичная ошибка
2
0.18662
1
0.04028
4
0.04786
2
0.01599
6
0.02138
3
0.00484
8
0.01204
4
0.00206
11 К. Флетчер, т. 1
также решения уравнений на примере уравнения Штурма — Лиувилля (см. § 5.4).
Квадратичная интерполяция
Применение линейной интерполяции, иллюстриуемое на рис. 5.8 и 5.9, налагает на приближенное решение некоторое ограничение, состоящее в том, что оно должно изменяться между узловыми точками линейным образом. Как видим (табл. 5.6), это обстоятельство в случае конечной сетки вносит ошибку. Оценки подобных интерполяционных ошибок даются
Элемент АЭлемент АЭлемент ВЭлемент ВРис. 5.10. Одномерные квадратичные аппроксимирующие функции.Рис. 5.10. Одномерные квадратичные аппроксимирующие функции.
Элемент А
Элемент А
Элемент В
Элемент В
Рис. 5.10. Одномерные квадратичные аппроксимирующие функции.
Рис. 5.10. Одномерные квадратичные аппроксимирующие функции.
в книге [Mitchell, Wait, 1977] и оказываются весьма полезными, когда точное решение неизвестно. Если применить квадратичную интерполяцию, то при тех же размерах сетки мы могли бы ожидать уменьшения ошибки интерполяции.
В качестве одномерной квадратичной аппроксимирующей функции, показанная на рис. 5.10 функция 办 задается следующим образом:
% = 0% = 0”(言言)(”9”(言言)(”9При X < Х/_2,(5.52)при х.2《х&/ (элемент Л),При X < Х/_2,(5.52)при х.2《х&/ (элемент Л),
% = 0
% = 0
”(言言)(”9
”(言言)(”9
При X < Х/_2,
(5.52)
при х.2《х&/ (элемент Л),
При X < Х/_2,
(5.52)
при х.2《х&/ (элемент Л),
%=o%=oпРи %/《无《无/+2 (элемент В),
%=o
%=o
(5.53)
при X > х/+2.
В этих аппроксимирующих функциях можно узнать интерполяционные функции Лагранжа. Получается, что ^; = 1 в узле / и 介=0 в узлах / — 2, / — 1, j+1 и j + 2. При квадратичной интерполяции выражение (5.44) внутри элемента Л принимает следующий вид:
Т = т—由—2 + h + Т^(5.54)
а внутри элемента В — вид*
Т = T^j + 7/+1勿+1 + 7 /+2^/+2,(5.55)
т. е. внутри каждого элемента дают свой вклад только по три члена.
Для модельной задачи, связанной с функцией (5.50), подходящая квадратичная интерполяция соответствует формулам
f/in = У 1-2^1-2 W + yj-^i-i W + y^j (х) внутри элемента Л, f/in = y^i (х) + У1+1ф1+1 (%) + yi^i+2 W внутри элемента В,
(5.56)
где предполагается, что внутри элемента Л (%/_2 W % W %/)
科一(宀)(乎)侍.57)
力 I勺一勺-2丿 勺一丿
и аналогично для элемента В (%j W % W %j+2).
Случай когда интервал 0 W % & 1 перекрывается единственным квадратичным элементом, показан на рис. 5.9. Очевидно, что квадратично-интерполяционное решение оказывается более точным, чем линейно-интерполяционное решение с тем же числом узлов. Эффект измельчения сетки (т. е. увеличения числа квадратичных элементов) сводится к быстрому уменьшению среднеквадратичной ошибки (см. табл. 5.6). Скорость этого уменьшения, видная из табл. 5.6, пропорциональна Ах3 в случае квадратичных элементов. Следовательно, по мере измельчения сетки квадратичная интерполяция становится все более точной в сравнении с линейной интерполяцией.
В принципе допустимо использовать как кубическую интерполяцию, так и интерполяцию высших порядков, однако на практике не принято пользоваться интерполяцией более
высокого порядка, чем квадратичная. Несмотря на то что интерполяция высокого порядка обеспечивает большую точность, она приводит к системам уравнений, содержащим намного больше ненулевых членов, чем при использовании интерполяции низкого порядка; следовательно, интерполяция высокого порядка является более дорогостоящей в вычислительном отношении, особенно при двух или трех измерениях. Достижение надлежащего баланса между точностью и экономичностью, т. е. выбор методов обладающих вычислительной эффективностью (см. § 4.5), является одной из наиболее интересных стратегических особенностей вычислительной гидроаэродинамики.
При измельчении сетки мы вправе ожидать, что ошибка конечно-элементного решения будет уменьшаться с такой же скоростью, что и интерполяционная ошибка. В общем случае при заданной сетке ошибка решения будет больше, так как она включает и дополнительную ошибку, обусловленную тем, что решение в узловой точке не совпадает с точным решением. Грубо говоря, применение линейных аппроксимирующих функций приводит к решениям, обладающим примерно такой же точностью, что и решения, построенные с помощью конечноразностных методов второго порядка, тогда как применение квадратичных аппроксимирующих функций приводит примерно к такой же точности, что и применение конечно-разностных методов третьего порядка.
Двумерная интерполяция
Понятие конечных элементов, давшее название самому методу, становится более полезным, если число измерений превышает единицу. Так, при двух измерениях локальное решение интерполируется по отдельности внутри каждого из четырех элементов Л, В, С и D、окружающих узел (/,力)(рис. 5.11). Приближенное решение, эквивалентное выражению (5.44), весьма удобно представляется с помощью введения координатной системы (§, п), привязанной к элементу. При билинейной интерполяции приближенное решение можно записать в виде
4
7=2 7饱怎 П), (5.58)
где для каждого элемента —1 W 自 & 1, —1 Wn W 1 (см. рис. 5.11). Согласно выражению (5.58), в каждый элемент вносят свои вклады по четыре члена. Аппроксимирующая функция 。/(自,П)приобретает форму
勿 & 叫=0.25 (1 + 踹)(1 + ”n)・ (5.59)
Например, внутри элемента С, показанного на рис. 5.15, имеем
%= 0.25(1-9(1一 喻
弘= 0.25(1+9(1-叫,
% = 0.25(1+9(1+叫,(8)
勿=0.25(1—9(1+叫,
откуда следует, что 仇=1 при 三=&, n =印 и В,= 0 во всех остальных узлах. На линиях постоянного ± или 刀 аппроксими
рующие функции ф[ обнаруживают такой же характер изменения, как и одномерные аппроксимирующие функции (см. рис. 5.8).
Трехмерное изображение билинейной интерполяционной функции, центрированной в узле (/,力),показано на рис. 5.12. Рассматривая выражение (5.58) и рис. 5.12, можно убедиться, что функция Т остается непрерывной при пересечении границ элементов; однако это не так по отношению к производным Т.
Как и в одномерном случае, внутри каждого конкретного элемента можно определить двумерные биквадратные интерполяционные функции (рис. 5.13). Для лагранжевых элементов приближенное решение, эквивалентное выражению (5.44), принимает форму
9
т=£т饱怎 п), (5.61) / = 1
Рис. 5.12. Билинейная интерполяционная функция.
Рис. 5.13. Двумерные квадратичные элементы Лагранжа.
где биквадратные аппроксимирующие функции Лагранжа задаются при помощи формул
Угловые узлы:勿自叫=0.25自忐(1 +自忐)用n (1 +用叫.
Узлы в серединах
сторон 冏=0):也(自,叫=0.5 (1 — F) ”n (1 + ”n).
w(5.62)
•Узлы в серединах
сторон (用=0):仇怎叫=0.5(1 — я2)自忐(1 + “)•
-Внутренний узел: 仇 怎 n) = (1 ——¥)(1 ——Л2)-
Как и прежде, квадратичные аппроксимирующие функции Лагранжа обладают интерполяционными свойствами, т. е.
%=1, есля自=扇,9 =用, 勿=0 во всех остальных узлах.
Поведение аппроксимирующей функции (5.62) можно пред- ^ставить зрительно, придавая постоянные значения величинам 自 или п; тогда эта аппроксимирующая функция будет вести себя подобно одномерной аппроксимирующей функции, изображенной на рис. 5.10. Это обстоятельство следует из того факта, что двумерные аппроксимирующие функции Лагранжа .представляют собой просто произведения соответствующих одномерных аппроксимирующих функций. Данный факт дает возможность сделать важные выводы, касающиеся интерполяции в более чем одном измерении, особенно в связи с построением схем, расщепляющихся по размерностям (см. § 8.3).
Двумерная интерполяция на конечных элементах будет .проиллюстрирована здесь по отношению к функции
f = [1 — 0.8 cos (0.5лх)] [cos (0.5лу)],(5.63)
вид которой показан на рис. 5.14 для области ——1W%WL —1 W У W L
Эту область удобно расщепить на четыре элемента (рис. 5.15), по отношению к которым решение должно интерполироваться билинейным образом при помощи девяти узловых значений fi =力.
Внутри некоторого конкретного элемента, например С, интер- .поляционное решение 储 задается в виде
4
端=£f饱(Е, П),(5.64)
z=i
где (§, п)—локальная координатная система, связанная с элементом. Для элемента С имеем
? = 2х — 1 и п = 2у—1.
Билинейные интерполяционные функции ^; задаются формулами (5.60), а чаще — формулами (5.59).
Рис. 5.14. Двумерная функция f = [1 — 0.8 cos (0.5nx)][cos (0.5л//)].
Интерполяционное решение всего с четырьмя элементами является не очень точным. Например, в точке х = 0.5, у = 0.5
f = 0.45711,端= 0.375.
Целиком интерполяционное решение для функции (5.63) показано на рис. 5.16. Однако точность решения быстро возрастает по мере увеличения числа элементов, покрывающих область
(табл. 5.7). Показанные в табл. 5.7 результаты, относящиеся к билинейной интерполяции, свидетельствуют о том, что среднеквадратичная ошибка уменьшается пропорционально Дх2 《=Ау2).
Таблица 5・7. Ошибки в случае двумернойконечно-элементной интерполяции
Билинейная интерполяция
Биквадратичная интерполяция
Число элементов
Среднеквадратичная ошибка
Число элементов
Среднеквадратичная ошибка
4
0.08527
—
16
0.02199
4
0.01199
64
0.00557
16
0.00151
64
0.00019
Более точная интерполяция может быть достигнута за счет применения биквидратичной интерполяции. Тогда каждый эле-
Рис. 5.16. Билинейная интерполяция функции (5.63).
мент имеет девять узловых значений (см. рис. 5.13), которые интерполируются с помощью выражения
9
储=2力勿氐П),(5.65)
где интерполяционные функции 勿隽,刀)задаются с помощью формул (5.62). Как видно из табл. 5.7, элементы с биквадра-
тичной интерполяцией являются более точными, чем элементы с билинейной интерполяцией при сохранении одинакового числа узловых точек. Обращаясь к табл. 5.7, отметим, что 16 соприкасающихся линейных элементов содержат такое же число узловых точек, как и 4 соприкасающихся линейных элемента. По мере того как большее число квадратично-интерполируемых элементов используется для покрытия области —1W%W1> —1W 乡 W1, среднеквадратичная ошибка убывает пропорционально Ал:з ( = а〃з)
Аппроксимирующие функции Лагранжа могут быть введены и в случае трех измерений. При реализации трилинейной интерполяции элементы в форме кирпичиков и имеющие па восемь узлов заменяют прямоугольные элементы с четырьмя узлами, фигурировавшие при двух измерениях. В случае три- квадратичной интерполяции элементы-кирпичики с 27 узлами, заменяют прямоугольные элементы с 9 узлами в двух измерениях [Zienkiewicz, 1977]. При рассмотрении случаев двух и- трех измерений введение кубической интерполяции и интерполяции более высоких порядков вполне возможно, но не представляет большого интереса вследствие большого числа взаимосвязанных узлов [Fletcher, 1984].
Имеется возможность исключить центральный узел из квадратичного прямоугольного элемента, показанного на рис. 5.13; это приводит к построению серендиповских элементов и к такой интерполяции, при которой внутренние узлы не затрагиваются. Введение таких элементов возможно при квадратичной или имеющей более высокий порядок интерполяции и при любом числе измерений. Серендиповские элементы описываются в книге [Zienkiewicz, 1977].
§ 5・4. Метод конечных элементови уравнение Штурма — Лиувилля
В п. 5.1.1 метод Галёркина был определен как принадлежащий к классу методов взвешенных невязок. При введении формы приближенного (интерполяционного) решения, строящегося по методу конечных элементов, т. е. выражения (5.44), под-^ черкивается, что неизвестными являются узловые значения, а аппроксимирующие функции представляют собой кусочно-определенные полиномы низкого порядка. Здесь мы применим метод Галёркина с конечными элементами к решению уравнения Штурма — Лиувилля, имея в виду проиллюстрировать технику реализации метода.
Подробная формулировка задачи
Упрощенное уравнение Штурма — Лиувилля можно записать ъ виде
2_L
^. + Y = F = -^a^sin(1^ °-5)冗工 (5.66)
I=1
& граничными условиями
亍(0) = 0 и 靠⑴=0.(5.67)
Для частного вида F、фигурирующего в правой части (5.66), ■точное решение задачи имеет вид
L
У = - 2 1 二又72G.可京戸 sin [(Z - 0.5) лх]. (5.68)
Метод Галёркина с конечными элементами начинается с введения в качестве приближенного решения некоего пробного
решения, эквивалентного выражению (5.44), в виде
у=£ 匕科 &),(5.69)
причем функции 办(х) представляют собой линейные аппроксимирующие функции, которые в элементной системе координат при х = х(Н) могут быть заданы выражениями (рис. 5.17) Внутри элемента 4 科(J) = 0.5 (1 + 自),自=—~(?£ 十 々)CL ; Внутри элемента В:勿(自)=0.5 (1 — ^),自=—一~(:广:/+!)С1.
(5.70)
Подстановка выражения (5.69) в уравнение (5.5) дает невязку решаемого уравнения в виде
R = S" + y-E(5・7D
Использование уравнения взвешенных невязок (5.6) при Wm (х) = фт (х) дает
1
\(%)(备 + у _ 尸"工=о・(5・72>
о
Можно отметить, что здесь интегрирование выполняется по области 0 &%& 1. Если учесть, что в формуле (5.69) решение выражается через узловые значения У/, в уравнении (5.72) не могут появляться производные старше первой [Mitchell, Wait, 1977]. На этом основании используется интегрирование по частям, приводящее к следующему соотношению:
)(力备)黑]:-J (誓)("(5・73>
Учитывая, что У(0) = 0, нет надобности записывать уравнение с /п = 0 (см. рис. 5.17). Для m ^ 1 имеем 屮俏(0) = 0・ При. х = 1 dy/2% = 0 и поэтому формула (5.73) принимает вид
1
^芸)(幣)(紛任(5・74>
Оо
Подставляя (5.74) и (5.69) в уравнение (5.72) и проводя не。 которые перестановки, получаем
dJ "^^ + 小加科)dx\ Уу = ^ 3m 尸 dx,— 1, .. •, /• (5.75》
」 о
Все члены, стоящие под знаками интеграла, известны, так что (5.75) представляет собой фактически систему алгебраических уравнений, которую можно записать в векторной форме:
BY=G,(5.76>
где Ьт> /, т. е. элемент матрицы В, выражается по формуле
%,/ = \ (二货需 + dx, (5.77》 О
тогда как У/ есть элемент вектора Y, a gm — элемент вектора
1
gm = \ § mF dx.(5.78)
о
Правую часть формулы (5.77) достаточно просто вычислить, если превратить интеграл по х в интеграл по §, взятый для каж-
Элемент 8Элемент 8Рис. 5.18. Вклады, соответствующие узлам и элементам и вносимые в дискретизированные уравнения, (а) Линейная интерполяция; (Ь) квадратичная интерполяция, угловой узел.Рис. 5.18. Вклады, соответствующие узлам и элементам и вносимые в дискретизированные уравнения, (а) Линейная интерполяция; (Ь) квадратичная интерполяция, угловой узел.
Элемент 8
Элемент 8
Рис. 5.18. Вклады, соответствующие узлам и элементам и вносимые в дискретизированные уравнения, (а) Линейная интерполяция; (Ь) квадратичная интерполяция, угловой узел.
Рис. 5.18. Вклады, соответствующие узлам и элементам и вносимые в дискретизированные уравнения, (а) Линейная интерполяция; (Ь) квадратичная интерполяция, угловой узел.
дого элемента по очереди (рис. 5.17). Если учесть, что функции 力俏 также задаются формулами (5.70), то ненулевые вклады дают только элементы, примыкающие к узлу j = т. Для узла т — J вклад в расчет по формулам (5.77) и (5.78) дает только один элемент. Следовательно, матрица В является трехдиагональной, т. е. отличны от нуля лишь нижеследующие члены (у&J—1):
_ 1 f
5 + 5+1 з5 + 5+1 зA勺+1十 6A勺+1十 6(5.79)(5.79)玩/+1玩/+1
5 + 5+1 з
5 + 5+1 з
A勺+1十 6
A勺+1十 6
(5.79)
(5.79)
玩/+1
玩/+1
а для узла т — J:
1А%,
%,/-1=丽+丁
-1Дх.(6j,j + i = 0)・
Величины шагов △%/ и А/+1 показаны на рис. 5.18.
На первый взгляд, если учесть, что величина 尸 известна из вида уравнения (5.66), правую часть в (5.78) можно вычислить непосредственно. Однако в более общем случае, когда F известна, но является сложной функцией %, удобно провести для 尸 такую же интерполяцию, как и для У, т. е. записать
尸=£?例(5.80)
где узловые значения 尸了 задаются непосредственно из уравнения (5.66). Подстановка формулы (5.80) в выражение (5.78) дает
gm = £ 尸j,ФтФ} ^Х.(5.81)
/ = 1 О
В случае линейных аппроксимирующих функций правую часть формулы (5.81) можно рассчитать в виде (1&/&/—1)
g,= (*)j+(卄吗戶,+ (舞少(5.82)
а для m = J: gj = (Axj/6) Fj^ + (Лх7/3) Fj.
Рассматривая частный случай A/・=A%/+i = Дх, поучительно полностью выписать все члены уравнения (5.76), разделив их на Аг. В результате получим (1 W j & J — 1)
=[佶)尸~ + 信)6 +传)Q+J(5 83)
Очевидно, первая группа членов совпадает с конечно-разностным представлением d2Y/dx2. Второй и третий члены соответствуют оценке величин Y и F в качестве средневзвешенных по трем соседним узловым значениям. Набор весовых коэффициентов (1/6, 2/3, 1/6) характерен для линейных элементов в применении к однородной сетке.
С учетом трехдиагонального характера системы уравнений (5.76) имеется возможность экономного построения решения путем использования алгоритма Томаса (см. п. 6.2.2).
Решения были получены при следующих значениях а/ в уравнении (5.66):
〃] = 1・0, а2 = —0.5, @3 = 0.3, q《=—0.2, @5 = 0・1.
Для точек, разделенных одинаковыми интервалами, среднеквадратичная ошибка, полученная при различных значениях /,
Таблица 5・8・ Среднеквадратичная ошибка при решении упрощенного уравнения Штурма — Лиувилля
J
Mllrms
6
0.2
7.830 X Ю~3
11
0.1
1.860 X Ю~3
21
0.05
0.447 X Ю~3
41
0.025
0.109 X Ю~3
81
0.0125
0.027 X Ю-3
показана в табл. 5.8. Эта среднеквадратичная ошибка определяется выражением
Уменьшение ошибки при уменьшении А%, показанное в табл. 5.8, пропорционально Дх2. Это согласуется с теоретически предсказанным результатом для случая линейной интерполяции, причем имеет тот же самый порядок, как и для трехточечных центрированных конечно-разностных формул (см., например, табл. 7.1).
STURM: программа расчетапо уравнению Штурма — Лиувилля
В п. 5.4.1 метод конечных элементов с линейной интерполяцией применяется к решению упрощенного уравнения Штурма—Лиувилля (5.66) с граничными условиями в форме (5.67). В данном пункте будет дано описание компьютерной программы STURM, предназначенной для получения конечно-элементных решений задачи (5.66) — (5.67) при использовании линейной и квадратичной интерполяции.
В случае использования квадратичных интерполяционных функций (5.57) формулы (5.77) и (5.81) принимают следующую форму, пригодную для угловых узлов по внутренней части
области:,
—1Дх у
М,/-2=ё"^ 歹,
厶4( 2 Дху
乙,/= T(轟 + 試;)+ 書(5 + 5+1),(5・84)
42 Дх/ + 1
玩/ + 1 = 3 厶勺十]Т 15,
gi =-(箒)尸+ (^0 F/-l + 負(% + Ax/ + 1)F/ +
+ (2 A")尸f)尸/+2・(5・85)
Особая форма выражений (5.84) и (5.85) является следствием ограничений %,_1 = 0.5 (%/т + %,) и %/+】=0.5(%/+ %/+2)・ Эти ограничения могут быть ослаблены, что, однако, приведет к усложнению алгебраических выражений.
В граничном узле т = J формулы (5.77) и (5.81) принимают вид
—1А%,
",а = 6 А%,15~,
",з=Т^; + ^"'(5・86)
-74 А%丿
6Л/= бдТ; + -15-;
gj =-(整)尸J-2 + (^^)尸+ (^2")尸丿・(5。87)
Подставляя (5.74) и (5.69) в уравнение (5.72) и проводя не- терполяции, но центрированных в узлах в середине сторон, формулы (5.77) и (5.81) принимают вид
42 %•
&,7-1 = ЗА打L5-,
816 А%/.
力,7 = 一 У5^7 + -(5'8)
42 А弓
玩 j + LT^"-1ГТ-;
g/= (^~) J + (^9 尸j + (^S9 尸/+】•(5.89)
Система уравнений (5.76) является трехдиагональной, если применяется линейная интерполяция, а в случае применения квадратичной интерполяции — попеременно трехдиагональной и пятидиагональной. Эффективные модификации метода исключения по Гауссу могут быть использованы для решения уравнений (5.76) в том или ином из указанных случаев и описываются в пп. 6.2.2 и 6.2.3.
конеч- (5.66). Основ- описы-конеч- (5.66). Основ- описы-Программа STURM применяет метод Галёркина с ными элементами к уравнению Штурма — Лиувилля Распечатка программы STURM приводится на рис. 5.19. ные параметры, используемые в программе STURM, ваются в табл. 5.9.
конеч- (5.66). Основ- описы-
конеч- (5.66). Основ- описы-
Таблица 5.9. Параметры, используемые в программе STURM
Параметр
Описание
INT
=1, линейная интерполяция; =2, квадратичная интерполяция
IPR
=0, выдать на печать лишь среднеквадратичную ошибку;
=1, выдать на печать также и решение
NX А F YEX В G BANFAC BANSOL RMS
Число точек в направлении оси %, включая х = 0их=1.0
Коэффициенты а/ в уравнении (5.66)
Узловые значения для правой части (5.66)
Точное решение У, формула (5.68)
В в уравнении (5.76)
G в уравнении (5.76)
См. п. 6.2.3
См. п. 6.2.3
Среднеквадратичная ошибка
Программа STURM считывает (и выводит на печать) исходные управляющие параметры (строки 11—21). Задаются значения х, точное решение, а также узловые значения функции 尸 в правой части уравнения (5.66) (строки 28—42). Вычисляются вклады в матрицу В и вектор G в уравнениях (5.76) (строки 43—69) и проводится корректировка с целью учета граничных условий. Система уравнений (5.76) с ленточной матрицей решается путем обращения к подпрограмме BANFAC (строка 83), выполняющей факторизацию В в произведение L・U, и обращения к подпрограмме В ANSOL (строка 86) для решения факторизованной системы. Распечатка и описание подпрограмм BANFAC и В ANSOL дается в п. 6.2.3. Далее рассчи-
12 К. Флетчер, т. 1
СSTURM COMPUTES THE SOLUTION OF THE STURM-LIOUVILLE PROBLEM,
СP « Q = 1, F « -SIG(AL*SIN(L-0.5)*PI*X), USING THE FINITE ELEMENT
C METHOD ON A UNIFORM GRID VITH EITHER LINEAR OR QUADRATIC
C INTERPOLATION.
C THE BANDED SYSTEM IS SOLVED WITH BANFAC, BANSOL (SECTIOH 6.2)・ 8 C
9 DIMENSION Y(65),YEX(65),X(65),B(5,65),G(65),F(65),A(5),YD(65) 10 C 11OPEN(1,FILE=*STURM.DAT*)
OPEN(6,FILE=«STURM.OUT*)
READ(1,1)INT,IPR,NX,A
1 FORMAT(3I5,5E10.3)
15 C
16IF(INT .EQ. l)VRITE(6r2)
17IF(INT .EQ. 2)VRITE(6,3)
18VRITE(6r4)NXrA
2 FORMAT(» STURM-LIOUVILLE PROBLEM, FEM:LINEAR INTERPOLATION*)
3 FORMAT(• STURM-LIOUVILLE PROBLEM, FEMQUADRATIC INTFEFOLATION*>
4 FORMATS NX»\I3r * A«* ,5E10.3,//)
23 PI = 3.1415927
NXP=NX - 1
ANX«NXP
DX « l./ANX
DXS=DX*DX
C
C SET GRID; EXACT SOLUTION AND RBS(F)
C、
DO 5I « 1,NX
AI »I- 1
X(I)«AI*DX
F(I)=0.
YEX(I)= 0.
DO 5L= 1,5
AL =L
AL =(AL - 0.5)*PI
DUM = A(L)*SIN(AL*X(I))
F(I)« F(I) - DUM
YEX(I) = YEX(I) - DUM/(1. - AL*AL) 42一 5 CONTINUE
.C
C SET UP ARRAYS, В AND G 45 C
46DO 7 I « 2,NX,INT
47IM « I - 1
48IF(INT .EQ. 2)GOTO6
49B(lrIM) = 0.
50B(2rIM) = 1.7DXS +1./6.
51B(3,IM)=-2./DXS+2./3.
52B(4,IM)=B(2,IM)
53B(5,IM)=0.
54G(IM) =(F(I-l) +4.*F(I) + F(I+l))/6.
55GOTO 7
Рис. 5.19. Распечатка программы STURM (начало).
56 57 S8 59 60 61 砧 6364 6566 6768 6970 С 71 С 72 С 73 74 75 % 77 78 7980 С91 С 82 С 83 £4 С 85 С 86 87 С 88 С 89 С 90 С 91 92 93 94 $5 96 97 98 99100 101 102 103104 10556 57 S8 59 60 61 砧 6364 6566 6768 6970 С 71 С 72 С 73 74 75 % 77 78 7980 С91 С 82 С 83 £4 С 85 С 86 87 С 88 С 89 С 90 С 91 92 93 94 $5 96 97 98 99100 101 102 103104 105ва,по * о.
56 57 S8 59 60 61 砧 63
64 65
66 67
68 69
70 С 71 С 72 С 73 74 75 % 77 78 79
80 С
91 С 82 С 83 £4 С 85 С 86 87 С 88 С 89 С 90 С 91 92 93 94 $5 96 97 98 99
100 101 102 103
104 105
56 57 S8 59 60 61 砧 63
64 65
66 67
68 69
70 С 71 С 72 С 73 74 75 % 77 78 79
80 С
91 С 82 С 83 £4 С 85 С 86 87 С 88 С 89 С 90 С 91 92 93 94 $5 96 97 98 99
100 101 102 103
104 105
В(2ДМ) ж 4.*(1./DXS + 0.D/3.
B(3rIM) ■ 4JS2./DXS + 0.8)/3.
В(4ДМ) « В(2,1К)
В(5ДМ) « 0.
G(IM) * 0.4*(F(I-l) + 8.*F(I) + F(I+l))/3.
B(1,I) ■ 2.*(-0.25/DXS - 0.D/3.
В(2Д)•2.*(2./DXS+O.2)/3.
ВОД)м2.*(-3.5/DXS+0.8)/3.
В(4Д)-B(2,I)
B(5rI)■B(lrI)
G(I) « -0.1*(F(I-l)+F(It3)) + 0.2*(F(I)*T(I+2)) + 0.8*F(I+l)
G(I) « 2JG⑴/3.
CONTIITO1;
ADJUST FOR BOUNDARY CONDITIONS
B(2J) ■ 0.
B(l,2) ■ 0.
B(3£NXP) « 0.5*B(3rNXP)
B(4,NXP) - 0・
B(5,NXP) ■ 0.
IF(IMT .EQ・ l)G(NXP) - (F(NXP) + 2.*F(HX))/6.
IF(I»T ・EQ・ 2)G(NXP) « 2.*(-0.1*F(HXP-l) + 0.2*F(NXP) + 0.4*F(MX))
SOLVE BANDED SYSTEM OF EQUATIONS
CALL BANFAC(B,NXPrINT)
CALL BANSOL(G,YD,B,NXPJMT)
COMPUTE RMS ERROR
SUM = 0.
DO 9 I « 2,NX
Y(I) м YD(I-l)
DY м Y(I) - YEX(I) SUM « SUM + DY*DY IF(IPR .EQ. OJGOTO 9 WRITE(6r8)IrX(I),Y(I),YEX(I),DY
FORMATC I»1 ДЗ/ "IF7.5J Y«\F7.5/ YEX«\F7.5J DY«\ 1F7.5)
CONTINUE
RMS = SQRT(SUM/ANX) WRITE(6,10)RMS,NX
FORMAT(/// RMS«\E10.3,1 NX—I3) STOP
END
Рис. 5.19 (окончание).
тывается и выводится на печать (строки 87—103) среднеквадратичная ошибка как разность между значениями Y, выданными после обращения к В ANSOL, и точным решением.
Типичная выдача для случая линейной интерполяции при Дх = 0.125 представлена на рис. 5.20. Показанное решение соответствует следующему набору коэффициентов Л/ в уравнении (5.66):
@1 = 1.000, @2 = —1.000, @з=1・000,&4= —1.000, 的=1.000.
Результаты, показанные на рис. 5.20, свидетельствуют о том, что в общем случае ошибка решения меньше вблизи границы с условием Дирихле, чем вблизи границы с условием Неймана.
STURM-LIOUVILLE PROBLEM, FEM:LINEAR INTERPOLATION
NX= 9 A= .100E+01 -.100E+01 .100E+01 -.100E+01 Л00Е+01
1=
2
Х= .12500
Y» .11631
YEX= .11721
DY=-.00089
1=
3
Х= .25000
Y= .22691
YEX= .22733
DY=-.00042
1=
4
Х= .37500
Y= .33732
YEX= .33833
DY=-.00100
1=
5
Х= .50000
Y= .44403
YEX= .44633
DY=-.00230
1=
6
Х= .62500
Y= .53796
YEX= .53943
DY=-.00147
1«
7
Х= .75000
Y= .62765
YEX= .62899
DY=-・00134
1=
8
Х= .87500
Y= .71190
YEX= .71739
DY=-.00549
1=
9
Х=1.00000
Y= .74987
YEX= .75848
DY=-.00861
RMS= .380E-02 NX= 9
Рис. 5.20. Типичная выдача после прохождения программы STURM.
В табл. 5.10 приводится сравнение среднеквадратичных ошибок решения при линейной и квадратичной интерполяции и при измельчении сетки.
Таблица 5.10. Ошибки решения для задачи Штурма — Лиувилля
Размер ячейки, Дх
Среднеквадратичная ошибка
Линейная интерполяция
Квадратичная интерполяция
1/8
0.00380
0.00148
1/12
0.00163
0.000178
1/16
0.000904
0.000056
1/20
0.000562
0.000023
Следует отметить такие особенности результатов, приводимых в табл. 5.10:
Интерполяция высокого порядка (т. е. квадратичная) оказывается лишь ненамного более точной, чем интерполяция низкого порядка (линейная), если применяется очень грубая сетка.
При измельчении сетки точность интерполяции высокого порядка возрастает с большей скоростью, чем для интерполяции низкого порядка.
Теоретические скорости сходимости оказались приближенно достигнутыми (пропорционально Дх2 в случае линейной интерполяции и пропорционально Дх3 в случае квадратичной интерполяции).
Стоит напомнить, что при применении метода конечных элементов аппроксимирующие и весовые функции отличны от нуля лишь внутри малой области, окружающей рассматриваемый узел. Следовательно, метод конечных элементов является локальным методом. Как и в случае конечно-разностного метода, уравнения (алгебраические), возникающие при использовании метода конечных элементов, связывают между собой узловые значения неизвестных лишь внутри малой области. Однако при решении многомерных задач число охватываемых таким образом узлов для метода конечных элементов существенно больше, чем для метода конечных разностей (см. § 8.3 и книгу [Fletcher, 1984].
§ 5.5. Другие приложения метода конечных элементов
В данном параграфе метод конечных элементов применяется к решению уравнения диффузии (п. 5.5.1), уравнения Пуассона (п. 5.5.2) и уравнения Лапласа (п. 5.5.3). Первая из этих задач позволяет проиллюстрировать обычную для метода конечных элементов практику, когда дискретизируются только пространственные члены. Дискретизация члена с производной по времени осуществляется как отдельный этап. Во второй задаче вводятся две пространственные координаты, в результате чего усложняется структура дискретизированных уравнений. Третья задача дает представление о реализации изопараметри- ческой формулировки, весьма полезной для вычислительных областей неправильной формы.
/. Уравнение диффузии
Этот пункт посвящен применению метода конечных элементов к решению одномерного уравнения диффузии
(теплопроводности)
票— а 芻(5.90)
в интервале 0^х^1_и/^0. Предполагается, что начальное условие имеет форму Т(х, О)=?о(%), а граничные условия записываются в виде 7(0, 6 = а и 7(1, f) = b.
Введение тех же самых линейных аппроксимирующих функций (5.70), которые использовались в задаче Штурма — Лиувилля, и такой же способ применения метода Галёркина с конечными элементами дают на однородной сетке следующий результат для внутренних узлов:
Г^1 丄 21а(〃т-2〃 + Т/+1)
丄一】十行丄 + 石 LirJ/+1др=°-
(5.91)
Для указанных выше граничных условий Дирихле не требуется вводить дискретизированные уравнения у граничных узлов.
С учетом того что конечно-элементная формулировка применяется только к пространству, член dT/dt в уравнении (5.90) подвергается такой же обработке, как и непродифференциро- ванный (по пространству) член У в уравнении (5.66). Не удивительно поэтому, что в (5.91) и (5.83) появляются одни и те же весовые множители (1/6, 2/3, 1/6). Если dT/dt заменяется яа AT^+i/Af, а последний член в левой части уравнения (5.91) вычисляется как средневзвешенная величина по отношению к n-му и (п + 1)-му слоям по времени, т. е. так, как в уравнении (7.24), то результат принимает форму
1 ( АТ;寸、2 产、1
(5.92)(5.92)1 — 27; +3+1)В(Т>,一277+1 +
(5.92)
(5.92)
Дх2А%2
где параметр 0 регулирует степень неявности. Уравнение (5.92) можно представить в следующей компактной форме:
石算:= а[(1- ₽) LXXT^ + ^LXXT^] = 0,(5.93)
где ДГ/+I = Г/+1 — 71/ и массовый, и разностный операторы Мх и Lxx определяются соответственно формулами
必= (1/6, 2/3, 1/6), £ХХ = (1/Дх2, -2/А* 1/А%2).
Сравнение с неявной конечно-разностной схемой (7.24) показывает, что единственная разница между ними состоит в том, что член с производной по времени в конечно-элементном варианте разбит на слагаемые, определяемые в соседних узлах. Уравнение (7.24) может быть приведено к форме уравнения (5.93), если дать следующее определение массового оператора:
М? =(о, 1, о).
Подобие структуры уравнения (5.93) и уравнения (5.90), послужившего его прообразом, наталкивает на мысль о том, что метод конечных элементов можно интерпретировать как почленный процесс дискретизации наподобие конечно-разностного метода. Такая интерпретация изучается в приложении А.2 и используется в § 8.3.
После перестановки членов уравнения (5.93) можно получить неявный алгоритм
(Мх — Л/а犯%*) 7产=[Mx + A/а(1 — p) LXX]T^ (5.94>
Важность структуры соотношения (5.94) можно лучше оценить после прочтения § 7.2. Многократное применение соотношения (5.94), центрируемого в каждом из узлов по очереди, позволяет получить трехдиагональную систему уравнений, которую можно решить с помощью алгоритма Томаса (см. п. 6.2.2).
Как будет видно далее, приравнивание р = 0 в случае конечно-разностной схемы (7.24) приводит к явному алгоритму. Это не так в случае рассматриваемой схемы вследствие «неявного» характера оператора Мх. Однако благодаря симметричной природе операторов Мх и £хх, из соотношения (5.94) все же можно получить явную схему, если сделать специальный выбор Д/ = Дх2/(6аР).
Соотношение (5.94) согласуется с уравнением (5.90) при ошибке усечения О (Д/2,厶炉),если р = 0.5, и обладает безусловной устойчивостью, если 8 力 0.5. При специальном выборе В = 0.5 соотношение (5.94) было применено к анализу примера, рассмотренного в п. 7.2.5; результаты анализа приведены в табл. 7.6.
DUCT: течение вязкости жидкостив канале прямо угол иного сечения
Здесь метод конечных элементов будет использован с целыа представления в дискретной форме характерной двумерной задачи. Полностью развитое ламинарное течение вязкой жидкости в канале прямоугольного сечения (рис. 5.21) определяется
(5.95)(5.95)уравнением импульсов в проекции на ось z: др / d2w . d2w、
(5.95)
(5.95)
где осевая скорость w(x, у) должна быть определена при заданном градиенте давления др/dz и заданной вязкости ц.
С точки зрения вычислений целесообразно привести (5.95) к безразмерной форме путем введения величин
/d =号' У 哈, ^/ =陶(一庐器»£). (5・96)
Тогда уравнение (5.95) принимает вид (индекс nd опущен)
(5.97)
© граничными условиями
(5.98)(5.98)也=0 при х = ± 1, у = ±1・
(5.98)
(5.98)
Следуя процедуре наподобие той, которая в п. 5.4.1 при-Следуя процедуре наподобие той, которая в п. 5.4.1 при-менялась к уравнениюменялась к уравнениюШтурма — Лиувилля, для w вводится пробное решение видаШтурма — Лиувилля, для w вводится пробное решение вида—а,—а,ттРис. 5.21. Течение вязкой жидкости в канале прямоугольного сечения.Рис. 5.21. Течение вязкой жидкости в канале прямоугольного сечения.侬=2 3吊(招 //), (5.99) f=iгде 办(%, у)—двумерные интерполяционные функции, как правило, определяемые формулами, эквивалентными (5.60) или (5.62). Для данной задачи на каждом из элементов будут введены билинейные интерполяционные функции по схеме, представленной на рис. 5.15.侬=2 3吊(招 //), (5.99) f=iгде 办(%, у)—двумерные интерполяционные функции, как правило, определяемые формулами, эквивалентными (5.60) или (5.62). Для данной задачи на каждом из элементов будут введены билинейные интерполяционные функции по схеме, представленной на рис. 5.15.Подстановка выражения (5.99) в уравнение (5.97), применение галёркинской формулировки в виде (5.5) и (5.10) и некоторые простые перестановки приводят к следующей системе алгебраических уравнений:Подстановка выражения (5.99) в уравнение (5.97), применение галёркинской формулировки в виде (5.5) и (5.10) и некоторые простые перестановки приводят к следующей системе алгебраических уравнений:
Следуя процедуре наподобие той, которая в п. 5.4.1 при-
Следуя процедуре наподобие той, которая в п. 5.4.1 при-
менялась к уравнению
менялась к уравнению
Штурма — Лиувилля, для w вводится пробное решение вида
Штурма — Лиувилля, для w вводится пробное решение вида
—а,
—а,
т
т
Рис. 5.21. Течение вязкой жидкости в канале прямоугольного сечения.
Рис. 5.21. Течение вязкой жидкости в канале прямоугольного сечения.
侬=2 3吊(招 //), (5.99) f=i
где 办(%, у)—двумерные интерполяционные функции, как правило, определяемые формулами, эквивалентными (5.60) или (5.62). Для данной задачи на каждом из элементов будут введены билинейные интерполяционные функции по схеме, представленной на рис. 5.15.
侬=2 3吊(招 //), (5.99) f=i
где 办(%, у)—двумерные интерполяционные функции, как правило, определяемые формулами, эквивалентными (5.60) или (5.62). Для данной задачи на каждом из элементов будут введены билинейные интерполяционные функции по схеме, представленной на рис. 5.15.
Подстановка выражения (5.99) в уравнение (5.97), применение галёркинской формулировки в виде (5.5) и (5.10) и некоторые простые перестановки приводят к следующей системе алгебраических уравнений:
Подстановка выражения (5.99) в уравнение (5.97), применение галёркинской формулировки в виде (5.5) и (5.10) и некоторые простые перестановки приводят к следующей системе алгебраических уравнений:
BW=GBW=G(5.100)
BW=G
BW=G
где компонентами вектора W являются неизвестные узловые значения 侬》, фигурирующие в (5.99), тогда как элементами матрицы В являются выражения
1 1
NK紆禦需+需"»%,(5.101)
а компонента вектора G задается формулой
1 1
(5.102)
Параметр т соответствует номерам всех внутренних узлов», т. е. 2 W j W NX—1, 2&^WNy—1. Интегралы в (5.101) лучше всего вычислять для каждого элемента по отдельности», используя элементные координаты (§, п), как в (5.64). Нулевые вклады в глобальные интегралы в правых частях (5.101) и (5.102) вносят лишь по четыре соседних прямоугольных элемента, окружающих узел т.
Структура выражений (5.101) -и (5.102) аналогична структуре выражений (5.77) и (5.78), если не считать того, что интегрирование теперь ведется по двум измерениям вместо одного. Интерполяционные функции % (%, у) оказываются такими, что вклады в интегрирование могут быть определены в форме произведений одномерных интегралов (см. приложение А.2).
В случае однородной сетки уравнение (5.100) приобретает особенно компактную форму
\{^У My^Lxx +Mx^Ly^ wiik = —l9(5.103>
где индексы /,々 соответствуют глобальной сетке (рис. 5.11). Операторы £хх и Lyy в уравнении (5.103)—это направленные разностные операторы
(5.104)(5.105)Опера-(5.104)(5.105)Опера-£ХХ = (1/Дх2, -2/Ах2, 1/Дх2),人=(1/V,一2/旷,1/ду2)rа Мх и Му — направленные массовые операторы此=鹿=(1/6, 2/3, 1/6);
(5.104)
(5.105)Опера-
(5.104)
(5.105)Опера-
наконец, символ ® обозначает тензорное произведение, торы имеют следующий смысл:
£%% 吗,k£%% 吗,k吗-八一2侬/й +吗+1»吗-八一2侬/й +吗+1»Дх2Дх2
£%% 吗,k
£%% 吗,k
吗-八一2侬/й +吗+1»
吗-八一2侬/й +吗+1»
Дх2
Дх2
MyWj, k = (1/6)吗,I + (2/3) Wj,々 + (1/6)吗,々+1, =^^j +
侬了一1,々一2⑪人々+侬了+ 1,々侬了一1,々一2⑪人々+侬了+ 1,々+
侬了一1,々一2⑪人々+侬了+ 1,々
侬了一1,々一2⑪人々+侬了+ 1,々
(5.106>(5.106>1 1 / wi~l,k- \ —2ш/, fe-1 + w/+i, k-1
(5.106>
(5.106>
Комплекс Мх ® LyyWj,々 имеет аналогичную структуру.
Трехточечная конечно-разностная дискретизация уравнения (5.97), эквивалентная данной, имеет вид
Y 味 1,h一2吗,h +叫+i,h叫,h-'-2 叫 Z 叫,h+\ =_]
(5.107) и может быть представлена в форме (5.103), если определить Мх, fd = м£, fd = (0, 1, 0).
Сами по себе массовые и разностные операторы, фигурирующие в уравнении (5.103), идентичны тем операторам, которые фигурировали в уравнении (5.93). Главным отличием первого из указанных уравнений от второго является то, что в результате интегрирования по двум измерениям возникает тензорное произведение одномерных операторов. Указанное отличие и обозначения массовых операторов были использованы в § 8.3. Более подробное обсуждение этих обозначений дается в приложении А.2. Важность введенного обозначения состоит в том, что оно позволяет осуществлять почленную конечно-элементную дискретизацию вполне аналогично тому, как это делается в методе конечных разностей.
Систему уравнений, получаемую путем записи уравнения (5.103) для каждого внутреннего узла (/ = 2, ..., J — 1; 应=2, ..., К—1), очень удобно решать с применением ПВР (см. § 6.3) подобно тому, как это делалось в п. 5.2.3. Чтобы •обеспечить согласование с распечаткой программы DUCT (рис. 5.22), соответствующий алгоритм записывается в форме ^ ,= 0.75 [1. +(PAR 1/6) X
X (叫т 左+i + 吗+i,力+i + 叫” —+ 3注* — 1) +
+ PAR2 (吗,+1 + %%3) + PAR3 (*" 计明],Q]/PAR1,
(5.108) 牙де
PARl=(6/a)2/Ax2+ l/Ai/2,
PAR2 = [- (〃а)2/М + 2/Ду2]/3, PAR3 = [2 0伍产/a%2 - 1/ду2]/3
С помощью соотношения (5.108) определяется предварительное решение, а формула (5.109) дает улучшенное решение
吗" =吗£+九(%々-然々),6 1°9)
где 九一параметр релаксации согласно ПВР.
Вышеприведенная формулировка реализуется в программе DUCT (рис. 5.22) с целью определения распределения скорости в канале прямоугольного сечения (рис. 5.21). Программа
cc c c c c c 123-4 56789cc c c c c c 123-4 567897g N xdoaky7g N xdoaky
cc c c c c c 123-4 56789
cc c c c c c 123-4 56789
7
g N xdoaky
7
g N xdoaky
DUCT.FOR COMPUTES THE FULLY DEVELOPED VISCOUS LAMINAR FLOW IN A RECTANGULAR CHANNEL OF ASPECT RATIO, B/Л (* BAR), BY FEM (LINCAR ELEMENTS) AND FDM OPT CENTERED DIFFERENCES).
SOR IS USED TO OBTAIN ITERATIVE SOLUTION
DIMENSION VEX(41r41)ЛА(41,41)
OPEN(1,FILE»*DUCT.DAT*)
OPEN(6rFILE*,DUCT.OUT*)
READ(lrl)NXrMErNEMrIPRrITMXrBARrEPS#OM
1 F0RMAT(5I5,3E10.3)
IF(ME .EQ. 1)NRITE(6,2)
IF(ME ・EQ・ 2)WRITE(6,3)
FORMATC DUCT FLOW BY FEM: LINEAR ELEMENTS')
FORMAT(* DUCT FLOW BY FDM: 3PT CEN. DIFF.1) VRITE(6r4)NXrNEMrBARrITMXrEPSrOM
FORMATS NX** ДЗ/ NEM«* Д2, * B/A=IF5・2J MAX ITER tU, 1, CONV TOL « “10.3」 OM « LF6・3,〃)
PI « 3.1415927 NH « NX/2 + 1 MY « NX HXP « NX - 1 KYP « NXP ANX « NXP DX « 2./ANX DXS « DX*DX DY - DX DYS « DXS BAS « BAR*BAR/DXS PARI « BAS + l./DYS FAR2 « (2./DYS - BAS)/3. PAR3 = (2.«BAS - l./DYS)/3.
SET UP EXACT AND INITIAL SOLUTIONS
J « 1,NX
J - 1
-1. + AJ*DX
К н 1,NY К - 1
-1. + AK*DY
CALL VEL(XrYrNEMfPIrBARtVD,QliX)
VEX(J,K) « WD
WA(J,K) м ND
CONTINUE
IF(IPR .EQ. OJGOTO 7
VRITE(6r6) (WEX(JrK).K<fNY)
FORMATS VE=* ,10F7.4)
CONTINUE
WRITES, 8)
FORMAT(/)
c c c c c c89012345678901234567890123456789012345678901234567890155666666666677777777788888888889999999999oooooooooo11c c c c c c89012345678901234567890123456789012345678901234567890155666666666677777777788888888889999999999oooooooooo11ITERATE USING SOR
c c c c c c
890123456789012345678901234567890123456789012345678901
55666666666677777777788888888889999999999oooooooooo11
c c c c c c
890123456789012345678901234567890123456789012345678901
55666666666677777777788888888889999999999oooooooooo11
DO 13 I « 1;ITMX SUM « 0.
DO 12 J « 2,NXP
JM « J - 1 JP « J + 1 DO 11 К « 2,NYP KM ® К - 1 KP « К + 1 IF(ME .EQ. 2)GOTO 9 DUM = 1・ + PAR1/6・*(NA(JM,KP) + NA(JP,KP) + WA(JM,KM) + VA(JPrKM)> DUM = DUM + PAR2*(VA(JrKP) + HA(J,KM)) + PAR3* (VA(JM,K) +NA(JP,Q) VDD = O.75*DUM/PAR1 GOTO 10
DUM « 1. + BAS*(NA(JM,K) + HA(JP,K)) + (HA(J,KM) + VA(J,KP))/DYS HDD « O・5*DUM/PAR1
DIF = WDD - NA(J,K) SUM « SUM + DIF*DIF VA(J,K) « WA(J,K) + OM*DIF
CONTINUE
CONTINUE RMS = SQRT(SUM/(ANX-1.)/(ANX-1.)) IF(RMS .LT. EPS)GOTO 15
CONTINUE
WRITE(6r14)ITMX,RMS
FORMATS CONVERGENCE NOT ACHIEVED IN*rI5,* STEPS\5X, 1* ITER RMS « “12・5)
COMPARE SOLUTION VITH EXACT
SUM = 0.
Qt = 0.
DO 18 J « 2,NXP
DO 16 К ■ 2,NYP
DIF - NA(J,K) - VEX(J,K) SUM « SUM + DIF*DIF QL « QL + NA(J,K)
CONTINUE
IF(IPR .EQ. 0)GOTO 18
VRITE(6,17)(WA(J,K),K=2,NYP)
FORMAT (' WA=・ J1F7.4)
CONTINUE
QL = QL*DX*DY
RMS = SQRT(SUM/(ANX-1.)/(ANX-1.)) WRITE(6,19)1,RMS
VRITE(6r21)VA(NH,NH)方EX(NH,NH)
NRITE(6,20)QL,QLX
FORMAT (// CONVERGED AFTER ',工 3,' STEPS', 5X J SOL RMS =',Е12・5,〃)
20 FORMAT(* COMP. FLOW RATE « LE12.5J EXACT FLOW RATE » LE12.5)
21 FORMAT(• V(C/L)®\E12.5/ VEX(C/L),E12.5,//) STOP END
12345678901234567890123456789011111111112222 0^ 22222312345678901234567890123456789011111111112222 0^ 222223с с с сс с с с
123456789012345678901234567890
11111111112222 0^ 222223
123456789012345678901234567890
11111111112222 0^ 222223
с с с с
с с с с
DUCT считывает (и выводит на печать) различные управляющие параметры (строки 10—21). Задаются точное решение и его начальная форма (строки 37—51). При решении данной задачи число итераций по схеме ПВР не представляет интереса, поэтому в качестве начальной формы решения по ПВР применялось точное решение. Подпрограмма VEL (строка 47 на
SUBROUTINE VEL(X,Y,N,PI,BAR,W,QL)
FOR GIVEN X,Y COMPUTES AXIAL VELOCITY IN CHANNEL AND COMPUTES THE FLOW RATE
CON = (8./PI/PI)**2
XAN = 0.5*PI*X
YAN « 0.5*PI*Y V = 0.
QL * 0.
DO 2 I * 1,N,2
AI = I
CX = COS(AI*XAN)
DO 1 J = 1,N,2
AJ = J
CY = COS(AJ*YAN)
IJ = (I+J)/2 - 1
IF(IJ .EQ. O)SIG = 1.0
IF(IJ ・GT. O)SIG = (-l.)**IJ DEN = AI*AJ*((AI*BAR)**2 + AJ*AJ) DUM = SIG*CX*CY/DEN V = W + DUM
QL « ql + l./DEN/AJ/AI
CONTINUE
CONTINUE
V « CON*W
QL = (16./PI/PI)*C0N*QL RETURN
END
Рис. 5.23. Распечатка подпрограммы VEL.
рис. 5.22 и рис. 5.23) вычисляет точное решение, получаемое по методу разделения переменных (см. п. 2.5.2), и имеющее вид
NEXNEXJ
狗=(*)2 Е2(缶綜пр产 cos(0.5 攝)cos(0.5 加力),
t = l, 3, 5, ... / = 1, 3, 5,...
(5.110)
NEX NEX
%=2 (备У 2£а/{泞[出伍)2+『】}),(5.1П)
i = 1, 3, 5, • •・ / = 1, 3, 5, •・•
где полный расход потока равен ^/ = \ \ w dx dy.
NXMENXMENEM IPR ITMX EPS OM X, Y VELWEX WA WDDRMSQL QLXNEM IPR ITMX EPS OM X, Y VELWEX WA WDDRMSQL QLX
NX
ME
NX
ME
NEM IPR ITMX EPS OM X, Y VEL
WEX WA WDD
RMS
QL QLX
NEM IPR ITMX EPS OM X, Y VEL
WEX WA WDD
RMS
QL QLX
Далее программа DUCT (строки 58—83) ведет счет по формулам (5.108) и (5.109) с помощью итераций, пока величина ,侬;在——3/, "Lms не станет меньше заданной малой величины EPS. После этого (строки 87—106) решение сравнивается с точным решением и выводится на печать. Основные параметры, используемые в программе DUCT, приводятся в табл. 5.11.
Таблица 5.11. Параметры, используемые в программе DUCT
ОписаниеОписаниеПараметр
Описание
Описание
( = NY), число точек в направлениях х и у
=1, метод конечных элементов с линейными элементами^ =2, метод конечных разностей с трехточечной центрированной схемой
Число членов в выражении для точного решения
Параметр управления печатью
Максимальное число итераций (ПСР)
Критерий сходимости (ПСР)
Показатель релаксации % (ПСР)
Безразмерные координаты х, у
Подпрограмма для вычисления точного значения скорости в точке (х, у) и полного расхода
Точное значение осевой скорости ш Вычисленное значение осевой скорости w
II Ш/, k — w3 k llrms» II wI,尼—^1/, k ||rmsВычисленное значение полного расхода'
Точное значение полного расхода qi
Таблица 5.12. Изменение точности решений по программе DUCT по мере измельчения сетки (Ь/а=1)
Сетка
6X6
п х и
21 X21
Точное значение
Метод
rms
rms
rms
qi
Конечных элементов
0.007239
0.5295
0.001571
0.5540
0.000256
0.5598
0.5623
Конечных разностей
0.006480
0.4949
0.001480
0.5446
0.000205
0.5583
0.5623
Типичная выдача в результате прохождения программы DUCT, предназначенной для решения с линейными конечными элементами, полученного на сетке 6X6, показана на рис. 5.24.
Эффект измельчения сетки как для метода конечных элементов, так и для метода конечных разностей демонстрируется
DUCT
FLOW BY
FEM:
LINEAR
ELEMENTS
6 NEM=21
B/A= 1.00 MAX
ITER =
30 CONV TOL «.100E-C1 0
VE«
.0000
.0000
.0000
.0000
.0000
.0000
.0000
.1386
.1926
.1926
.1386
.0000
WE=
.0000
.1926
.2750
.2750
• 1926
.0000
WE=
.0000
.1926
.2750
.2750
.1926
.0000
VEb
.0000
.1386
.1926
.1926
.1386
.0000
g
.0000
.0000
.0000
.0000
.0000
.0000
УА=
.1453
.1990
.1989
.1453
• 1990
.2842
.2842
.1989
• 1989
.2842
.2842
.1989
WA=
.1453
.1989
.1989
.1453
CONVERGED AFTER 10 STEPS SOL RMS « .72390E-02
E(C/L)= .28421E+00 WEX(C/L)« .27502E+00
COMP. FLOW RATE =.52952E+00 EXACT FLOW RATE =.56227E+00
Рис. 5.24. Типичная выдача после прохождения программы DUCT.
в табл. 5.12. Очевидно, что оба метода имеют сходимость, пропорциональную Дх2, Ду2, причем метод конечных разностей дает несколько меньшую среднеквадратичную ошибку, но несколько большую ошибку по значению расхода потока qi.
5.5.3. Вычислительные области неправильной формы:изопараметрическое преобразование
В период приблизительно между 1965 и 1970 гг., когда метод конечных элементов впервые приобрел популярность, широко использовались треугольные элементы, так как именно •они позволяли моделировать сложные геометрические формы. Эти треугольные элементы и соответствующие им интерполяционные формулы описываются в книге [Zienkiewicz, 1977].
Способность метода конечных элементов к рассмотрению вычислительных областей, имеющих неправильную форму и неоднородных, всегда была важной характерной чертой этого
метода. Однако для моделирования сложных вычислительных областей могут быть введены также и деформированные прямоугольные элементы через посредство применения изопара- метрического преобразования. Предпочтение, отдаваемое прямоугольным элементам по сравнению с треугольными, объясняется тем, что первые легче приспособить к взаимодействию с программами формирования сеток (см. гл. 13), особенно в трехмерных случаях. Тем не менее в работе [Jameson, Baker, 1986] разработана эффективная процедура, базирующаяся на введении тетраэдральных элементов с целью моделирования области, внешней по отношению к целому самолету.
Рис. 5.25. Изопараметрическое преобразование.Рис. 5.25. Изопараметрическое преобразование.
Рис. 5.25. Изопараметрическое преобразование.
Рис. 5.25. Изопараметрическое преобразование.
Характерная ситуация иллюстрируется на рис. 5.25. Элементы, показанные в физической плоскости (х, у), подверглись деформации. Однако они без труда могут быть преобразованы в элементы правильной формы в пространстве (§, п), переход к которому осуществляется по формулам (для случая билинейной интерполяции)
44
%=2%(自,叫打,У=2勿因n)勿, (5.112) z=1z=1
где (%/, yi)—координаты Z-ro угла элемента В в физическом пространстве, а 如& 刀)—это те же самые билинейные аппроксимирующие функции, которые были определены формулой (5.59). Использование изопараметрического преобразования оказывает влияние на вычисление интеграла (5.5), содержащего взвешенную невязку.
В качестве примера применение метода Галёркина с конечными элементами к задаче о решении уравнения Лапласа в деформированной области (см. п. 5.2.3) приводит к линейной системе уравнений, эквивалентной (5.100), т. е.
BW=G.(5.113)
Элемент Матрицы В задается выражением
匕U (芻禦+糸簪)厶%,(5」⑷
WXYZ
где 〃z — индекс узла, в котором центрируется весовая функция, a j — индекс узла, вносящего свой вклад. В (5.114) интегрирование выполняется по площади WXYZ (рис. 5.4). Однако для того чтобы обобщить анализ на случай произвольных по форме областей, прямое вычисление интеграла из (5.114) в физическом пространстве не будет пригодным.
Философия, стоящая за применением изопараметрического преобразования, сводится к тому, что в преобразованном пространстве (自,п), где элементы имеют правильную форму, численная реализация интегрирования может быть проведена непосредственно. Чтобы проиллюстрировать этот тезис, сосредоточим свое внимание на первом члене правой части (5.114), т. е. на интеграле
/ = Н (翁)(禦)dx dy・(5115)
Производные дф]/дх и d^j/dy связаны с производными д^/д^ и д%1&ц с помощью соотношения ‘
产吟_⑺产了/吟片
(d%/@n 丿—(叫/&丿•
где якобиан [7] соответствует выражению
—\ дх/дц ду/дц /*
Отдельные члены, входящие в якобиан, вычисляются с помощью формул (5.112). Например,
4
> = Х($^ ^))^(5 118)
Из соотношения (5.116) можно получить следующие явные выражения для величины d^j/dx (и дфт/дх), входящей в
13 К- Флетчер, т. 1
интеграл (5.115):
墨=[偿0(齧)-(募)(繁)]/de".(5.U9)
Очевидно, что в (5.115) имеем dxdy = det J(l^dx\t Подстановка выражения (5.119) в интеграл (5.115) дает следующий вклад в Ьт, / от каждого элемента:
$ (爲)[(箱居)-
-(黑)映)][聞爲)-(黑)(幫]*.(5.3
Преимущество формулировки, основанной на изопарамет- рическом преобразовании, сводится к тому, что все члены в правой части (5.120) являются функциями (g, “), тогда как элементы в пространстве (& 貝)имеют правильную форму, как это и показано на рис. 5.25. Следовательно, для выполнения интегрирования можно применить некий удобный прием, например квадратуру Гаусса [Isaacson, Keller, 1966]. Более подробное описание изопараметрического преобразования и соответствующей формулировки можно найти в книге [Zienkiewicz, 1977].
§ 5・6・ Спектральный метод
Спектральный метод использует приближенное решение в той же форме (5.1), что и традиционный метод Галёркина. Как и в традиционном методе Галёркина, аппроксимирующие и весовые функции отличны от нуля во всей вычислительной области. В этом отношении и спектральный метод, и традиционный метод Галёркина являются глобальными методами [Fletcher, 1984]. В противоположность тому, что имеет место в методе конечных элементов, неизвестные коэффициенты а,«) в приближенном решении (5.1) не могут быть отождествлены с узловыми значениями неизвестных.
Наиболее существенное отличие спектрального метода от традиционного метода Галёркина состоит в том, что первый из них использует в качестве аппроксимирующих и весовых функций ортогональные функции. Аппроксимирующие и весовые функции являются ортогональными, если
f =/= 0 при т = jt 2)^(招 f/,2)d% 必/血1=0 при т, j.
Примерами ортогональных функций служат ряды Фурье, полиномы Лежандра и полиномы Чебышёва.
В том примере, который мы вскоре разберем, будет видно, что использование ортогональных аппроксимирующих и весовых функций упрощает структуру (обыкновенных дифференциальных) уравнений, получаемых при применении спектрального метода. Кроме того, при надлежащей постановке граничных условий спектральный метод позволяет получить решения очень высокой точности при сравнительно небольшом числе членов в выражении приближенного решения, если только точное решение является достаточно гладким. Эти аспекты обсуждаются в книгах [Fletcher, 1984; Canuto et al., 1987].
Уравнение диффузии
Технику реализации спектрального метода легче всего понять на конкретном примере. Будет рассмотрено уравнение диффузии _
(5.121)(5.121)дТ d2T 八
(5.121)
(5.121)
F — a^r = 0
в вычислительной области 0《%&1, так что будет возможность провести непосредственное сравнение данного метода с методами конечных разностей и конечных элементов. Граничные и начальные условия предполагаются следующими:
7(0, /)=0, f (1, /)= 1 И Т(х, 0)=sin (лх) +х. (5.122)
Отправной точкой при использовании спектрального метода является введение приближенного решения
(5.123)(5.123)Г = sin (лх) + % + Z 的(Z) sin (/лх),
(5.123)
(5.123)
где а; (/)—неизвестные коэффициенты. Форма решения (5.123) автоматически удовлетворяет граничным и начальным условиям. Подстановка (5.123) в (5.121) позволяет найти невязку
R = £ ["^ + ° (执)2 %] sin (加%) + ал2 sin (лх).
Вычисление интеграла с весом, т. е. интеграла (5.5) с весовой функцией (5.10), а именно
,[sin (mnx) R] dx = 0, о
дает
[sin (тлх) sin (/лх)] dx +
1
+ ал2 \ [sin (тлх) sin (丸尤)]d尤=0. о
(5.124>
Преимущество использования ортогональных функций в (5.124) состоит в том, что первый из фигурирующих там интегралов отличен от нуля, только если / = т, а второй интеграл не равен нулю, только если /и= 1. Следовательно, уравнение (5.124) принимает форму
^^ + а(^^^т + гт = 0, т=1, ・・•,/,(5.125)
где
(ал2, если m = 1,Гт — I 0, если /п * L
Решение уравнения (5.125) можно в виде
а【=е-ал2f — i,
«т = 0,
записать непосредственно
tn — 2, ..., J.
После этого выражение (5.123) принимает вид Т = sin (пх)е~^ + х,
(5.127)
который фактически является точным решением уравнения (5.121). Такой результат получился случайно благодаря специальному выбору граничных и начальных условий (5.122). Ситуация станет более реалистической, если начальное условие задать в виде
7(尤,0) = 5х-4х2, (5.128)
а в приближенном решении (5.123) комплекс sin(nx) + х заменить на 5х — 4炉. Применение спектрального метода с условием (5.128) аналогично тому, что описывалось выше, за исключением того, что формулы (5.126) принимают вид
16а m
0,
m = 1, 3, 5, •・・, m = 2, 4, 6,....
(5.129)
Если в уравнении (5.125) величину dam/dt заменить формулой с разностью вперед по времени (a#i——a*)/Af, то можно по-
лучить следующий явный алгоритм:
%f1 =啞一加 [3他乳)2 J + %.(5.130)
В данном случае соотношение (5.130) было проинтегрировано с шагом Д^ = 0.001. Результаты для различных значений J показаны в табл. 5.13. В эту таблицу включены также точное решение 7 и приближенное решение Т&, содержащее только ошибки, связанные со схемой численного интегрирования. Точное
Таблица 5.13. Спектральные решения уравнения (5.121) при % = 0.5
X
Приближенное решение Т
Приближен* ное решение ть
Точное решение т
J = 1
/=з
/=5
0.00
1.500
1.500
1.500
1.500
1.500
0.02
1.314
1.347
1.338
1.340
1.341
0.04
1.162
1.199
1.191
1.193
1.194
0.06
1.037
1.075
1.067
1.069
1.071
0.08
0.935
0.973
0.965
0.967
0.969
О.Ю
0.851
0.889
0.881
0Л83
0.885
0.12
0.782
0.820
0.812
0.814
0.816
0.14
0.725
0.764
0.755
0.757
0.759
0.16
0.679
0.717
0.709
0.711
0713
0.18
0.641
0.679
0.671
0.673
0.675
,0.20
0.610
0.648
0.640
0.642
0.643
решение строится с помощью техники разделения переменных (см. п. 2.5.2) и имеет вид
牙=% + 4 £ {2/[(2/ 一 1)切}з sin [(2/ — 1) лх] exp {一矶⑵ 一 1)加? /}.
1(5.131)
Приближенное решение Ть строится с помощью допущения о том, что решение представляется в форме
Ть = х + 4^ {2/[(2/ - 1)制}з sin [⑵-1)лх] X/ (f)・ (5.132) /=i
В результате подстановки в уравнение (5.121) возникает необходимость решить уравнение
欝 + [⑵一1)研/=0.(5.133)
Такое решение строится с помощью такой же разностной аппроксимации, какая делалась для ат в соотношении (5.130) и с тем же шагом по времени Д/ = 0.001. Подстановка в (5.132) дает решение для 7匕,показанное в табл. 5.13.
Как показывают результаты, приводимые в табл. 5.13, решение Т становится более точным по мере увеличения J. Следует, однако, помнить о том, что ошибка, отличающая Т от точного решения Т, происходит частично от аппроксимации, присущей спектральному методу, а частично от ошибки за счет разностной дискретизации производной по времени при построении численных решений для уравнения (5.125). Что касается разницы между двумя приближенными решениями, Т и Tbi то она обусловлена исключительно ошибкой спектрального метода. Очевидно, что использование сравнительно малого числа неизвестных в приближенном решении обеспечивает построение решения высокой точности. Это свойство характерно для спектральных методов [Fletcher, 1984, гл. 6].
Приложения спектрального метода даны в п. 15.3.3 и 17.1.6. Традиционные области приложения этого метода относятся к глобальному метеорологическому моделированию [Bourke et al., 1977], а также к прямому моделированию турбулентности [Orszag, 1977]. Обе эти области требуют исходных уравнений, включающих нелинейные члены, в особенности для описания конвекции.
Желая, чтобы спектральный метод привел к эффективному вычислительному алгоритму, необходимо ввести технику преобразования для учета нелинейных членов. Концептуально это можно представить себе в форме введения локальных узловых неизвестных 7/, заменяющих в выражении (5.123) коэффициенты а;(/), тем самым представляя нелинейные члены в форме произведений Т/ и Л/, вычисляя затем заново коэффициенты % Техника преобразований обсуждается в книгах [Fletcher, 1984, гл. 5; Canuto et al., 1987].
5.62 Граничные условия Неймана
В п. 5.6.1 спектральный метод применялся к решению уравнения диффузии (5.121) с граничными условиями Дирихле, что привело к явной форме обыкновенных дифференциальных уравнений (5.125) относительно неизвестных коэффициентов в пробном решении.
Теперь мы рассмотрим задачу с более трудными граничными условиями для того, чтобы показать, что использование спектрального метода нередко вызывает нужду в дополнительных ухищрениях на этапе дискретизации. Пусть для конкрет-
ности требуется решить уравнение диффузии (5.121) в области О W % & 1.0, /》0 при начальном и граничных условиях
Г(х, 0)==3-2х-2炉 + 2炉,(5.134)
£(0, /)=-2, 7(1, /)=1.0.(5.135)
Вместо того чтобы попытаться учесть начальное и граничные условия в приближенном решении, как делалось в (5.123), введем общее приближенное решение вида
Т (х, /)=瓦(/) + Z 匕(/) sin (2加%) + bj (/) cos (2/лх)]. (5.136)
Чтобы выражение (5.136) удовлетворяло граничным условиям (5.135), коэффициенты должны быть связаны соотношениями
£ 的(2冗力=—2, 2 % = 1 ・(5.137)
/=1/=о
С помощью (5.137) коэффициенты а; и bj могут быть исключены из выражения (5.136), что дает
Г = cos (2/лх) + (^7)sin (2/лх) + 2 &/ 卜也[/ (2лх)]— 7 = 1
—(;)sin [J (2*)]} + 2 Qj {cos [/ (2лх)] — cos [J (2лх)]}.
六。(5.138)
Реализация спектрального метода по Галёркину [Fletcher, 1984] требует, чтобы весовые функции в (5.5) совпадали с функциями, представленными в (5.138), т. е.
Wm (х) = sin [т (2лх)]—(子)sin [7 (2лх)], 1 &ап& / — 1,
Wm (х) = cos [m (2冗%)] — cos [J (2лх)],0 & /п《/ — 1 • (5.139)
Подстановка (5.138) в уравнение диффузии (5.121) и расчет согласно (5.5) с учетом (5.139) приводит к следующей системе обыкновенных дифференциальных уравнений:
•^ + [а (2шп)2]+ ;£ L {醬 + [а (2л/)2]的} = —2а (2лт),
^1(5.140)
籌 + [а (2ши)2] % + у {兽 + [。化^沟乙} = а (2л/)2,(5.141)
&m《J — 1;
等=£ {蜜 + m(2门阴 %} =a(2讶・(5.142)
/=о
Уравнения (5.140) образуют систему связанных между собой обыкновенных дифференциальных уравнений для определения коэффициентов а/, не зависящих от обыкновенных дифференциальных уравнений (5.141) и (5.142) для определения коэффициентов 6/. Эти две системы решаются маршевым образом по времени, чтобы предоставить значения 的〃)и Ь/{/), подставляемые затем в выражение (5.138), обеспечивая тем самым численное решение 7(%, f).
Однако какой бы маршевый алгоритм ни был использован при последовательном определении во времени коэффициентов а, и 力,на каждом шаге по времени необходимо проводить начальную факторизацию и матричное умножение. Если учесть^ что данная задача линейная и что достаточно точные решения могут быть построены при сравнительно малом числе членов в выражении приближенного решения (5.136), добавочное время исполнения алгоритма, связанное со взаимосвязанностью уравнений, не является чрезмерно большим.
Первоначальные значения а? и 舛 получаются за счет подгонки приближенного решения (5.136) к начальному решению (5.134), т. е.
瓦=等,а; = 2 ( Т (x, 0) sin (2/лх) dx, % = 2 \ Т (х, 0) cos (2/лх) dx.
。0(5.143)
Численное решение данной задачи следует построить в задаче 5.17.
Имеется возможность воспользоваться альтернативной процедурой, называемой тау-методом и тесно связанной с методом Галёркина. При использовании тау-метода весовые функции подбираются так, чтобы они соответствовали аппроксими* рующим функциям в выражении (5.136), т. е.
Wm(х)= sin [т(2лх)],l《/n《J—1,
Wm (х) = cos [m (2лх)], X^m^J.
Подстановка (5.136) в уравнение (5.121) и расчет согласно (5.5) на основе формул (5.144) приводит к следующей системе
обыкновенных дифференциальных уравнений:
^^ + а (2шп)2 ат = 0, 警^ + а (2”п)2 Ьт = 0,
(5.145)
1《他《/.
решения(5.146)решения(5.146)Система уравнений (5.145) является явной и имеет ^ (0 = «т (0) е-а(2几向2 f,1 & 俏 & / 一 1,
решения
(5.146)
решения
(5.146)
%(/) = %(0)e—a(2m)Zl<m<7,
где。俏(0) и 匕/«(О) определяются по формулам (5.143), а а」«) и &о(О удовлетворяют соотношениям (5.137).
При решении данной задачи использование формул (5.136), (5.137) и (5.144) позволяет получить более эффективный алгоритм, чем применение спектрального метода Галёркина на основе формул (5.138) и (5.139). В общем случае тау-метод позволяет учесть трудные граничные условия с большей степенью гибкости, чем это делает спектральный метод Галёркина (см. п. 5.6.1). Описание тау-метода можно найти в книгах [Fletcher, 1984; Canuto et al., 1987].
5.6.3. Псевдоспектральный метод
Спектральный метод Галёркина (п. 5.6.1) приводит к весьма точным решениям со сравнительно небольшим числом неизвестных коэффициентов 的 в выражении приближенного решения (5.123). Однако при наличии нелинейных членов вычисление произведений приближенных решений отнимает очень много времени. Этот недостаток экономичности является причиной использования метода коллокаций (см. формулу (5.8)) вместо метода Галёркина. Коллокация упрощает поиск решения в форме зависимости от узловых неизвестных значений подобно тому, как это делают конечно-разностные и конечно-элементные методы, а не в зависимости от неизвестных коэффициентов а, в приближенном решении. Явное использование узловых неизвестных позволяет также осуществить более эффективный учет граничных условий, чем это делается в спектральном методе Галёркина. В литературе спектральный метод с коллокациями принято обычно называть псевдоспектральным методом [Orszag, 1971].
00Применение псевдоспектр ального метода будет проиллюстрировано здесь на примере решения уравнения диффузии
0
0
(5.147)
с начальным и граничными условиями
й(х, 0) = sin (лх) + а:, й(~1, /)= — 1, 〃(1,/)=1・ (5.148)
Производная по времени в уравнении (5.147) дискретизируется с помощью конечно-разностной аппроксимации. Если для указанной производной использовать разностную формулу Эйлера, как в п. 5.6.1, то получается алгоритм
〃卅= 〃〃+(а 需广(5.149)
Псевдоспектральный метод требует, чтобы соотношение (5.149) удовлетворялось в каждой из точек коллокации (х;), и вводит приближенное решение
"(%, 0 = e 欤")71 ⑴,(5.150)
k=\
которое позволит вычислить пространственные производные. Аппроксимирующими функциями в выражении (5.150) служат полиномы Чебышёва, определенные на интервале —1 W % W 1. Полиномы Чебышёва позволяют точно определять производные по пространству, и их обычно предпочитают тригонометрическим функциям, если функция и не является периодической. Описание полиномов Чебышёва и общих вопросов их применения дается в книге [Fox, Parker, 1968]. Специальные рекуррентные соотношения, связанные с применением спектрального и псевдоспектрального методов, приводятся в руководстве [Gottlieb, Orszag, 1977].
Непосредственное использование выражения (5.150) приводит к следующему представлению d2u/dx2\j в уравнении (5.147):
(5J51)
В результате для перехода с временного слоя п на слой n + 1 псевдоспектральный метод должен пройти через следующие этапы:
при заданном 〃? вычислить 駕 из выражения (5.150);
при заданном 或 вычислить [^и/дх2]1} по формуле (5.151);
вычислить 〃;+i по формуле (5.149).
Нетрудно видеть, что, хотя этап (2) имеет место в спектральном пространстве, т. е. имеет дело с 。左,этап (3) реализуется в физическом пространстве, т. е. имеет дело с щ. Этап
представляет собой преобразование перехода от физического пространства к спектральному.
Эффективность псевдоспектрального метода зависит от того, насколько экономично исполняются три указанных этапа. Выясняется, что вычисление а* по выражению (5.150) требует решения линейной системы Тап = и% причем матрица Т плотная. Прямое применение метода исключения по Гауссу (см. п. 6.2.1) для получения ап означает реализацию O((N + I)3) операций. К счастью, использование полиномов Чебышёва, вычисляемых в точках коллокации X/, заданных формулой
/ = cosE(j- 1)/N],(5.152)
позволяет для вычисления ал воспользоваться быстрым преобразованием Фурье (БПФ), требующим 0((2+ l)lg(^ + 1)) операций. Быстрые преобразования Фурье [Cooley, Tukey, 1965] более подробно описываются в книге [Brigham, 1974].
Прямой расчет д2и/дх2 по формуле (5.151) во всех точках сетки требует проведения O((N + I)2) операций. Однако использование полиномов Чебышёва дает возможность обращения к различным рекуррентным соотношениям, что приводит к некоторому уменьшению числа операций, необходимого для полной реализации этапа (2). В частности, пространственные производные могут определяться непосредственно из полиномов Чебышёва, без их дифференцирования, а именно
N
禦=!>"i(%),(5」53а)
月П1
嶽=£ 礫%-(%)・(5.153b)
Явные соотношения между а趾,og)и ak в выражении (5.150) даны в работе [GottHeb, Orszag, 1977]. Характерно, что нижеследующие рекуррентные соотношения позволяют получить коэффициенты 吧 и 嚟 с помощью O(N) операций:
2&月 VM2《k《N — 1;0;2)= 0.5噌 + 明 碟=端3 =。■2&月 VM2《k《N — 1;0;2)= 0.5噌 + 明 碟=端3 =。■(5.154)(5.154)^ = 4+2 + 24+1,礫)=。£公+ 2砌里,*)= 0.5吗)+ %
2&月 VM
2《k《N — 1;
0;2)= 0.5噌 + 明 碟=端3 =。■
2&月 VM
2《k《N — 1;
0;2)= 0.5噌 + 明 碟=端3 =。■
(5.154)
(5.154)
硯3 =時)+2 =。,
В результате вычисление d2u/dx2\j с использованием БПФ может быть реализовано за O((N—l)lg(^—1)) операций.
Ввиду экономичности каждого этапа псевдоспектрального алгоритма весь этот алгоритм оказывается весьма эффективным.
Эффекты нелинейных членов исходного уравнения псевдо- спектральный метод учитывает особенно экономичным путем. Рассмотрим уравнение Бюргерса (10.2) для невязкого потока
> + «> = °- (5」55)
Если следовать той же процедуре, что и выше, то для перехода с временного слоя п на слой п + 1 псевдоспектральный метод должен состоять из следующих этапов:
при заданном 〃, вычислить а* из выражения (5.150);
при заданном 线 вычислить [0〃/財;по формулам (5.153а), (5.154);
вычислить ш^ = и^ [ди/дх]^;
вычислить 〃;+i = 〃;一如? А/.
Расчет нелинейного члена на этапе (3) осуществляется в физическом пространстве, что позволяет избежать требующего много времени умножения отдельных коэффициентов рядов, таких, как (5.150) и (5.153).
Идея о применении преобразования, связывающего между собой спектральное и физическое пространства с помощью БПФ с целью эффективного расчета нелинейных членов, применяется также и при использовании спектрального метода Га- лёркина [Orszag, 1971]. Подробно анализируемый пример из области метеорологии дается в книге [Haltiner, Williams, 1980].
В сравнении со спектральным методом Галёркина у псевдоспектрального метода имеется один недостаток. При необхо, димости учета нелинейных членов псевдоспектр альн ый метод допускает возникновение побочных ошибок [см. Fletcher, 1984]. Это означает, что произведение двух рядов, неявно фигурирующее на вышеуказанном этапе (3), возбуждает возникновение новых высоких частот, k \Z> N + 1. Однако поскольку процесс коллокации учитывает лишь N — 1 дискретную внутреннюю точку, то высокие частоты должным образом не учитываются. На практике происходит небольшое искажение амплитуд низкой частоты.
При рассмотрении физических задач с небольшой естественной диссипацией интегрирование по времени может стать неустойчивым вследствие накопления побочных ошибок, что создает нелинейную неустойчивость. Такая проблема часта возникает при прогнозировании погоды. Для «технических» течений объем диссипации обычно достаточен, например из-за на-
личия турбулентности, чтобы можно было игнорировать побочные ошибки. В таком случае псевдоспектральный метод оказывается обычно предпочтительнее, чем спектральный метод Га- лёркина, вследствие большей экономичности первого и более эффективного учета граничных условий в нем.
Спектральный метод Галёркина (см. л 5.6.1) строит решение целиком в спектральном пространстве, т. е. имеет дело с коэффициентами а」в выражении (5.123). Псевдоспектральный метод, описанный выше, работает частично в спектральном пространстве, частично в физическом пространстве, с применением БПФ для перехода из одного пространства в другое. Имеется возможность дать такую интерпретацию псевдоспектральному методу, чтобы его схема напоминала дискретизацию в физическом пространстве, подобную тому, что осуществляется в конечно-разностном и конечно-элементном методах. Основные этапы в ходе такой интерпретации, следуя работе [Ku, Hatziav- ramidis, 1984], описываются ниже.
Узловые значения “; связаны со спектральными коэффи-
циентами ak посредством соотношения (5.150), которое
в ком-
пактной форме может быть представлено в виде
и = Та.
(5.156)
Коэффициенты а° явно выражаются через М в форме
а = Ти,
(5.157)
где элемент матрицы Т имеет вид
脑 N , Tl(Xj),
(5.158)
причем
й = ^jv+1 — 2, с, = 1, lViVN+L
Формулы (5.153а), справедливые для всех точек сетки, можно записать в виде
雾=*").(5.159)
Однако а⑴ можно связать с а посредством (5.154), так что a(i)=G(i)a>(5.160)
где G⑴一это матрица (%+l)X(N+l), имеющая элементы 0,если k》1 или 左 + 1 четное, 、
(5.161) 2 — 1)/с& во всех остальных случаях.
Коэффициенты с】=2, с论=1 при 论:夕 1.
Ясно, что из соотношений (5.159), (5.160) и (5.157) следует 栗=TG ⑴ а = TG ⑴ fu = G ⑴u・(5.162)
Рассмотрение отдельного элемента вектора 加/dx свидетельствует о том, что соотношение (5.162) дает непосредственно ди- скретизационную формулу, выражающую ди/дх| / через все узловые значения 〃/. Это выглядит контрастом к трехдиагональной структуре матрицы d(" при использовании центрированного конечно-разностного выражения, моделирующего ди/дх I /.
Аналогичным образом, формулы (5.153b) можно записать в виде
豐=Та ⑵(5.163)
и учесть, что
а ⑵=G ⑴а ⑴=G⑴ G(Da= G®a・(5.164)
Элементы матрицы G(2) могут быть вычислены с помощью (5.161). На основании (5.163), (5.164) и (5.157) получим
~ = TG(2)a = TG ⑵ fu = G(2)u.(5.165)
Матрицы G(d и G(2) могут быть вычислены раз и навсегда и введены в память. В результате все операции, скажем, на одном временном слое выполняются в физическом пространстве.
Применение вышеуказанного построения к случаю уравнения диффузии (5.147) заменит этапы (1) и (2) на вычисление Id^ufdx^Xi с помощью соотношения (5.165). Можно отметить, что этот процесс требует。(陋)операций, тогда как этапы (1) и (2) включают два быстрых преобразования Фурье и рекуррентный процесс трудоемкостью O(^) операций. Вследствие дополнительных затрат времени на применение БПФ использование соотношения (5.165) является конкурентноспособными для N, как правило, меньших 100 [Ku et al., 1987].
Если взять некий предельный случай ^ = 2 в выражении (5.150), то вышеуказанная псевдоспектральная процедура дает такую же дискретизацию уравнения диффузии (5.147), как и схема ВВЦП (3.4).
Явная матричная интерпретация псевдоспектрального метода будет рассмотрена в дальнейшем, в п. 17.1.6, в связи с построением численных решений для течения несжимаемой вязкой жидкости. Более сложные трактовки спектральных ме-
тодов в их различных аспектах можно найти в работах [Gottlieb, Orszag, 1977; Fletcher, 1984; Voigt et al., 1984; Peyret, 1986; Canuto et al., 1987].
§ 5.7. Заключение
Метод взвешенных невязок обеспечивает общую основу для сравнения многих приближенных методов (см. [Fletcher, 1984]). Здесь были рассмотрены достаточно подробно метод Галёркина с конечными элементами, спектральный метод Галёркина и метод конечных объемов.
Методы конечных объемов и конечных элементов, так же как и конечно-разностные методы, являются локальными методами. Следовательно, два первых метода приводят к дискретизированным уравнениям с разреженными матрицами, хотя обычно с менее разреженными, чем в случае конечно-разностного метода. Как метод конечных элементов в сочетании с изо- параметрическим преобразованием, так и метод конечных объемов подходят для рассмотрения вычислительных областей неправильной формы. Кроме того, при применении обоих указанных методов можно использовать обобщенные координаты (см. гл. 12).
Дополнительное преимущество метода конечных объемов состоит в возможности непосредственной дискретизации консервативной формы исходных уравнений (см. § 11.2). Это наталкивает на мысль о том, что дискретизированные уравнения обеспечивают выполнение законов сохранения, если только учесть ошибку дискретизации.
В противоположность вышеупомянутым спектральный метод является глобальным методом. Практически это делает его методом, более трудным для реализации, однако позволяет строить приближенные решения высокой точности при сравнительно малом числе членов в выражении для приближенного решения (5.2). Относительные достоиинства методов конечных разностей, конечных элементов и спектральных методов анализируются в книге [Fletcher, 1984]. Еще один мощный глобальный метод — метод ортогональной коллокации — сравнивается с конечно-разностными и конечно-элементными методами в книге [Finlayson, 1980, гл. 4—6].
Задачи
Методы взвешенных невязок: общая формулировка (§ 5.1)
Уравнение d2y/dx2 + у = [1 ——(5л/6)2] sin(5^x/6) с граничными условиями 歹(0) = 0,歹(1) = 0.5 необходимо решить в области 0 W % W 1.0, используя следующие методы взвешенных невязок:
метод Галёркина,
метод подобластей (0 & л: & 0.5; 0.5 W % W 1.0),
метод наименьших квадратов.
Приближенное решение представьте в форме
у = ai(x — х3) + & (%' — x3) + 0.5%з.
Сравните численные решения с точным решением у = sin (5лх/6).
При надлежащем способе приведения к безразмерной форме уравнение диффузии или теплопроводности может быть записано в виде
о6 揃不_万о6 揃不_万0.0.
о6 揃不_万
о6 揃不_万
0.
0.
При начальном условии 8(%, 0) = sin (汽%) + л: н граничных условиях 0(0, /) =0, 0(1, 0 = 1.0 построить решения вышеприведенного уравнения в вычислительной области 0 ^ х С 10, 0£f & 0.20, пользуясь следующими методами:
метод Галёркина,
метод подобластей, (с) метод коллокаций.
Следует использовать приближенное решение
0 = sin (лх) + % + £ а/ (0 (xz — M+i).
Применение вышеуказанных методов взвешенных невязок к безразмерному уравнению теплопроводности дает систему обыкновенных дифференциальных уравнений относительно коэффициентов a; (Z). Эти уравнения численно интегрируются маршевым методом.
Получите решения (после составления компьютерной программы) для ^ = 3, 5, 7 всеми тремя методами и сравните точность и скорость сходимости. Точное решение этой задачи имеет вид © = sin (лх) 6一"‘ + х.
Течение вязкой жидкости в канале прямоугольного сечения подчиняется уравнению (5.97):
(学察+器+』
с граничными условиями 宓=0 при % = ±1, у = ±1. «Точное» решение этой задачи дается формулой (5.110), если величина NEX достаточно велика. Приближенные решения следует построить, пользуясь
методом Галёркина,
методом подобластей, (с) методом коллокаций.
В качестве приближенного решения используйте выражение
@ = е 。, (1 -"了 (1 一炉)‘,
форма которого подсказана видом предельных одномерных профилей скорости (b/а = 0 и оо). Получите решения для У = 1, 2 и 3 и сравните результаты с решениями, полученными в п. 5.5.2 методом конечных элементов.
Дайте комментарии, касающиеся точности в расчете на одну узловую неизвестную, в связи с корректностью предполагаемого приближенного решения. В этот анализ включите формулу (5.110) с малыми значениями NEX, так как это решение является одновременно и решением по Галёркину [Fletcher, 1984].
Метод конечных объемов (§ 5.2)
Постройте решения уравнения Лапласа в области, показанной на рис. 5.4, используя программу FIVOL, для следующих значений параметров:
“ = 0.10, гг = 4.00, % = 1.00, г7 = 0.10,г = 0, 87y = 90;
r™ = 0.10, rr = 8.00, ry » 1.00. г7 = 0,10,= 0, 67V = 90.
Для каждого варианта получите результаты на трех сетках: JMAX = =КМАХ = 6, 11, 21. Сравните точность и скорость сходимости с результатами, приводимыми в табл. 5.5.
Модифицируйте программу FIVOL применительно к решению уравнения
дх ду X дх2 ду2 /
Источниковый член S может учитываться таким же образом, как и член dq/dt в уравнении (5.23). Испытайте программу для случая S = [cos (20)—— —sin(20)]/r2 путем получения решений для тех же самых значений параметров, которые использовались для составления табл. 5.5. и а = 1. Сравните решения с точным решением Ф = (sin 0)/г2. Граничные условия для выбранного выше значения S задаются формулами (5.31).
Метод конечных объемов, описанный в § 5.2, необходимо применить к ситуации, когда на линии WX задается граничное условие Неймана, а именно
дФ1
дУ wx rWX
Остальная часть формулировки задачи та же, которая была дана в § 5.2, при том (же точном решении.
Для получения уравнений, справедливых на линии 取X, воспользуйтесь той же процедурой, которая показана на рис. 5.5, но при этом используйте <половинный» конечный объем, центрированный на WX и лишь простирающийся внутрь вычислительной области. Соотношения, эквивалентные (5.34), могут быть получены непосредственно и аппроксимироваться так же, как в программе FIVOL, за исключением того, что значение дф/дх\ wx можно получить из граничного условия. Член дф/дх\ wx удобно вычислить с помощью трехточечной конечно-разностной аппроксимации, поскольку линия WX совпадает по направлению с осью %. Сделайте необходимые изменения в программе FIVOL и испытайте при тех же условиях, какие были показаны в табл. 5.5.
Метод конечных элементов и интерполяция (§ 5.3)
Примените линейную и квадратичную конечно-элементную интерполяцию к функции
岁 n (1 + sin лх) е~2* в диапазоне 0 & х & 1.0.
Получите значения интерполированной функции для 3, 5, 9 и 17 равномерно распределенных узловых точек внутри вычислительного интервала. Вычислите среднеквадратичную ошибку на основе 20 равномерно распределенных точек в интервале 0 ^ х ^ 1.0 и покажите, что достигаются теоретически предсказанные скорости сходимости.
Для функции, рассмотренной в задаче 5.7, выполните линейную и квадратичную конечно-элементную интерполяцию на сетке, растущей по закону геометрической прогрессии с показателем 1.2, для следующих вариантов (0 W % W 尤max):
А% = 0.2, 0.24, 0.288, 0.3456,...;
Дх = 0.1, 0.12, 0.144, ...;
Ах = 0.05, 0.06, 0.072,
Завершите сетку, как только станет %> 1.0. В случае квадратичной интерполяции расположите каждую из средних точек так, чтобы Xy_j = 0.5 (^_2 + + 马)и т. д. Вычислите среднеквадратичные ошибки на основе 201 равномерно распределенных точек и сравните со случаем интерполированного решения с приблизительно тем же числом равномерно распределенных внутри данной области точек. Рассмотрите поведение решения и вклады в среднеквадратичную ошибку в различных частях вычислительной области и определите, может ли интерполированное решение, имеющее заданную точность, быть построено более экономичным образом за счет избирательного расположения узловых точек.
Получите решения с линейной и квадратичной интерполяцией на конечных элементах для функции
歹=(1 + sin 冗%) е~2х sin (лу)
в вычислительной области 0 ^ х ^ 1, OWyNl. Вычислите среднеквадратичную ошибку на однородной сетке, в пять раз более мелкой, чем самая мелкая сетка с узловыми точками. Получите среднеквадратичную ошибку для того же числа элементов, которое указано в табл. 5.7, и сравните точность и скорость сходимости с результатами, приведенными в табл. 5.7.
Метод конечных элементов; уравнение Штурма — Лиувилля (§ 5.4)
Как указано в приложении А.2, вклады в различные одномерные конечно-элементные операторы соответствуют формулам
1 г1 г1 г dФi йФъ
Покажите путем вычисления интегралов, что в случае линейных элементов на однородной сетке вышеперечисленные операторы, будучи центрированы в 力-м узле, имеют значения
^ = (4' 4> 4)-(一需0,匿),(力,-备 志).
Модифицируйте программу STURM так, чтобы она была пригодна для граничных условий вида
»(0) = а, (1) = Ь.
Это потребует изменений в вычислении Ьт, / и gm при 加=/, принимая во внимание все ненулевые вклады, вносимые в соотношение (5.73). Кроме того.
перед решением с помощью подпрограмм BANFAC/BANSOL необходимо будет провести некоторую перестройку трехдиагональной системы уравнений. Испытайте сделанную модификацию путем численного решения уравнения
d2y , _ г 乙 25л2、 ( 5лх、
с граничными условиями 歹(0) = 1, dy/dx(i) = —5л/12 в интервале 0 & л:言 W 1.0. Эта задача имеет точное решение у = cos(5nx/6). Получите решения как с помощью линейной, так и квадратичной интерполяции при размерах сетки, указанных в табл. 5.10, и сравните достигаемую точность и скорость сходимости.
Примените метод Галёркина с конечными элементами, линейной и квадратичной интерполяцией к решению уравнения
с граничным условием 歹(0) = 1.0 в интервале 0 & % & 1.0. Эта задача имеет точное решение у = ехр х. Решите неявные уравнения, используя подпрограммы BANFAC/BANSOL, как в программе STURM. Получите решения на однородной сетке с прогрессирующим измельчением, пока среднеквадратичная точность не станет приближенно равной значениям, указанным в табл. 5.3. Прокомментируйте относительные достоинства, такие, как точность и вычислительная эффективность использования локальных аппроксимирующих функций низкого порядка, как в методе конечных элементов, и глобальных аппроксимирующих функций высокого порядка, как в традиционном методе взвешенных невязок (см. § 5.1).
Метод конечных элементов — другие приложения (§ 5.5)
Получите решения для течения вязкой жидкости в канале прямоугольного сечения, используя программу DUCT на сетке 11X11, при различных значениях b/а, пока решение на центральной линии, проходящей по меньшему размеру, не станет с точностью в 1 % среднеквадратичной ошибки совпадать с одномерным параболическим профилем, а именно и — 1.5(1 — —У?).
Модифицируйте программу DUCT для решения уравнения Лапласа в области 0 W % W 1.0, 0 & у & 1.0 при граничных условиях
w (х, 0) = cos (0.5лх), w (1, у) = 0, w (х, 1)==小石冗 cos (0.5л%),
需(0, //)=0.
Эта задача имеет точное решение 而=cos (0.5лх) ехр (0.5лг/). Если к решению задачи применить метод конечных элементов, то расчет уравнений Галёркина, центрированных на линии х = 0, будет связан с интегрированием лишь по двум соседним элементам. Для однородных граничных условий Неймана формула (5.101) остается в силе, так как все члены, возникающие после интегрирования по частям, равны нулю. Покажите, что расчет уравнений Галёркина по двум соседним элементам не вносит изменений в 厶£夕 однако вместо формул (5.104) и (5.105) следует использовать выражения
% = (a 一击击);必= (。,g,書),
Получите численные решения вышеуказанной задачи на сетках 6X6, 11 X X 11 и 21 X 21 и сравните точность решений по методам конечных элементов и конечных разностей.
Модифицируйте программу DUCT для решения уравнения
дФ дФд2Ф q >3
дх дудх2 l ду2
в области О & % W 1.0, 0 W у Е 1.0, при граничных условиях
3 (х, 0) = с*/。,5(1, у) = J/。川В,
3(0,,)= е"В, 3(%, 1) = е1/Ве*/а.
Это сочетание имеет точное решение ©(%, у) = ехр(х/а)ехр(у/0). При значениях параметров а = 1.0, р = 1.0 постройте решения по линейной схеме метода конечных элементов и по трехточечной схеме метода конечных разностей на сетках 6X6, 11 X И и 21X21. Сравните точность и скорость сходимости для решений, полученных методом конечных элементов и методом конечных разностей.
Спектральный метод (§ 5.6)
Примените спектральный метод к решению уравнения диффузии (как описано в п. 5.6.1) с начальным условием
Т (х, 0) = 5% — 4"
и с граничными условиями Дирихле
7(0, /) = 0, f (1,0 = 1.
Покажите, что можно воспроизвести результаты, приводимые в табл. 5.13. Получите также решения при / = 7 и 9, сравнив их с приближенным решением Л и точным решением Г.
Примените спектральный метод к решению уравнения диффузии с начальным условием
彳(%, 0) = 3 — 2% - 2х2 + 2х3
и со смешанными граничными условиями — Дирихле и Неймана (как в §5.6):一
.吗& " =一2,f (1, /)=1.0.
дх/
Получите численные решения при а = 1.0, используя значения / = 3, 5 н 7 в формуле (5.136), вплоть до / = 0.1. Сравните численные решения с точным решением
N
干=3 - 2— 2 (-(2/- 1)Д У sin [⑵ 一1)3 L *])2 叫/=1
чтобы определить скорость сходимости в зависимости от /. Подтвердвте путем численного расчета, что стационарное решение Tss = 3 — 2% достигается при доведении численного интегрирования до больших значений времени.
Глава 6
Стационарные задачи
Многие примеры из числа рассмотренных в гл. 3—5 содержали время в качестве независимой переменной, что принималось во внимание при построении алгоритмов. Однако многие задачи гидроаэродинамики по самой своей природе являются стационарными, а исходные уравнения по своему характеру зачастую оказываются эллиптическими (см. § 2.4).
Как отмечалось в п. 3.1.2, для дискретизации уравнений стационарного течения можно воспользоваться любым из трех основных методов — конечных разностей, конечных элементов или спектральным, — что приведет к системе уравнений
A(V)V = B, (6.1)
где V — вектор, составленный из неизвестных узловых значений или из коэффициентов пробного решения (5.2). Матрица А содержит алгебраические коэффициенты, связанные с дискретизацией и, вообще говоря, может зависеть от самого решения (V). Вектор В составлен из алгебраических коэффициентов, обусловленных дискретизацией, и из известных значений V, например из тех, которые заданы граничными условиями.
Как правило, матрица A(V) является разреженной (содержит мало элементов, отличных от нуля), причем ее ненулевые элементы расположены вблизи диагонали, если используются конечно-разностные или конечно-элементные методы. В случае спектрального метода матрица A(V) будет наполненной (число нулевых элементов мало). На рис. 6.1 элементы р, q, г, s м t матрицы А связаны с соответствующими узловыми точками. Элементы ри/, связанные с узлами (/, й + 1) и (/, k— 1), отодвинуты от диагонали этой матрицы на величину N — число неизвестных узловых значений в направлении оси х.
Имеется возможность построить некоторый итерационный процесс, позволяющий решить уравнение (6.1) в его истинной форме. Однако может оказаться более эффективным введение внешней итерации, в процессе которой уравнение (6.1) на каждом шаге превращается в линейное, так что можно восполь-
зоваться прямыми методами (см. § 6.2). К этому типу принадлежит и метод Ньютона,' рассматриваемый в § 6.1.
Если матрица А не зависит от V, то требуется только один этап внешней итерации, т. е. уравнение (6.1) можно записать в виде
AV = B.(6.2)
Для решения уравнения (6.2) можно применить как прямые методы (§ 6.2), так и методы итераций (§ 6.3). Если матрица А
"х х х■
ххх х
Рис. 6.1. Типовое распределение отличных от нуля элементов матрицы Апосле конечно-разностной дискретизации.
наполненная, то для осуществления непосредственного решения уравнения (6.2) применяются подпрограммы FACT и SOLVE, описанные в п. 6.2.1 и использующие метод исключения по Гауссу. Если матрица А трехдиагональная или трехдиагональная и пятидиагональная попеременно, то с помощью подпрограмм BANFAC и BANSOL можно получить решение V также с помощью гауссовского исключения, но значительно эффективнее, чем при использовании подпрограмм FACT и SOLVE. Для некоторых вариантов структуры А, таких, которые получаются при конечно-разностной дискретизации уравнения Пуассона, могут быть применены специальные процедуры (см. п. 6.2.6).
Применение итерационных методов (точечный Якоби, Гаусса ——Зайделя и ПВР) иллюстрируется в п. 6.3.2 на примере решения уравнения Пуассона, описывающего течение вязкой жидкости в канале (см. п. 5.5.2). Исследуется влияние измельчения сетки на оптимальное значение показателя релаксации и на скорость сходимости точечной ПВР. Демонстрируется обобщение точечной ПВР на линейную ПВР и на неявную схему переменных направлений (НПН), причем делается сравнение с результатами точечной ПВР. Методы сопряженных градиентов (п. 6.3.4), а также многосеточные методы (п. 6.3.5) описываются в первую очередь в качестве средств ускорения «классических» итерационных процедур.
Некоторые итерационные методы, будучи применены непосредственно к решению уравнения (6.1), оказываются концептуально подобными введению эквивалентной нестационарной формулировки исходной задачи. Если считать, что нестационарное решение не представляет особой ценности, то можно модифицировать члены, зависящие от времени, таким образом, чтобы сходимость к стационарному состоянию достигалась за возможно более короткий промежуток времени исполнения. Именно в этом состоит побудительный мотив для разработки псевдонестационарных методов (см. § 6.4).
Нелинейные стационарные задачи
Стационарные задачи гидроаэродинамики зачастую оказываются нелинейными из-за характера конвективных членов или несколько реже из-за зависимости от решения таких параметров потока, как зависящая от температуры вязкость (типичный пример).
Метод Ньютона с несколькими независимыми переменными является потенциально полезным приемом решения стационарных задач гидроаэродинамики с учетом его быстрой сходимости в случае попадания близко к истинному решению. Этот метод будет проиллюстрирован здесь на примере решения двух задач. Сначала будет решаться сильно нелинейная система алгебраических уравнений. Далее будут рассмотрены двумерные стационарные уравнения Бюргерса (см. § 10.4), так как эти уравнения имеют точно такую же нелинейную структуру, что и уравнения Навье — Стокса для несжимаемой жидкости (см. § 11.5).
././. Метод Ньютона
Метод Ньютона представляет собой мощное средство для решения нелинейных уравнений, подобных (6.1). Схематическое представление этого метода дается на рис. 6.2.
Если уравнение (6.1) переписать в форме
R = A(V)V-B = 0,(6.3)
то основную формулу метода Ньютона можно записать в виде
V(尼+1) = V他)-(J(尼))t R伍),(6.4)
где 々一номер итерации, a J(幻一якобиан. Элемент матрицы J出 имеет форму
乙尸諦(6・5)
Формулу (6.4) можно переписать в виде
j®AV(&+d = — R®.(6.6)
Векторное уравнение- (6.6) представляет собой систему линейных уравнений, которую необходимо разрешить относительно вектора поправки AV»)= V(^+d — V(幻 на каждом из итерационных этапов.
Рис. 6.2. Схематическое представление метода Ньютона.
Привлекательная особенность метода Ньютона состоит в том, что он обнаруживает квадратичную сходимость, если только текущая итерация достаточно близка к сходящемуся решению V。. Квадратичная сходимость означает, что
M+i)— v/g||V(2-V/2.(6.7)
Критерий сходимости метода Ньютона можно получить следующим образом (см. [Isaacson, Keller, 1966]). Если обращение матрицы J(°)обладает нормой, ограниченной величиной а, т. е.
если первый поправочный вектор AV(d имеет норму, ограниченную величиной Ь, т. е.
IIAV(d|| = ||-(j(o))tr(o)||va
и, кроме того, если R обладает непрерывными вторыми производными, удовлетворяющими неравенству
中 II С
при всех V в области ||AV(1)||< 2b, и, наконец, если упомянутые выше константы удовлетворяют соотношению
abc < 0.5,(6.8)
то метод Ньютона будет сходиться к решению
lim V® = Vc,
★->8
для которого R(VJ = 0 и IIV(盼一V。||《〃(2&т)・
Здесь векторные нормы представляют собой максимальные нормы, например | V | = max| Vf |, а матричные нормы — максимальные натуральные нормы, например
N
H/|| = maxLlA/l-i / = 1
Следует заметить, что проверка выполнения неравенства (6.8) связана примерно с таким же объемом работы, как и попытка решения самой задачи. Основная трудность при использовании метода Ньютона состоит в том, что радиус сходимости b умень。 шается по мере увеличения N [Rheinboldt, 1974], так что для обеспечения сходимости величина V(°) должна быть близкой к Vc・
.Наиболее существенная доля времени исполнения при применении метода Ньютона уходит на факторизацию матрицы JJ), требуемую для решения уравнения (6.6). Это время исполнения можно несколько уменьшить, если заморозить значение JJ) на протяжении нескольких шагов Ай. Иначе говоря, факторизация матрицы J(幻 будет нужна только один раз на протяжении 4々 шагов. Однако, как правило, для достижения сходящегося решения понадобится при этом большее число итераций. Методы решения систем нелинейных уравнений, включая метод Ньютона, обсуждаются в книге [Ortega, Rheinboldt, 1970].
6./.2. NEWTON: температурный анализ работыколлектора в виде плоской пластины
При анализе работы солнечного коллектора в виде плоской пластины, схематически показанного на рис. 6.3, установление энергетического баланса для поглотителя и двух стеклянных крышек может потребовать решения следующей системы нелинейных уравнений, связывающих температуры поглотителя Гь
а также двух стеклянных крышек Г2 и Т3:
% = (7; + 0.068237]) — (北 + 0.05848Г2) 一 0.01509 = 0,
旦=(Т什0・058487\)-(2空+ 0.11696Г2) + (Т^ + 0.5848Г3)=0, (6.9)
& = (Т; + 0.05848Г2) - (2.05Т; + 0.2534Г3) + 0.06698 = 0.
Для упрощения операций при решении уравнений величины Ть 7\ и Тз, входящие в уравнения (6.9), соответствуют абсолютным температурам, деленным на тысячу.
Многокомпонентный метод Ньютона (п. 6.1.1), будучи применен к уравнениям (6.9), на каждом итерационном шаге k требует решения уравнения
j 优)АТ他+D = -R伍) (6.10)
относительно АТ(^+п. Тогда решение выражается формулой T(尼+1)— T他)+ ат(月+D.
(4Т; + 0.06823)J=(4Т; + 0.05848) 0(4Т; + 0.06823)J=(4Т; + 0.05848) 0В уравнении (6.10) Ju = dRi/dTj. Применительно к данной задаче имеем
(4Т; + 0.06823)
J=(4Т; + 0.05848) 0
(4Т; + 0.06823)
J=(4Т; + 0.05848) 0
-(471 + 0.05848)0
-(871 + 0.11696)(4Г! + 0.05848).
(4?1 + 0.05848) -(8.271 + 0.2534)
(6.11)
Решение этой задачи было представлено в алгоритмической форме с помощью компьютерной программы NEWTON. Блок- схема для программы NEWTON показана на рис. 6.4, а рас-
печатки подпрограмм, указанных на этой блок-схеме, приводятся на рисунках 6.5—6.7. Различные параметры, используемые в программе NEWTON, расшифровываются в табл. 6.1.
Рис. 6.4. Блок-схема программы NEWTON.
Невязки уравнений (6.9) вычисляются с помощью подпрограммы RESID (рис. 6.6), причем делается проверка (NEWTON, строки 43—45), позволяющая остановить расчет, если средне-
Таблица 6.1. Параметры, используемые в программе NEWTON
Параметр
Описание
N
IT ITMX EPS Т
R
Число уравнений
Номер итерации
Максимальное число итераций
Максимально допустимая среднеквадратичная ошибка
Температура; зависимая переменная
Невязки уравнений (6.9), сюда же вводится АТ после воз
RMSR RMST AJ JPVT
врата из подпрограммы SOLVE
Среднеквадратичная невязка
Среднеквадратичная ошибка решения, ЦТ—T||rms
Якобиан, J
Индекс строки с 力-м ведущим элементом (в подпрограмме
DT
FACT), JPVT(N)=——1, если ведущий элемент равен нулю АТ, поправка к Т
cccccccc c c ccc c ccc ccc c 123456789012345678901234567890123456789012345678901234567 111111111122222222Л-233333333334444444444 55555555cccccccc c c ccc c ccc ccc c 123456789012345678901234567890123456789012345678901234567 111111111122222222Л-233333333334444444444 55555555
cccccccc c c ccc c ccc ccc c 123456789012345678901234567890123456789012345678901234567 111111111122222222Л-233333333334444444444 55555555
cccccccc c c ccc c ccc ccc c 123456789012345678901234567890123456789012345678901234567 111111111122222222Л-233333333334444444444 55555555
MEVTON APPLIES NEVTOTS METHOD TO SOLVE A HOMLIKEAR SYSTEM OF ALGEBRAIC EQUATIONS, RIT) RESID EVALUATES THE RESIDUALS JACOB EVALUATES THE JACOBIAN
FACT FACTORISES THE JACOBIAN INTO L.U SOLVE SOLVES THE LINEAR SYSTEM FOR DT
RZAL*8 SUMrRMSR,RM5T,DSQRT
DIMENSIOH T(50),AJ(50,50),F(50),JFYT(50),TZX(50)
OPEN(1,FILE='NEYTOM.DAT)
OPEN(6.FILE»*NEWTON.OUT*)
READ(1,1)N,ITHX,!;PS
READ(1,2)(T(J),J«1,N)
R£AD(lr3)(TEX(J),J^1,H)
1 FORMAT(2I5,E10.3)
2 FORMAT(10F5.2)
3 FORMAT(7F10.7)
WRITE(6,4)M,ITMX,I?S
4 FORMAT(f NEVTONS METHOD FOR W =10' ITM FJ EPS» \E1C.2) WRITE(6,5)(T(J),J=I,N)
5 FORMATS IKIT SOLN =',3F5・2,〃) AK = N
IT « О
6 CONTINUE
CALCULATE RESIDUALS
CALL RESID(M,T,R)
SUH = 0.
•DO 7 工=1,N
SUM = SUM + R(I)*R(I)
RNSR = DSQRT(SUH/AN)
SUN = 0.
DO 8 I = lrN
8 SUM = SUM + (T(I) - TKX{T))“*2
RMST = DSQRT(SUM/AN)
WXITE(6r9)RMSR,RMST, (R(J) ,J=1「)
9 FORMATS RMS RH=',D11・4,' RMS T =',D11.4J 心',二9门.舒 IF(RMST .LT. EPS)GOTO 12
IT = IT + 1
1Г(1Т .EQ. ITKX)GOTO 12
CALCULATE JACOBIAN
CALL JACOB(N,T,AJ)
FACTORISE THE JACOBIAM INTO L.U
CALL FACT(N,AJrJPVT)
IF(JPVT(N) .EQ. -l)VRITE(6,10)
10 FORMATS ZERO PIVOT DETECTED*) IF(JPVT(N) ・EQ・ -DGOTO 15
st с
59 СSOW ГОЯ ТВЕ СОКККСТКЖ, ОТ
6。С
61CALL SOLVE(NrAJrJPVTrR)
" e
63 СIRCHENSNT Т
64 С
65DO 11 I » lrN
66DT - -R(I)
«711 T(I) - T(I) ♦ DT
SGOTO 6
69 C
70 CGSMUATK OUTPUT
71 C
7212 УХ1ТЕ(6ДЗ)1ТДМ$Т
7313 FORMAT(/// АГТП l口,. ITERATIOMS TIS INS KSSIDVAb XS' ЧШЛ)
74 WtITB(S,14)(T(I)rI«l,lf)
Y514 FORMAT(' T « ЧГЮ.?)
7615 CONTINUE
7TSTOP
"MD
Рис. 6.5. Распечатка программы NEWTON.
квадратичная невязка оказывается меньше выбранного критерия или если превышено максимально допустимое число итераций. Подпрограмма JACOB (рис. 6.7) предназначена для расчета элементов якобиана матрицы (6.11). Линейная система (6.10) решается в два этапа. Сначала якобиан факторизуется,
123456789012 345 6 71 L 1 1 *л 1 1 1123456789012 345 6 71 L 1 1 *л 1 1 1с с с сс с с сSUBROUTINE RESID(N,T,R)
123456789012 345 6 7
1 L 1 1 *л 1 1 1
123456789012 345 6 7
1 L 1 1 *л 1 1 1
с с с с
с с с с
EVALUATES RESIDUALS REQUIRED BY NEVTON'S METHOD
DIMENSION T(50),R(50),T4(50)
DO 1 J = 1,N DUM = T(J) 1 T4(J) = DUM*DUM*DUM*DUM
C = 0.05348
DUM = T4(2) + C*T(2)、
DAM = T4(3) + C*T(3)\
R⑴ * T4(l) + 0.06823*T(l) - DUM - 0.01509
R(2) a T4(l) + C*T(1) - 2.«DUN + DAM
R(3) = DUM - 2.05*T4(3) - 0.2534*T(3) + 0.06698 RETURN END
Рис. 6.6. Распечатка подпрограммы RESID.
преобразуясь к форме LU с помощью подпрограммы FACT, а затем преобразованная система решается согласно подпрограмме SOLVE. Подпрограммы FACT и SOLVE описываются в п. 6.2.1.
Форма представления решений уравнений (6.9) показана на рис. 6.8. Как свидетельствует решение, температуры поверх-
12345678901234567890111111111121234567890123456789011111111112ности поглотителя и двух стеклянных крышек равны соответственно 415 К (142℃), 379 К (106℃) и 334 К (61 ℃). Для среднеквадратичных значений ошибки и невязки характерна
12345678901234567890
11111111112
12345678901234567890
11111111112
SUBROUTINE JACOB(N,T,AJ) С С EVALUATES JACOBIAN REQUIRED BY NEWTON'S METHOD C
DIMENSION T(50),AJ(5Q,50),T3《50) C
DO 2 工 м 1,N
DO 1 J « lrN
AJ(I2)工 0. DUN « T ⑴ T3(I) « 4«*DUK«DUK*Dim
CONTINUE
C « 0.05848
AJ(lrl) « ТЗЦ) + 0.06823
M(l,2) м - T3(2) - C
М(2Д) м T3(l) + C
AJ(2,2> = - 2.*T3(2) - 0.11696
AJ(2,3) = T3(3) + C AJO,2) = T3(2) + C AJ(3,3)上-2.05*T3(3) 一 0.2534
21RETURN
22END
Рис. 6.7. Распечатка подпрограммы JACOB.
примерно квадратичная сходимость по мере приближения к сходящемуся решению, соответствующая формуле (6.7). Этот
RMS
RH«
.7023D-02
RMS
T =
.8307D-01
R=
-.1216D-01
•6971D-09
-.1007D-05
RMS
RH=
•9400D-Q2
RMS
T =
.2885D-01
R=
.1344D-01
.7722D-02
.4993D-02
RMS
RH=
.1317D-02
RMS
T =
.3148D-02
R=
.1738D-02
.1449D-02
.2885D-Q3
RMS
RH=
.2372D-04
RMS
T =
•4647D-04
R=
.2928D-04
.2881D-Q4
.4479D-06
RMS
RH=
•5353D-08
RMS
T =
.4867D-07
R=
.6588D-08
.5570D-08
•3399D-Q8
MEWTONS METHOD FOR N = 3 ITMX= 10 EPS= .2OOE-O4 IMIT SOLN = .30 .30 .30
AFTER 4 ITERATIONS THE RMS RESIDUAL IS
•48667E-07
T 工 .4151283 .3794904 .3335792
Рис. 6.8. Типовая выдача результатов по программе NEWTON.
пример показывает, насколько эффективным является метод Ньютона при решении небольших систем сильно нелинейных алгебраических уравнений.
NEWTBU: двумерные нестационарныеуравнения Бюргерса
Нестационарная форма вышеупомянутых уравнений более детально рассмотрена в § 10.4. Здесь же нам необходимо решить стационарные двумерные уравнения Бюргерса
_ дй . - дй 1 / д2й . 。2〃、
"前+u7?一 码加 + 正)=0
с граничными условиями Дирихле для 〃 и и, применяя с этой целью метод Ньютона после дискретизации с помощью трехточечных центрированных разностных формул. Уравнение (6.12) можно записать в следующей дискретной форме:
R如,无=〃八 k^x^f, k + U/, k^y^f, k 5^*(£%%",,左 + Lyy"j,左)=0, (6 ]з) R% k =勺,gj, k + 气 kLyvh 左一圭(Lxxvft k + Lyyvh J = 0,
где
0力,k2 Ax'
M(6.14)
4=(器,0, -器)',
Lyy = ("A^- , 一可,千).
Решение ищется в области, изображенной на рис. 6.9.
Граничные значения взяты из точного решения [Fletcher, 1983]
-2 дФ-2 дФ/а [ q
Re© d%Re© dy'/
где
3 =倚 + &% + азу + а^ху + J (&(%-* + е~九("%。)cos)(九力 (6.16)
тогда как постоянные аь а2, @з,。4, @5, X и Хо подбираются так, чтобы разнообразить поведение точного решения.
Если реализовать представление уравнений (6.13) во всех внутренних узлах, то получится 2(NX — 2) (NY — 2) уравнений, которые должны быть разрешены относительно 〃八々 и 力》для всех внутренних узлов. Процесс решения с использованием
метода Ньютона может быть символически представлен формулой
jm)Aqm+i)= -R(*(6.17)
где составляющими вектора Aq являются А〃/,也 Аи/,左,а вектор R имеет компоненты Ruj,々 и Аи>,々,оцениваемые в каждом из
Рис. 6.9. Вычислительная область для решения уравнений (6.12).
внутренних узлов. Верхний индекс (п) используется для обозначения номера итерации. Якобиан J содержит такие члены:
dR〃厶"d〃j_i, k = - 0・5〃j, "A% — l/(Re Ax2),
OR〃人 Л, fe =⑵Re) (1/M + i/v)+(0.5/A%)(〃宀,左 一 и—,) OR〃/, "G〃/+i, k = 0・5也"A% — l/(Re Ax2),
dRuh k/dvh ~ 0.5uz, k^y - l/(Re Ay2),⑺)
GR〃j, "0% hi = Q5V住同-l/(Re Ay2),
OR〃/, "d% k = (0・5/Ag)(勿,“1 — /, j).
Аналогичные члены можно записать для R5,私
Вышеприведенная формулировку задачи и ее решение реализуются в программе NEWTBU. Распечатки этой программы, а также подпрограмм EXBUR для построения точного решения, RESBU для расчета невязок согласно (6.13) и JACBU для вычислений по формулам (6.18) приводятся на рисунках 6.10——6.13. В табл. 6.2 расшифровывается смысл параметров, используемых в программе NEWTBU.
С NEWTBU APPLIES NEWTON'S METHOD ТО SOLVE BURGERS* EQUATIONS CFOR U(X,Y) AND V(X,Y).
C EXBUR EVALUATES THE EXACT SOLUTION OF BURGERS* EQUATIONS CRESBU EVALUATESTHERESIDUALS
CJACBU EVALUATESTHEJACOBIKN
CFACT FACTORISESTHEJACOBIANINTO L.U'
CSOLVE SOLVES THE LINEAR SYSTEM FOR DT
CIRD CONTROLS READ/WRITE OF STARTING SOLUTION
C IPN IS THE INCREMENT FOR PRINTING ITERATIVE RMS C
REAL*8 SUM,DSQRT,R,U,V
DIMENSION U(21,21),V(21,21),UE(21,21),VE(21,21),A(5),R(50i l,AJ(50,50),JPVT(50),RD(50)
COMMON DX,DY,RE,NX,NY,DTI C
OPEN(1,FILE='NEVTBU.DAT')
OPEN(6,FILE»'NEWTBU.OUT') OPEN(7,FILE=*NEVTBU.STO')
READ(1,1)NX,NY,ITMX,IRD,IPN,EPS,RE,OM,DT READ(1,2)(A(J),J=1,5),AL
1 FORMAT(5I5,4E10.3)
2 FORMAT(5F8.2,F5.2) C
NXP = NX - 1 NYP = NY - 1 N = (NX -2)*(NY - 2)*2 WRITE (6,3) N〃TMX, IRD, IPN
FORMATS NEWTONS METHOD FOR N «', 13,5Xr *ITMX«\I3# 1* IRD='J2J IPN»* ,12)
VRITE(6,4)DT,EPS,RE,OM
FORMATS DT=',E12・5,‘ EPS=\E10・3 * RE=LE10・3, 1' OM=',E10.3)
WRITE(6*5)(A(J),J=l,5),AL
FORMATC A =',5F8・2J AL»\F5.2,//) C C CALCULATE EXACT SOLUTION C
CALL EXBUR(UE,VE,A,AL) C C GENERATE INITIAL SOLUTION C
IF(IRD .LT. 2)GOTO 8、
C C IRD = 2 OBTAIN STARTING SOLUTION FROM NEVTBU.STO (UNIT 7> C
DO 7 К « 1,NY
READ(7,6)(U(K,J),J=1,NX)
READ(7,6)(V(K,J),J=1,NX)
FORMAT(10F8<5)
CONTINUE GOTO 11 c
Рис. 6.10. Распечатка программы NEWTBU (начало).
1
2 3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
15 К. Флетчер, т. 1
c c c c c c c c c c c c c c c c c c c c c c c 56789012345678901234567890123456739012345 6 789012 345673901234 5555566666666GG7777777777W3W.88-8W8® 冷 9'99q9<Q~9999©£.o.GuoeloQLO.oLlLlLlklLl 2111111 111^ 11111c c c c c c c c c c c c c c c c c c c c c c c 56789012345678901234567890123456739012345 6 789012 345673901234 5555566666666GG7777777777W3W.88-8W8® 冷 9'99q9<Q~9999©£.o.GuoeloQLO.oLlLlLlklLl 2111111 111^ 11111INCREMENT U AND VINCREMENT U AND V
c c c c c c c c c c c c c c c c c c c c c c c 56789012345678901234567890123456739012345 6 789012 345673901234 5555566666666GG7777777777W3W.88-8W8® 冷 9'99q9<Q~9999©£.o.GuoeloQLO.oLlLlLlklLl 2111111 111^ 11111
c c c c c c c c c c c c c c c c c c c c c c c 56789012345678901234567890123456739012345 6 789012 345673901234 5555566666666GG7777777777W3W.88-8W8® 冷 9'99q9<Q~9999©£.o.GuoeloQLO.oLlLlLlklLl 2111111 111^ 11111
INCREMENT U AND V
INCREMENT U AND V
ФО 10 J = 1,NX DO 9 К = 1,NY U(K,J)二 UE(K,J) V(K,J) = VE(K,J)
CONTINUE
CONTINUE
DO 12 К * 1,NY
VRITE(6,13)(UE(K,J),J=1,MX)
FORMAT(* UE«\7F10.4)
DO 14 К « 1,NY
VRITE(6,15)(VE(KrJ),J«lrMX)
FORMAT(' VE«',7F10.4)
AN = N IT = 0 ITP = 0 OMH = OH DTI = l./DT
CONTINUE
CALCULATE RESIDUALS
CALL RESBU(U,V,R)
SUM * 0.
DO 17 I » 1,N RD(I) * R(I)
SUM = SUM + R(I)*R(I)
RMS « DSQRT(SUM/AN)
IF(IT GE. ITP)VRITE(6r19)IT,RMSr(R(J),J«l#3)
19 FORMAT(* IT»* ,13/ RMS«\D11.4/ R」,3D11・4)
TEST FOR CONVERGENCE OR MAXIMUM NUMBER OF ITERATIONS EXCEEDED
IF(RMS .LT. EPS)GOTO 23
IF(IT .GE. ITP)ITP = ITP + IPN IT « IT + 1
IF(IT .EQ. ITMX)GOTO 23 IF(RMS .GT. 1.0E+03)GOTO 30
CALCULATE JACOBIAN
CALL JACBU(U,V,AJ)
FACTORISE THE JACOBIAM INTO L・U
CALL FACT(N,XJ,JPVTL
IF(JPVT(N) ・EQ; -l)VRITE(6r20)
20 FORMAT(' ZERO PIVOT DETECTED') IF(JPVT(N) -EQ. -1)GOTO 30
SOLVE FOR THS CORRECTION, DT
CALL SOLVE(N,AJ,JPVT,RD)
115
DO 22 J = 2,NXP
116
DO 21 К = 2,NYP
117
MB = 2*(К-2) + 2*(NY-2)*(J-2)
118
DU = - RD(MB+1)
119
DV = - RD(MB+2)
120
U(K,J) = U(K,J) + DU*OM
121
V(K,J) = V(K,J) + DV*OM
122
21 CONTINUE
123
22 CONTINUE
124
GOTO 16
125 С
126 С
GENERATE OUTPUT
127 С
128
23 WRITE(6,24)IT,RMS
129
24 FORMAT(//,• AFTER ',工3」ITERATIONS THE RMS RESIDUAL IS 1
130
1D12.5)
131
DO 25 К = 1,NY
132
25 VRITE(6,26)(U(KrJ)rJ=lrNX)
133
26 FORMAT(* U=',7F10.4)
134
DO 27 К = 1,NY
135
27 VRITE(6r28) (V(K, J) r J=1 ЛХ)
136
28 FORMAT(* V=“F10.4)
137 С
138
IF(工RD .EQ. O)GOTO 30
139
DO 29 К = 1,NY
140
VRITE(7,6)(U(K,J),J=1,NX)
141
『RITE(7,6)(V(K,J),J=1,NX)
142
29 CONTINUE
143
30 CONTINUE
144
STOP
145
END
Рис. 6.10 (окончание).
Выражения (6.13) вводятся в вектор R в следующем порядке:*
R〃2,2, RS,2, R〃2,3, RS,3,•…,R〃2,Ny —I, RS,NY-1, R〃3,2,• • •,
а порядок введения скоростей в вектор q таков:
〃2,2,^2.2, 〃2,3,^2,з,〃2,.VY — 1,y2, W-l, 〃3, 2,°3,2,。…
В качестве начального решения относительно 〃 и 行 было использовано точное решение уравнений (6.12) со значениями параметров а】—а2 == 110.13, аз — а4 — 0, “5 — 1.0, 入==::5, Re = 10, Утах =冗/ЗО и %。= 1.0. Однако с помощью программы NEWTBU, примененной на сетке 5X5, т. е. с 18 узловыми неизвестными значениями и и у, не удается получить сходя- пхееся решение. Для получения такого решения необходима
Таблица 6.2. Параметры, используемые в программе NEWTBU
Параметр
Описание
NX, NY
Число узловых точек в направлениях х и у
ITMX
Максимальное число итераций
IRD
=0, 1, вводит начальное решение, полученное с помощью подпрограммы EXBUR
=1, 2, записывает окончательное решение в файл NEWTBU.STA
=2, считывает начальное решение из файла NEWTBU.STA
IPN
Выдает на печать невязки через каждые IPN итераций
EPS
Максимально допустимая среднеквадратичная невязка уравнений
RE
Число Рейнольдса Re, формула (6.13)
OM
Показатель нижней релаксации со, формула (6.19)
DT
Шаг по времени, используемый в псевдонестационарном варианте (§ 6.4)
N
Число уравнений, подлежащих решению
UE, VE
Точное решение й, v
A
аь …,“5 в формуле (6.16)
U, V
Зависимые переменные в уравнениях (6.13)
R
Невязки уравнений (6.13)
RD
=R после возврата из подпрограммы RESBU; содержит поправки Aq после возврата из подпрограммы SOLVE
AJ
Якобиан J в уравнении (6.17)
DU, DV
Поправки для 〃 н и; Aq в уравнении (6.17)
подвергнуть нижней релаксации поправку к q(〃). Это означает, что применяется следующая формула:
q(n+i)_ q(n)_|_(0 Aq6+i) (6.19)
при со = 0.15. Однако и в этом случае скорость сходимости очень мала (см. данные на рис. 6.14). Такая ситуация не может считаться необычной при применении метода Ньютона к дискретизированным уравнениям, описывающим задачи гидроаэродинамики. А именно поправки, определяемые по методу Ньютона, могут оказаться достаточно большими для того, чтобы текущее решение вышло за пределы радиуса сходимости (см. п. 6.1.1), если только эти поправки вводятся без изменений.
Вид формулы (6.19) подсказывает соответствующую стратегию. Она состоит в том, что величина Aq(〃+D, получаемая в результате решения уравнения (6.17), определяет лишь на-
правление поиска. Для трех значений со строятся новые реше- .ния
q^+i) = q(〃)+ cd^ AqS+i)
坦 вычисляются соответствующие им невязки R^+°・ Для каждого значения ①加 рассчитывается среднеквадратичная невяз-
SUBROUTINE EXBUR(UE,VE,A,AL)
CALCULATES THE EXACT SOLUTION OF THE TWO-DIMENSIONAL BURGERS * EQUATIONS USING THE COLE-HOPF TRANSFORMATION
DIMENSION A(5),UE(21,21),VE(21,21),PH(21,21) COMMON DX,DY,RE,NX,NY PI = 3.1415927 XZ = 1.0 YMAX = PI/6./AL ANY = NY - 1 DY = YMAX/ANY ANX = NX - 1 DX = 2./ANX DO 2 J = 1,NX AJ = J - 1 X = -1. + AJ*DX XD = X - XZ DEX = EXP(AL*XD) + EXP(・AL*XD)、 DDX = EXP(AL*XD) - EXP(-AL*XD) DO 1 К = 1,NY AK = К - 1 Y = AK*DY SY = SIN(AL*Y) CY = COS(AL*Y)
PH(K,J) = A(l) + A(2)*X + A(3)*Y + A(4)*X*Y + A(5)*DEX*CY PHX = A(2) + A(4)*Y + A(5)*AL*DDX*CY PHY = A(3) + A(4)*X - A(5)*AL*DEX*SY UE(KrJ) = - 2.*PHX/PH(K,J)/RE VE(K,J) = - 2.*PHY/PH(K,J)/RE
1 CONTINUE 2 CONTINUE RETURN END
Рис. 6.11. Распечатка подпрограммы EXBUR.
ка r£*Rs, пРичем предполагается наличие квадратичной зависимости R倉М от s・ Затем выбирается такое значение со, а следовательно, и Aq(n+1), которое ведет к минимальному Rrms для заданного направления поиска Aq(n+1). Эта стратегия, однако, может оказаться слишком доростоящей в вычислительном смысле, если невязки Ru и Rv имеют сложные выражения.
В качестве альтернативной и более эффективной стратегии по сравнению с применением формулы (6.19) можно указать на сочетание метода Ньютона с псевдонестационарной форму-
2
SUBROUTINE RESBU(U,V,R)
3 С
4 С
EVALUATES RESIDUALS OF 2D STEADY BURGERS' EQUATIONS
5 С
6
REAL*8 R,U,V,CX,CY,CCX,CCY,DUM
7
DIMENSION U(21,21),V(21,21),R(5O)
8
COMMON DX,DY,RE,NX,XY
9 С.
10
NXP s NX - 1
11
NYP » NY - 1
12
CX « 0.5/DX
13
CY « 0.5/DY
14
CCX = l./RE/DX/DX
15
CCY « l./RE/DY/DY
16
мет 工 1
17 С
18
DO 2 J * 2,NXP
19
JM « J - 1
20
JP = J + 1
21
DO 1 К = 2,NYP
22
KM = К - 1
23
KP = К + 1
24
DUM = CX*U(K,J)*(U(K,JP)-U(K,JM)) + CY*V(K,J)*(U(KPrJ)-U(KMrJ)^
25
R(NCT) = DUM - CCX*(U(K,JM)-2.*U(K,J)+U(K,JP)) - CCY*(U(KM,J)
26
1 - 2・*U(K,J) + U(KP,J))
27
DUM = CX*U(K,J)*(V(KrJP)-V(K,JM)) + CY*V(KrJ)*(V(KP,J)-V(KM,J))
28
R(NCT+1) = DUM - CCX*(V(K,JM)-2.*V(K,J)+V(K,JP)) - CCY*(V(KMrJ>
29
1 - 2JV(K,J) + V(KP,J))
30
NCT = NCT + 2
31
1 CONTINUE
32
2 CONTINUE
33 С
34
RETURN
35*
END
Рис. 6.12. Распечатка подпрограммы RESBU.
лировкой той же задачи (см. § 6.4). Решение данной задачи с помощью псевдонестационарного метода Ньютона излагается в п. 6.4.1.
Квазиньютоновский метод
Другой вариант подхода к решению систем нелинейных алгебраических уравнений, часто называемый квазиньютоновским методом, сводится к замене формулы (6.4) соотношением
V信+1)= V色)一(g传)H优)R优), (6.20>
2
SUBROUTINE JACBU(U,V,AJ)
3 С
4 С
EVALUATES THE JACOBIAN OF
THE 2D STEADY BURGERS'
EQUATIONS
5 С
6
REAL*8 U,V,CX,CY,CCX,CCY
7
DIMENSION U(21,21) ,V(21,21) ,AJ(5%50)
8
COMMON DX,DY,RE,MX,NY,DTI
9 С
10
N = (NX - 2)*(KY - 2)*2
11
DO 2 J * 1,N
12
DO 1 К » l.M
13
1
AJ(K,J) = 0.
14
2
CONTINUE
15 С
16
NXP = NX - 1
17
NYP = NY - 1
18
CX » 0.5/DX
19
CY » 0.5/DY
20
CXX = l./RE/DX/DX
21
CYY » l./RE/DY/DY
22 С
23
DO 7 J * 2,NXP
24
JM = J - 1
25
JP = J + 1
26
DO 6 К = 2,NYP
27
KM « К - 1
28
KP » К + 1
29
MB = 2*(K-2) + 2*(NY-2)*(J-2)
30
LU = MB + 1
31
LV = MB + 2
32
ML = MB - 2*(NY - 2)
33
IF(ML .LT. O)GOTO 3
34
AJ(LU,ML+1) = - CX*U(K,J)
-CXX
35
AJ(LV,ML+2) = - CX*U(K,J)
-CXX
36
3
AJ(LU,MB+1) « 2.*(CXX+CYY)
+ CX*(U(K,JP)-U(K,JM))
+ DTI
37
AJ(LU,HB+2) = CY*(U(KP,J)
-U(KM,J))
38
AJ(LV,MB+1)二 CX*(V(K,JP)
-V(K,JM))
39
AJ(LV,MB+2) » 2.*(CXX+CYY)
+ CY*(V(KP,J) - V(KM,J)) + DTI
40
MR = MB + 2*(NY-2)
41
IF(MR ・GT. N-2)GOTO 4
42
AJ(LU,MR+1) = CX*U(K,J)-
CXX
43
AJ(LV*,MR+2) = CX*U(K,J)-
CXX
44
4
MK = MB - 2
45
IF(MK .LT. OJGOTO 5
46
AJ(LU,MK+1) = - CY*V(K,J)
-CYY
47
AJ(LV,MK+2) = - CY*V(K,J)
-CYY
48
5
MT = MB + 2
49
IF(MT .GT. N-2)GOTO 6
50
AJ(LU,MT+1) = CY*V(K,J)-
CYY
51
AJ(LV,MT+2) = CY*V(K,J)-
CYY
52
6
CONTINUE
53
7
CONTINUE
54 С
55 .
RETURN
56
END ,—
Рис. 6.13. Распечатка подпрограммы JACBU.
где матрица Н(① представляет собой аппроксимацию величины» (坟)尸,систематически модифицируемую на каждом итерационном шаге, так что она приближается к (J(^))-i по мере приближения к сходящемуся решению. Модификация матрицы Н(Л> на каждом шаге оказывается значительно более экономичным
AFTER 115 ITERATIONS THE RMS RESIDUAL IS.98726D-05U*• 9990• 9586.4888-.0559-.0991U=.9990.9605.4835-.0567-.0991U=.9990.9603.4748-.0585-.0991U«.9989.9577.4625-.0615■•0992и»• 9988.9524.4462-.0657-.0992V«.0000.0000.0000.0000.0000v«.1317.1282.0748.0090.0012V*.2679.2605.1507.0179.0023•v«•4142.4017• 2290.0266.0034v«.5774.5577.3109.0349.0045AFTER 115 ITERATIONS THE RMS RESIDUAL IS.98726D-05U*• 9990• 9586.4888-.0559-.0991U=.9990.9605.4835-.0567-.0991U=.9990.9603.4748-.0585-.0991U«.9989.9577.4625-.0615■•0992и»• 9988.9524.4462-.0657-.0992V«.0000.0000.0000.0000.0000v«.1317.1282.0748.0090.0012V*.2679.2605.1507.0179.0023•v«•4142.4017• 2290.0266.0034v«.5774.5577.3109.0349.0045
AFTER 115 ITERATIONS THE RMS RESIDUAL IS
.98726D-05
U*
• 9990
• 9586
.4888
-.0559
-.0991
U=
.9990
.9605
.4835
-.0567
-.0991
U=
.9990
.9603
.4748
-.0585
-.0991
U«
.9989
.9577
.4625
-.0615
■•0992
и»
• 9988
.9524
.4462
-.0657
-.0992
V«
.0000
.0000
.0000
.0000
.0000
v«
.1317
.1282
.0748
.0090
.0012
V*
.2679
.2605
.1507
.0179
.0023
•v«
•4142
.4017
• 2290
.0266
.0034
v«
.5774
.5577
.3109
.0349
.0045
AFTER 115 ITERATIONS THE RMS RESIDUAL IS
.98726D-05
U*
• 9990
• 9586
.4888
-.0559
-.0991
U=
.9990
.9605
.4835
-.0567
-.0991
U=
.9990
.9603
.4748
-.0585
-.0991
U«
.9989
.9577
.4625
-.0615
■•0992
и»
• 9988
.9524
.4462
-.0657
-.0992
V«
.0000
.0000
.0000
.0000
.0000
v«
.1317
.1282
.0748
.0090
.0012
V*
.2679
.2605
.1507
.0179
.0023
•v«
•4142
.4017
• 2290
.0266
.0034
v«
.5774
.5577
.3109
.0349
.0045
NEWTONS METHOD FOR N = 18
ITMX=400 IRD= 1 IPN=20
DT« .5OOOOE+O3 EPS= .100E-04 RE= .100E+02 0M= .150E+00b
A = 110.13 110.13.00
.001.00
UE=.9990.9586
UE=.9990.9583
UE=.9990.9572
UE=.9989.9553
UE«.9988.9524
VE=.0000.0000
VE=.1317.1277
VE».2679.2598
VE=.4142.4010
VE=.5774.5577
IT» 0 RMS= .1496D+00 R=
.4888-.0559.0991
.4863-.0565-.0991
.4786-.0584'.0991
.4655-.0614-.0992
.4462-.0657-.0992
.0000.0000.0000
.0753.0090.0012
.1515.0179.0023
.2297.0266.0034
.3109.0349.0045
-•2169D+00 -.2850D-01 -.2188D+0G
IT= 20 RMS= .2854D-01 R=
-.8407D-02 -.1105D-02 -.8483D-02
IT= 40 RMS» .5504D-02 R»
■•3259D-03 -.428SD-Q4 -.3289D-03
11» 60 RMS» .1024D-02 R=
-.1264D-04 -.1662D-05 -.1277D-04
IT» 80 RMS» .1892D-03 R»
■•4914D-06 -.647.0D-07 -.4977D-0G
IT=100 RMS» .3499D-04 R=
-.1930D-07 -.2559D-O8 -.1981D-b7
6.14. Типовая выдача6.14. Типовая выдачарезультатов по программе NEWTBU.
6.14. Типовая выдача
6.14. Типовая выдача
процессом, чем факторизация матрицы J5). Уравнение (6.20> может быть переписано в форме
V信+D = V信)-s依陪同,
где вектор 自伍)=HS)R(紛 может рассматриваться как определяющий направление поиска. Скаляр s(財)выбирают так, чтобы, величина R!熠) оказывалась минимальной в направлении по* иска 自(伙 При больших ^ последнее свойство обеспечивает зна-
чительно больший радиус сходимости, чем при применении обычного метода Ньютона. Характерный алгоритм, известный как формула BFGS [Fletcher, 1980], позволяет строить следующее приближение V^+d с помощью формулы (6.21). В результате имеем
у传)=R(W+1)—— R伍),
p他)=-s他)h他)R优),
В他)=l/р伍)Ту(3
h他+i)= h优)-0他)(H传)у同р住)т + P他)у优)th®) +
+ 0(尼)(1 + 0(肋у⑻TH仅)у佈))PWP(&)T.(6.22)
Несмотря на то что матрица J является, как правило, разреженной, структура выражений (6.22) свидетельствует о том, ято матрица Н оказывается плотной. При 论=0 матрица :Н(°)полагается равной единичной матрице I.
Эффективность квазиньютоновских методов зачастую зависит от того, обладает ли матрица J некоторыми специальными свойствами, такими, как положительная определенность [Jennings, 1977а]. Следовательно, применимость этих методов к задачам вычислительной гидроаэродинамики должна исследоваться для каждого случая отдельно. Значительная часть литературы по квазиньютоновским методам связывает их применение с безусловной минимизацией (см., например, [Powell, 1976; Fletcher, 1980]). Обсуждение квазиньютоновских методов в применении к специальным задачам можно найти в работах [Broyden, 1965; Ortega, Rheinboldt, 1970; Shanno, 1983]. Характерный вариант применения квазиньютоновского метода к задаче гидроаэродинамики дается в работе [Engelman et al., 1981].
§ 6.2. Прямые методы для линейных систем
Для эллиптических задач, описываемых линейными уравнениями типа уравнений потенциального течения или тех, которые соответствуют промежуточным этапам метода Ньютона, необходимо строить решение линейной системы алгебраических уравнений
AV = B(6.23>
•относительно компонентов вектора V, где все элементы матрицы А и вектора В известны. Метод исключения по Гауссу [Dahlquist, Bjorck, 1974] является предпочтительным средством решения уравнений (6.23), однако эффективность реализации
этого метода зависит от структуры матрицы А. Заслуживают выделения три категории подобного рода матриц:
Матрица А содержит лишь несколько или не содержит совсем нулевых элементов. Тогда говорят, что матрица А полная или плотная.
Матрица А содержит много нулевых элементов. Такую матрицу называют разреженной.
Матрица А содержит много нулевых элементов, причем ее ненулевые элементы группируются вблизи главной диагонали. Тогда матрицу А называют разреженной и ленточной.
Компьютерные программы, основанные на предположении о том, что матрица А является полной, оказываются более универсальными, но и более дорогостоящими в вычислительном смысле. Такие программы могут использоваться в применении* к разреженным и/или ленточным матрицам, однако для последних категорий существуют специальные и притом более экономичные процедуры. Какой бы ни была структура матрицы А, метод исключения по Гауссу должен применяться в два этапа. Сначала матрица А факторизуется, превращаясь в нижнетреугольную матрицу L и верхнетреугольную матрицу U в качестве двух сомножителей. После этого факторизованная форма уравнения (6.23) решается как
UV = L-1B・ (6.24>
Вследствие структуры матрицы U процесс решения (6.24) сводится к повторным подстановкам, осуществляемым после формирования комплекса Ь-Ъ.
6.2./・ FACT/SOLVE: решение систем с плотными матрицами
Если матрица А плотная, то все ее элементы участвуют & образовании матриц L и U. Подпрограмма FACT (рис. 6.15} реализует требуемую факторизацию по формуле LU = А. Последующая серия подстановок согласно (6.24) осуществляется с помощью подпрограммы SOLVE (рис. 6.16).
На каждом шаге факторизации множество элементов из текущего ряда k вычитается из элементов последующего ряда i с целью исключения Vk- При этом вводится множитель @厶 k/cikt л, а величина а財左 называется ведущим элементом. Если ведущий элемент равен нулю или очень мал, то исключение по Гауссу либо не проходит вообще, либо дает очень неточные результаты. Во избежание этого вводится частичный отбор ведущего элемента. Для исключения vh проводится поиск в А-м столбце в интервале » =々十1, ^, ставящий целью найти
123456789^nuBu^un^n^n^n^^^^^^^n^^M^^^^^^^^^^^^^^^^M
c c c c c
c c c
c c c
c c c
c c c
c c c
SUBROUTINE FACT(N,A,JFVT)
FACTORISES A INTO PERMUTED L.U SO THAT PERM*A = L*U JPVT(K) GIVES INDEX OF KTH PIVOT ROW SETS JPV:(N) = -1 IF ZERO PIVOT OCCURS
DIMENSION A(50,50),JPVT(50) NM = N - 1
GAUSS ELIMINATION WITH PARTIAL PIVOTING
DO 5 К = 1,NM KP = К + 1
SELECT PIVOT
L = К DO 1 I = KP,N IF(ABS(A(I,K)) ・GT・ ABS(A(L,K)))L = I 1 CONTINUE
JPVT(K) = L S = A(LrK) A(L,K) = A(K,K) A(K,K) = S
CHECK FOR ZERO PIVOT
IF(ABS(S) .LT. l.OE-15)GOTO 6
CALCULATE MULTIPLIERS
DO 2 I = KP,N A(I,K) = -A(I,K)/S 2 CONTINUE
INTERCHANGE AND ELIMINATE BY COLUMNS
DO 4 J = KP,N
S = A(L,J) A(L,J) = A(K,J) A(K,J) = S IF(ABS(S) ・LT. 1.0E-15)GOTO 4 DO 3 I = KP,lT A(I,J) = A(I,J) + A(IrK)*S
3 CONTINUE 4 CONTINUE 5 CONTINUE RETURN 6 JPVT(N) = -1 RETURN END
Рис. 6.15. Распечатка подпрограммы FACT.
123456789012345678901234567890123456111111111122222222223333333123456789012345678901234567890123456111111111122222222223333333с с с с с с с сс с с с с с с с
123456789012345678901234567890123456
111111111122222222223333333
123456789012345678901234567890123456
111111111122222222223333333
с с с с с с с с
с с с с с с с с
SUBROUTINE SOLVE(MrArJPVTrB)
SOLVES LINEAR SYSTEM, A*X = В
ASSUMES A IS FACTORISED IMTO L.U FORM (BY FACT)
RETURNS SOLUTION, X, IN В
DIMENSION A(5Q,5Q),JPVT(50),B(5Q)
FORWARD ELIMINATION
NM = N - 1
DO 2 К « 1,NM
KP « К + 1
L » JPVT(K) S = B(L) B(L) » B(K) B(K) » S DO 1 I = KP,N B(I) = B(I) + A(I,K)*S 1 CONTINUE 2 CONTINUE
BACK SUBSTITUTION
DO 4 KA = i,m KM = N - КЛ К = KM + 1 B(K) = B(K)/A(K,K) S = - B(K) DO 3 I = lrKM B(I) = B(I) + A(I,K)*S 3 CONTINUE 4 CONTINUE
B(l) = В(1)/А(1Д) RETURN
END
Рис. 6.16. Распечатка подпрограммы SOLVE.
наибольший ведущий элемент а/, k (FACT, строки 17—24). Если наибольший ведущий элемент равен нулю, то программа выдает сигнал ошибки [JPVT (N) =—1] и осуществляется возврат к основной программе.
В предположении о том, что наибольший ведущий элемент не равен нулю, осуществляется перестановка рядов (FACT* строки 39—41), чтобы переместить наибольший ведущий элемент ац k в положение 但,々).В каждом столбце / (/ =々+ 1» N) коэффициенты i-й строки « = 々+1, N) модифицируются (FACT, строки 38—46) в соответствии с формулой
Qf, / = ” L
Массивы хранятся в памяти вычислительных машин по столбцам (индекс i в а,,/)• Поэтому наиболее целесообразно сделать так, чтобы самый внутренний цикл подпрограммы FACT (строки 43—45) реализовался по первому индексу.
Подпрограмма SOLVE прежде всего преобразует элементы вектора В (строки 12—21) с целью взаимодействия с ведущей строкой и модификации элемента 瓦,г = fe + 1, М путем вычитания из него ведущей строки с соответствующим множите
лем, т. е.лем, т. е."=3(訖川"=3(訖川(6.26)(6.26)
лем, т. е.
лем, т. е.
"=3(訖川
"=3(訖川
(6.26)
(6.26)
что эквивалентно операции (6. 25) в подпрограмме FACT. Окон
чательное решение получается с помощью последовательных подстановок, реализуемых посредством подпрограммы SOLVE
(строки 25—34). Это дает
=, 虫=(九一£ aiikvk ) /
Для экономии памяти решение V записывается на место использованного массива и выдается уже как массив В.
Реализация исключения по Гауссу в два этапа, соответствующих подпрограммам FACT и SOLVE, полезна в тех случаях, когда требуется строить решения для многих вариантов величины В в правой части уравнения (6.23). Это связано с тем, что для выполнения подпрограммы FACT требуется 0(^3) операций, тогда как SOLVE требует 0(N2) операций. Обе эти подпрограммы, представленные в несколько расширенной форме, подвергаются более тщательному обсуждению в книге [Forsythe et al., 1977, разд. 3.3].
Как правило, при использовании спектральных методов (§ 5.6) и панельных методов (§ 14.1) получаются матрицы А с плотной структурой. В противоположность этому методы конечных элементов и конечных разностей приводят к матрицам А разреженной структуры и, если используется методика расщепления (факторизации, § 8.2), матрицам узколенточной структуры.
Если матрица А разреженная, но не обязательно ленточная, то исключение по Гауссу часто осуществляется при введении А в память в форме одного массива, содержащего значения а〃 вместе со связанным с ним индикаторным массивом IA, обеспечивающим информацию о положении точки (i, /). Основная трудность, возникающая при программировании процесса гауссовского исключения с разреженными матрицами, связана с вероятностью заполнения матрицы А. Иначе говоря, в процессе
исключения элементы матрицы А, первоначально равные нулю, становятся отличными от нуля. Различные методы надлежащего представления А и IA обсуждаются в книгах [Jennings, 1977а, гл. 5; Duff, 1981], последняя из которых предлагает более высокий уровень анализа. Существуют пакеты программ для реализации гауссовского исключения при разреженных матрицах; можно рекомендовать разработанные в Харуэлле программы МА28 и т. д., рассмотренные в вышеназванной книге Даффа.
Трехдиагональные системы: алгоритмы Томаса
Использование трехточечных конечно-разностных формул или конечных элементов с линейной интерполяцией приводит после расщепления (§ 8.2) к появлению матриц А в уравнении (6.23), имеющих трехдиагональную структуру. Использование конечно-разностных схем более высокого порядка или конечных элементов более высокого порядка приводит к ленточной структуре А, где ширина области ненулевых элементов будет больше. Алгоритм Томаса пригоден для решения уравнения (6.23) в случае трехдиагональной матрицы А. Обобщение алгоритма Томаса на случай пятидиагональной матрицы А описывается в п. 6.2.4. Если речь идет о системах уравнений, то матрица А имеет, как правило, блочную (трехдиагональную) структуру. Порядок действий в этом случае рассматривается в п. 6.2.5.
Если ненулевые элементы располагаются вблизи главной диагонали, то полезно рассмотреть те варианты исключения по Гауссу, которые используют преимущества ленточной структуры А. Один из примеров такого варианта соответствует рассмотренной в § 9.3 задаче о конвекции — диффузии. Если воспользоваться формулами с центральными разностями, то при обозначениях данного параграфа получается следующий алгоритм:
—(1 + 0.5Rceii"f_[ + 2虫一(1 — 0・5Rceii) s+i = 0, (6.27)
при повторении которого по отношению к каждому узлу получим
飞 q
-必-
02 62 c2S
at b{ ci力
—
必
,(6.28)
—aN bN」L _
где а/ = —(1 + 0.5/?ceii), bi = 2, q = —(1—0.5/?Ceii). Ненулевые значения di связаны с членами типа источника или, как с di и dN, с граничными условиями. Все элементы матрицы А, кроме показанных выше, равны нулю. Можно отметить изменение некоторых обозначений по сравнению с п. 6.2.1, в частности относящихся к bi.
Алгоритм Томаса для решения уравнений (6.28) состоит из двух частей (см. схему на рис. 6.17). Сначала уравнения (6.28)
X X XXXхххX X XXXхххРис. 6.17. Алгоритм ТомасаРис. 6.17. Алгоритм ТомасадлядляXXX X XXXX X X,+ + ++ + -Г~Д,+ + ++ + -Г~Дрешения трехдиагональной системы уравнений.решения трехдиагональной системы уравнений.
X X XXX
ххх
X X XXX
ххх
Рис. 6.17. Алгоритм Томаса
Рис. 6.17. Алгоритм Томаса
для
для
XXX X X
XXX X X
,+ + ++ + -Г~Д
,+ + ++ + -Г~Д
решения трехдиагональной системы уравнений.
решения трехдиагональной системы уравнений.
с;1с;1c; = q/&,4 = 4/4,c; = q/&,4 = 4/4,(6.29)(6.29)
с;
1
с;
1
c; = q/&,4 = 4/4,
c; = q/&,4 = 4/4,
(6.29)
(6.29)
преобразуются к виду
一1 ci
1 С2
1
т. е. из них исключаются коэффициенты а:, тогда как коэффициенты bj нормализуются к единичным значениям. Для первого уравнения этой цели служат формулы
а для произвольно расположенного уравнения —
44% — aici-\% — aici-\名=名=0 - %4-i% 一44_]0 - %4-i% 一44_]
4
4
% — aici-\
% — aici-\
名=
名=
0 - %4-i
% 一44_]
0 - %4-i
% 一44_]
Модификация уравнений по формулам типа (6.30) проводится в процессе прямой прогонки (рис. 6.17). Второй этап алгоритма сводится к обратной подстановке (обратная прогонка на рис. 6.17), т. е. к использованию формул
^ = % j = 4 — к©. (6.31)
Алгоритм Томаса чрезвычайно экономичен; он требует для своего исполнения всего 5N — 4 операций (умножений и делений). Однако во избежание плохой обусловленности (и, следовательно, накопления ошибок округления) необходимо, чтобы 也|>岡 + 同・ Как правило, использование расщепления при решении многомерных задач (§ 8.2) приводит к трехдиагональным системам уравнений, которые могут эффективно решаться при помощи алгоритма Томаса.
BANFAC/BANSOL: исключение по Гауссу для узколенточных матриц
В тех случаях, когда матрица А имеет узколенточную структуру, для реализации исключения по Гауссу подходят подпрограммы BAN F АС и В ANSOL. Подпрограмма BANFAC (рис. 6.18) выполняет прямую прогонку или несколько повторяющихся прямых прогонок, чтобы придать матрице А верхнетреугольную форму. Подпрограмма В ANSOL (рис. 6.19) преобразует правую часть (6.23), а именно вектор В, и полученная система уравнения решается путем обратной подстановки.
Для случая INT = 2 подпрограммы BANFAC и BANSOL составлены так, чтобы воспользоваться особым видом структуры матрицы А, полученным при использовании одномерных квадратичных элементов. А именно матрица А оказывается попеременно то «трехдиагональной» (три соседних ненулевых элемента в одной строке), то «пятидиагональной» (пять соседних ненулевых элементов в одной строке), что соответствует уравнениям, связанным с узлами в серединах или в углах элементов соответственно (см. рис. 5.10).
В этом случае процесс факторизации (BANFAC) состоит из двух прогонок. Первая прогонка воздействует только на «пятидиагональные» строки с целью исключения лишнего коэффициента ak,々一2・ Вторая прогонка приводит матрицу к верхнетреугольной форме. Конкретный вид реализации зависит от того, связаны ли первое и последнее уравнения из системы (6.23) с узлами в серединах или в углах элементов. Граничные условия Дирихле соответствуют срединным узлам; граничные же условия Неймана соответствуют угловым узлам. Читателю может оказаться полезным изучить часть программы, относящуюся
12345678901234567890123456789012345678901234567890 1111111111222222222233333333334444444444512345678901234567890123456789012345678901234567890 11111111112222222222333333333344444444445SUBROUTINE BANFAC(B,M,INT) С С FACTORISES BAND MATRIX ARISING FROM LINEAR OR QUADRATIC ELEMENTS C INTO L.U C DIMENSION В(5,65) IF(INT .EQ. 2)GOTO 2 C C INT - lr LINEAR ELEMENTS = TRIDIAGONAL SYSTEM C
12345678901234567890123456789012345678901234567890 11111111112222222222333333333344444444445
12345678901234567890123456789012345678901234567890 11111111112222222222333333333344444444445
NP » N - 1 DO 1 J « 1,NP JP « J + 1 B(2,JP) = B(2,JP)/B(3,J) B(3,JP) м B(3,JP) - B(2,JP)*B(4,J) 1 CONTINUE
RETURN C C IMT » 2, QUADRATIC ELEMENTS « PENTADIAGONAL SYSTEM C ASSUMES FIRST EQUATION FORMED AT MIDSIDE NODE C 2 NH « N/2 DO 5 I « 1,2 JS = 3 - I DO 4 J = JS,NH JA = 2*(J-1) IF(I .EQ. 2)GOTO 3 C С I « 1, FIRST PASS, REDUCE TO TRIDIASNAIi C JB = JA + 2 B(1,JB) = B(1,JB)/B(2,JB-1) B(2,JB) « B(2,JB) - B(1,JB)*B(3,JB-1) B(3,JB) « B(3,JB) - B(1,JB)*B(4,JBT) GOTO 4 C C 1=2, SECOND PASS, REDUCE TO UPPER TRIANGULAR C 3 JB = JA + 3
B(2,JBT) = B(2,JBT)/B(3,JB・2) B(3,JB-1) = B(3,JBT) - B(2rJB-l)*B(4rJB-2) IF(JB .GT. N)GOTO 4 B(2,JB) « B(2,JB)/B(3,JBT) B(3,JB) = B(3,JB) - B(2,JB)*B(4,JBT) B(4,JB) » B(4,JB) - B(2,JB)*B(5,JBT) 4 CONTINUE 5 CONTINUE RETURN END
Рис. 6.18. Распечатка подпрограммы BAN FAC.
к высказанным положениям и начинающуюся с INT = 2, после прочтения п. 6.2.4.
Примером использования подпрограмм BANFAC/BANSOL как в случае трехдиагональных, так и попеременно трехдиаго-
1
2
SUBROUTINE BANSOL(R,X,B,N,INT)
3 С 4 С
5 С 6 7
8 С
9 С 10 С 11 12 13 14
15 16 17
18 19 20
21 С
22 С 23 С 24 С 25 С
26 С 27 28 29 30 31
32 33
34
35 36
37 38 39 40
41 42 43
44
45
46
47 48
USES L.U FACTORISATION TO SOLVE FOR X, GIVEN R
DIMENSION R(65),X(65),B(5,65)
IFCINT .EQ. 2)GOTO 3
INT = 1,TRIDIAGONAL SYSTEM
NP » N - 1
DO 1 J = 1,NP
JP = J + 1
R(JP) * R(JP) - B(2,JP)*R(J)
X(N) = R(N)/B(3,N)
DO 2 J = 1,NP
JA = N - J
X(JA) = (R(JA) - B(4,JA)*X(JA+1))/B(3,JA)
CONTINUE
RETURN
INT = 2,PENTADIAGONAL SYSTEM
ASSUMES FIRST EQUATION FORMED AT MIDSIDE NODE
SET IBC * 0 IF LAST EQUATION FORMED AT MIDSIDE NODE SET IBC = 1 IF LAST EQUATION FORMED AT CORNER NODE
IBC * 1
NH = N/2
IF(2*NH .EQ. N)R(N+1)工 0.
IF(2*NH .EQ. N)B(2,N+1) = 0.
DO 6 I =1,2
DO 5 J = 1,NH
JA = 2*J
DO 4K = 1,1
JB = JA - 1 + К
R(JB) = R(JB) - B(I,JB)*R(JB-1)
CONTINUE
CONTINUE
NEN = NH - IBC
X(N) = R(N)/B(3,N)
IF(IBC .EQ. l)X(N-l) = (R(N-l) - В(4,N・1)*X(N))/B(3,N- DO 7 J x 1,NEN
JA = N - 2*J + 1 - IBC
X(JA) u (R(JA) - B(4,JA)*X(JA+1) - В(5,JA)*X(JA+2))/В( X(JA-l) = (R(JA-l) - B(4,JA・1)*X(JA))/B(3,JAT)
CONTINUE
RETURN
END
Рис. 6.19. Распечатка подпрограммы В ANSOL.
нальных/пятидиагональных матриц является решение задачи Штурма — Лиувилля (п. 5.4.2).
Полезная проверка правильности составления подпрограмм решения уравнений (6.23) состоит в том, чтобы после определе-
ния V заполнить левые части уравнений (6.23) и убедиться в равенстве левых частей правым. Это, однако, не гарантирует точности построенного решения V, если матрица А плохо обусловленная, иначе говоря, если уравнения, составляющие систему (6.23), близки к линейным. Плохо обусловленные системы и их влияние на точность решения обсуждаются в книгах [Gerald, 1987; Dahlquist, Bjorck, 1974].
Обобщенный алгоритм Томаса
Применение конечно-разностных или конечно-элементных схем повышенного порядка приводит к матрицам с более широкими лентами, чем трехдиагональная матрица. Однако нетрудно провести обобщение алгоритма Томаса. Допустим, что нам необходимо решить следующую пятидиагональную систему:
Первый этап состоит в исключении всех элементов д, что даетПервый этап состоит в исключении всех элементов д, что дает瓦% fi。2匕 2C2%4%с;%•4"4瓦% fi。2匕 2C2%4%с;%•4"4
Первый этап состоит в исключении всех элементов д, что дает
Первый этап состоит в исключении всех элементов д, что дает
瓦% fi
。2匕 2C2%
4%с;%
•4"4
瓦% fi
。2匕 2C2%
4%с;%
•4"4
гдегдеQ: = Qff%/*‘ % =瓦一e-з/4_1, 4 = q一喇一/*, fi =力,4 = 4 - 0典_[/4_].Q: = Qff%/*‘ % =瓦一e-з/4_1, 4 = q一喇一/*, fi =力,4 = 4 - 0典_[/4_].(6.32>(6.32>Следующий этап по существу совпадает с первым этапом обычного алгоритма Томаса. Иначе говоря, все элементы а: исклюСледующий этап по существу совпадает с первым этапом обычного алгоритма Томаса. Иначе говоря, все элементы а: исключаются, что дает1碎匕чаются, что дает1碎匕гдегде(6.33)(6.33)(6.34)(6.34)
где
где
Q: = Qff%/*‘ % =瓦一e-з/4_1, 4 = q一喇一/*, fi =力,
4 = 4 - 0典_[/4_].
Q: = Qff%/*‘ % =瓦一e-з/4_1, 4 = q一喇一/*, fi =力,
4 = 4 - 0典_[/4_].
(6.32>
(6.32>
Следующий этап по существу совпадает с первым этапом обычного алгоритма Томаса. Иначе говоря, все элементы а: исклю
Следующий этап по существу совпадает с первым этапом обычного алгоритма Томаса. Иначе говоря, все элементы а: исклю
чаются, что дает
1碎匕
чаются, что дает
1碎匕
где
где
(6.33)
(6.33)
(6.34)
(6.34)
После этого для решения уравнений (6.33) требуется обратная
подстановка следующего общего вида:
U,=典‘ -civi^\ - f7s+2,U,=典‘ -civi^\ - f7s+2,(6.35)(6.35)
U,=典‘ -civi^\ - f7s+2,
U,=典‘ -civi^\ - f7s+2,
(6.35)
(6.35)
Очевидно, что для решения пятидиагональной системы потребуются две прямые и одна обратная прогонки.
Различные этапы обобщенного алгоритма Томаса можно интерпретировать как серии операций (прямых прогонок), требуемых для приведения матрицы А к верхнетреугольному виду.
после чего с помощью обратных подстановок можно рассчитать V. Ясно, что чем более широкую ленточную структуру будет иметь матрица А, тем менее экономичным будет вышеописанный алгоритм.
Если внутри самой ленты вкраплено достаточно большое число нулей, то, как правило, более экономичными оказываются некие альтернативные приемы обработки разреженных матриц [Jennings, 1977а], хотя они вызывают больше трудностей при программировании.
Блочные трехдиагональные системы
Описание алгоритма Томаса для решения трехдиагональных систем дается в п. 6.2.2. Как правило, этот алгоритм следует применять в тех случаях, когда единственное исходное уравнение подвергается дискретизации с помощью неявного алгоритма (§ 7.2). Однако многие задачи гидроаэродинамики описываются системами уравнений (§ 10.2 и гл. 11). Попытки реализовать неявные алгоритмы приводят тогда, как правило, не к скалярным трехдиагональным системам уравнений, а к блочным трехдиагональным структурам. Однако алгоритм Томаса без: труда распространяется и на действия в таких ситуациях.
Блочно-трехдиагональная система уравнений, эквивалентная системе (6.28), может быть представлена в виде
где а” Ь», с/ — субматрицы размера M X М а X и & суть М- компонентные субвекторы. Число М соответсвует числу уравнений, записываемых в каждой точке сетки; например, для трехмерного течения вязкой сжимаемой жидкости 財=5 (п. 11.6.3). Отсюда следует, что V/ — субвектор решения, связанный с конкретной точкой сетки. Уравнение (6.36)—система» состоящая из N блоков уравнений, причем каждый блок связанный с конкретной точкой сетки, включает в себя М уравнений.
Решение системы (6.36) идет по методике, очень близкой методике решения (6.28). Сначала трехдиагональная матрица
блоков из (6.36) преобразуется к верхнетреугольной форме за счет исключения субматриц а*. По аналогии с (6.29) первый блок уравнений дает
a =(也)-%1, d; = (bi)-di,(6.37)
тогда как для блока общего вида имеем
所=瓦一а£一,4=(吟一七,工=陋尸{4 —aq』.(6.38)
В выражениях (6.37) и (6.38) фигурируют явные выражения обратных матриц. На практике более экономичный путь связан с решением М-компонентной субсистемы; например, уравнение b;c: = Cj решается относительно с;・ После выполнения операций (6.37) и (6.38) уравнение (6.36) приобретает верхнетреугольную форму при замене s и & нас; н d; и при замене bt на единичную матрицу I.
Второй этап, эквивалентный применению формул (6.31), требует обратных подстановок по формулам
Vn = %,匕=4一4%+].(6.39)
Как показывает подсчет, для реализации блочного алгоритма Томаса требуется O(5NM3/3) операций, что явно предпочтительно числу O((NM)3/3), требуемому для реализации полного исключения по Гауссу. Однако если бы оказалось возможным расщепить блочно-трехдиагональную систему (6.36) на М скалярных трехдиагональных систем, то полный подсчет показал бы О (5NM) операций, т. е. грубо говоря, уменьшение времени счета в М3/3 раз при N _》М. В результате возникает стимул к тому, чтобы построить неявные алгоритмы, которые позволили бы части уравнений отделиться от системы в целом. Вариант блочного алгоритма Томаса, описанный выше, излагается по книге [Isaacson, Keller, 1966].
626. Прямые алгоритмы решения уравнения Пуассона
Уравнение Пуассона, так же как и связанное с ним уравнение Лапласа, достаточно часто встречается в гидроаэродинамике, чтобы имело смысл исследовать возможности разработки специальных процедур для решения дискретизированного уравнения Пуассона. Трехточечная конечно-разностная дискретизация двумерного уравнения Пуассона приводит к системе уравнений типа (6.23), для которой матрица А имеет форму, показанную на рис. 6.1.
Для случая однородной сетки (Ах = Ау), покрывающей прямоугольную область 0&%&1, 0&У&1, один из блоков
системы уравнений может быть записан в виде
IVj + g% + I%+i = L,论=1,・••,/(6.40),
где М — число активных точек в направлении оси у. Каждый вектор Vk содержит ^ неизвестных значений и/,々,связанных с одной из линий сетки (у = у^), направленной вдоль оси х. Матрица g является трехдиагональной, имеет порядок N и отличные от нуля элементы 1, —4, 1, относящиеся соответственно к точкам (/— 1, 6), (/, k) и (/ + 1, ^)- Вектор h左 содержит все те вклады в В из уравнения (6.23), которые вносит в правук> часть единственная линия сетки, идущая параллельно оси х, т. е. у =勿.
При решении уравнения (6.40) особенно эффективными оказываются два метода — метод циклической редукции и метод разложения в ряд Фурье. Предпочтительная стратегия [Swartztrauber, 1977] сводится к тому, чтобы вначале с помощью циклической редукции уменьшить размер М в уравнениях (6.40), после чего строить решение редуцированной системы с помощью разложения в ряд Фурье.
В процессе циклической редукции блок, расположенный в fe-й (четной) строке уравнения (6.40), умножается на —g и складывается с блоками в (山一1)-й и (й + 1)-й строках с целью исключения Vj и V^+i. В результате получим
Ik + PM + I% =毗(6.41>
где
g⑴=21 — gg = (V2I + g)(V2I 一 g),
叫)= 4T-g% + 4+「
Этот процесс можно повторить требуемое число раз. После осуществления I редукций уравнение (6.40) приобретает форму
1%_“ + g")V + IV,+2/ =比(6.42>
где 2/
g! = — 2 (g — M),色=2 COS [(2山 一 1)冗/2〃|]・
В принципе редукция может быть определена до тех пор, пока граничные условия не позволят определить V尼—2/ и V^+2” [Dorr, 1970]. Затем с помощью обратных подстановок будут определены все промежуточные векторы V^. На практике, однако, оказывается более эффективным завершить данный процесс после / редукций, переключаясь на применение рядов &урье»
Если на всех границах ставятся граничные условия Дирихле, то надлежащее представление в виде ряда Фурье будет следующим:
。小=2 4,k sin (-洒\ ) при ^=1, Mh (6.43)
тде Mi ——число линий сетки, параллельных оси х и оставшихся в уравнениях (6.42) после / редукций. Коэффициенты Us,r определяются путем решения трехдиагональных систем вида
Us, I + %Us, h + Us, 2 = Hs,卜 при s=l, ・•・,м (6.44) тде
Hs,左=VTT £ 九(勺,力)sin (т^г),(6.45)
величина /г(х;, yk)—элемент вектора h“) в уравнении (6.42) и % = 一 2 [1 + 2 sin2 (号晉)]•(6.46)
■Быстрое преобразование Фурье [Cooley et al., 1970; Brigham, 1974] применяется для нахождения неизвестных величин в соотношениях (6.43) и (6.45). Слегка видоизмененные формы этих соотношений, а также формул (6.46) встречаются при ▲ругях вариантах граничных условий (Swartztrauber, 1977).
Для сетки, соответствующей случаю N = М, оптимальное число циклических редукций дается в работе [Swartztrauber, 1977) в виде / = log2(log2 N)—1. Комбинированный алгоритм FACR(/), впервые описанный Хокни [Hockney, 1970], требует для своей реализации N2 log2 (log2 N) операций. При N = 1000, /=2 алгоритм FACR(/) оказывается примерно в 30 раз быстрее, чем неявная схема переменных направлений (НПН, см. п. 6.3.2), примененная к уравнению Пуассона. Реализация алгоритма fACR(Z) на суперкомпьютерах обсуждается в книге [Hockney, Jesshope, 1981], так же как и подходы к решению дискретизированных уравнений Пуассона в трех измерениях [Hockney, Jesshope, 1981].
Что касается подробного обсуждения прямых методов решения уравнения Пуассона, а также быстрого преобразования @урье, то интересующийся читатель отсылается к книгам [Hockney, Jesshope, 1981; Swartztrauber, 1977; Dorr, 1970], a также к цитированным там источникам.
Следует ясно отдавать себе отчет в том, что происхождение скорости циклической редукции и возможности представления с помощью ряда Фурье обусловлено симметричным характером и постоянством коэффициентов в дискретном варианте лапласиана на равномерной прямоугольной сетке. В случае сетки произвольной формы дискретизация уравнения Пуассона, осуществляемая, например, в процессе применения метода конечных объемов (§ 5.2) или метода конечных элементов с изопараметрическим преобразованием (п. 5.5.3), или же использования обобщенных координат (гл. 12), приводит к алгебраическому уравнению с переменными коэффициентами. Например, при введении обобщенных координат это уравнение может быть записано в виде
О/, М-1, k + %, fe^z+i,月 + Cj, М, I + dj, kv/t 月+1 + еЛ М, Л =也,Лг
(6.47) или, по аналогии с (6.40), в виде
5%т + G 左% + D Jx = %. (6.48)
Как и прежде, матрица G尼 является трехдиагональной, а векторы С^ и Dk содержат диагональные элементы. Однако для уравнения (6.48) не реализуется тот вариант исключений, который приводил к уравнению (6.41).
Если к уравнению (6.47) применить метод разложения в ряд Фурье, то вместо трехдиагональной системы (6.44) получится система уравнений для Us,尼 с плотной матрицей. Следовательно, по отношению к уравнению (6.47) метод разложения в ряд Фурье является не более экономичным, чем метод исключения по Гауссу (п. 6.2.1), примененный непосредственно к этому уравнению. В зависимости от выбора сетки уравнение (6.47) может включать также отличные от нуля вклады, связанные с узловыми точками (/—1,々十1), (j—1, k—1)> (/+ 1,左+1) и (j+1, Л-1).
§ 6.3・ Итерационные методы
Итерационные методы можно применять непосредственна к нелинейной системе уравнений (6.1); однако проще несколько видоизменить методику построения итераций, обращаясь к линейной форме (6.2). Все итерационные методы можно рассматривать как процедуры, предназначенные для последовательной модификации начальной аппроксимации, при этом систематически приближаясь к решению. В общем случае про* стые итерационные методы не обеспечивают сходимости, если
только матрица А, входящая в уравнение (6.2), не включает в себя больших элементов на главной диагонали, т. е. если не выполняется условие (6.52).
/. Общая структура методов
Общая структура итерационных методов для стационарных задач будет выявлена, если уравнение (6.2) переписать в форме
(N —P)V = B,(6.49)
где матрица N в некотором смысле близка к А, т. е. ||N|| а ^ IIА||, но легко поддается численной факторизации; например, матрица N может быть трехдиагональной. Уравнение (6.49) можно переписать в виде
NV(”i)=PVm)+ B, или
5〃+"= N^PV® + N-1B, или(6.50)
W+d = V同一N—R叫(6.51)
тде R(九)—вектор невязок уравнения на n-м этапе итерации, т.
RS)= AVm)—В.
По мере приближения к точному решению величина ||R"|| стремится к нулю, так что контроль за поведением этой величины дает информацию о степени реализации сходимости. Итерационный метод общего вида состоит из этапа начальной аппроксимации, т. е. задания V(1), и этапов последовательного улучшения аппроксимации с использованием формулы (6.51). Различные варианты метода отличаются друг от друга главным образом тем, как выбирается матрица N.
Схема (6.51) будет обеспечивать сходимость, если спектральный радиус (т. е. величина максимального собственного значения) для N-】P оказывается меньше единицы. Нередко это условие соответствует более ограниченному условию о том, что матрица А имеет свойство диагонального преобладания, т.
|4/1>§14(6.52)
Одна из наиболее простых итерационных с%ем для решения уравнения (6.2) носит название метода Якоби, При применении. этого метода
N = DL P =(L + U),
где DI ——диагональная матрица, тогда как L и U ——строго нижняя и верхняя треугольные матрицы соответственно. В результате формула (6.60) принимает вид
屮+D = (纥•—京 A^AlAir屮+D = (纥•—京 A^AlAir(6.53)(6.53)
屮+D = (纥•—京 A^AlAir
屮+D = (纥•—京 A^AlAir
(6.53)
(6.53)
Вышеописанная форма метода Якоби является неэкономичной> так как требует слишком много итераций для достижения сходимости. Однако она может быть существенно улучшена за счет применения приемов ускорения либо по методу Чебышёва [Hageman, Young, 1981, гл. 4], либо по методу сопряженных градиентов (см. п. 6.3.4).
Более эффективное улучшение метода Якоби обеспечивается с помощью метода Гаусса — Зайделя, при котором в правую часть формулы (6.53) вводятся значения и?+】), если только они известны. В этом случае
N = DI —L, P = U,(6.54>
а эквивалентом формулы (6.53) служит выражение
吁+】)=九(当 一 N А.^^ £м间А“.(6.55)
Как правило, итерации по Гауссу — Зайделю оказываются вдвое быстрее итераций по Якоби, однако ускорению не поддаются. Если матрица А обнаруживает диагональное преобладание согласно условию (6.52), то сходимость методов Якоби и Гаусса — Зайделя гарантирована.
Метод Гаусса — Зайделя может быть существенно улучшен с помощью последовательной верхней релаксации (ПВР), когда и(几+1) определяется как средневзвешенная величина по отношению к 吁)и (吁+°)Gs,Таким образом, схему ПВР можна записать в виде
可+1)=A(绐一 х 4部产 D - £ аЗ +(1 -簿*).
(6.56)
Коэффициент 九一показатель релаксации. Для сходимости ПВР необходимо выполнение условия 0 V 九 V 2. В обозначениях формулы (6.51) схема ПВР соответствует принятию выражения
N = DI/6 — L). (6.57)
Число итераций, требуемое для сходимости, чувствительно к выбору 九.Оптимальный выбор обеспечивается принятием значения
1 + (1)同/2, (6.58)
где ц — наибольшее собственное значение комплекса I — DI-1 А. Однако нахождение явного выражения для ц может оказаться столь же дорогостоящим, как решение всей задачи в целом. Поэтому предпочтительная стратегия состоит в том, чтобы получить некую оценку значения ц уже в процессе реализации итераций согласно (5.56). После этого формула (6.58) даст улучшенное значение А. Подробности этого процесса излагаются в книге [Hageman, Young, 1981, гл. 9].
При хорошем выборе предварительного значения XOpt схема ПВР оказывается значительно более эффективной, чем метод Якоби или метод Гаусса — Зайделя. Однако к ее первоначальному варианту невозможно применить метод ускорения — ни в форме метода Чебышёва, ни в форме метода сопряженных градиентов. Но если провести небольшую модификацию для получения метода симметричной последовательной верхней релаксации (СПВР), то введение приемов ускорения будет уже возможным. Метод СПВР состоит из двух этапов. На первом этапе применяется схема ПВР. На втором этапе итерация неизвестных производится в обратном порядке с использованием схемы ПВР при том же значении 九,что и на первом этапе. Метод СПВР соответствует следующему выбору матрицы N в формуле (6.51):
(6.59)
Следует подчеркнуть, что без применения приемов ускорения метод СПВР оказывается менее эффективным, чем метод ПВР.
6.32 Анализ течения s канале с помощью итерационныхметодов
В данном пункте мы применим три итерационных метода — методы Якоби Гаусса ——Зайделя и последовательной верхней релаксации (ПВР) к решению задачи о полностью развитом ламинарном течении в канале прямоугольного сечения. Эти три итерационных метода обсуждались в п. 6.3.1 в качестве явных или точечных алгоритмов. Если воспользоваться алгоритмом Томаса (подпрограммы BANFAC и BANSOL, п. 6.2.3),
»о указанные итерационные методы могут быть использованы и как неявные или линейные алгоритмы; линейные варианты методов ПВР и НПН также будут описаны в данном пункте.
Рассматриваемый пример, касающийся течения жидкости в канале, был использован ранее в п. 5.5.2 для иллюстрации применения метода конечных элементов, причем была дана и программа DUCT (рис. 5.22), позволяющая провести соответствующий расчет на компьютере. Течение вязкой жидкости в канале описывается безразмерным уравнением (5.97):
(筑欝+寻+』。(6.6。)
с граничными условиями йУ = 0 при х = ±1, у = ±1. Параметр Ыа характеризует форму сечения канала, показанную на рис. 5.21. Трехточечная конечно-разностная дискретизация уравнения (6.60) дает
(上)2 з/-1/ -2з了,月 + з/ + 1,月 I 5/ 在一[-2吗,也 +吗月+[ + ] = 0
°厶””(6.61)
Если применить к решению уравнения (6.61) схему Якоби (см. п. 6.3.1), то получится алгоритм
山+(r%a+ya/pAR】‘
(6.62)
тде индекс (п) означает номер итерации и PAR1 =(Ь/а)2/А%2 十 4- 1/Ау2. В схеме Якоби все значения в узловых точках в правой части формулы (6.62) вычисляются на n-м итерационном ♦слое.
В схеме Гаусса — Зайделя узловые значения вычисляются на самом последнем из предыдущих слоев итерации. Следовательно, если итерации реализуют повторяющиеся прогонки в направлении оси у (возрастающий индекс 山)при последовательно изменяющихся значениях х (возрастающий индекс /), то эквивалент формулы (6.62), соответствующий схеме Гаусса —Зайделя, принимает вид
嘅护= 0.5[1 +(打明"匕明』+吸把学像+i]/pAR1.
(6.63)
В схеме ПВР решение, соответствующее формуле (6.63) и обозначаемое теперь как 叫'}, комбинируется с предыдущим
решением 侬落 согласно соотношению
5歴"=九叫?月十(1 -九)叫% = 5像 +九(叫?在一叫"),(6.64> где 九一показатель релаксации. Если принять 九=1, то получится схема Гаусса ——Зайделя. Схема ПВР, примененная к уравнению (6.61) с учетом интервала 0 < Л < 2, приведет к сходящемуся решению.
Три указанных итерационных метода применялись также и в сочетании с конечно-элементной аппроксимацией уравнения (6.60), которая была описана в п. 5.5.2. Например, эквивалент формулы (6.63) соответствует формуле (5.108).
Таблица 6.3. Число итераций до достижения сходимости
龍7 崑注
Якоби
87
19
19
0.9
0.8
74
16
18
1.1
0.9
62
14
17
13
L0 (二一3.)
51
12
16
1.7
1.1
43
12
15
2.1
1.2
36
12
14
25
1.3
29
12
13
2.8
1.4
23
11
14
3.3
1.5
18
11
15
3.7
1.55
11
15
11
16
4.1
1.6
11
17
12
17
45
1.7
14
21
1.8
21
28
В табл. 6.3 дается сравнение числа итераций, необходимого для достижения сходимости при решении задачи о течении в канале с помощью программы DUCT на сетке размером 11 X Н. Сходимость предполагается достигнутой, когда IIR(")llrms V TOL. Результаты приводятся для двух значений критерия TOL (tolerance). Решение, задаваемое в качестве начального для итерационного процесса,— это точное решение уравнения (6.60). В случае сетки конечного размера это решение не совпадает с решением дискретизированного уравнения
(6.61). Выбор начального решения в форме 叫?左=0 требует большего числа итераций, как это можно видеть из сравнения результатов, показанных в табл. 6.3 и 6.4.
Таблица 6.4. Влияние степени измельчения сетки на сходимость: задача о канале, точечный ПВР (конечно-разностный метод)
Сетка
Оптимальное 入
Число итераций до достижения сходимости (TOL = 1 X Ю~б)
6X6
1.30
12
11 х п
1.55
23
21 Х21
1.74
41
41 义41
1.86
79
Как показывают результаты, приводимые в табл. 6.3, схе- 飙а ПВР с оптимальным значением X обеспечивает более быст-
Рис. 6.20. Динамика сходимости для точечного конечно- раз постного метода (TOL = 1 X Ю-6).
рую сходимость, чем схема Гаусса — Зайделя, которая в свою очередь дает более быструю сходимость, чем схема Якоби. На рнс: 6.20」приводится график уменьшения среднеквадратичного значения изменения решения, т. е. разности 叫%叫*,
в зависимости от номера итерации п при использовании конечно-разностного метода.
Результаты, приводимые в табл. 6.3, свидетельствуют о том, что точечный вариант метода конечных элементов (см. формулы (5.108), (5.109)) дает более быструю сходимость, чем точечный вариант метода конечных разностей при значениях 九 W 1.7. Однако вычислительная работа, приходящаяся на одну итерацию, для метода конечных элементов оказывается больше, так что при решении данной задачи этот метод не обязательно будет эффективнее метода конечных разностей.
Все приведенные выше алгоритмы, соответствующие формулам (6.62) — (6.64), имели явную форму. Вполне возможно и даже желательно отдельные группы узловых переменных рассматривать в неявной форме, если только получаемая система уравнений будет поддаваться эффективному решению. Последнее сможет быть достигнуто посредством формирования трехдиагональных систем уравнений, связанных с каждой из линий (линий постоянных й), параллельных оси х. В результате алгоритмическая запись уравнения (6.61) принимает вид
++(2(Ь/а)2\I 3丿(2(Ь/а)2\I 3丿I叫忆1-2叫支+叫*+1I叫忆1-2叫支+叫*+1(6.65)(6.65)
+
+
(2(Ь/а)2\
I 3丿
(2(Ь/а)2\
I 3丿
I叫忆1-2叫支+叫*+1
I叫忆1-2叫支+叫*+1
(6.65)
(6.65)
Для решения этой системы удобно воспользоваться подпрограммами ВANFAC/BANSOL (п. 6.2.3). Учитывая, что в левой части (6.65) коэффициенты при оЛ*) постоянны, применять BANFАС требуется только для сеточной линии 々=2. Одна и та же факторизация используется в подпрограмме BANSOL для всех сеточных линии. Комбинация соотношений (6.65) и (6.64) дает схему, известную как последовательная линейная верхняя релаксация (ПЛВР).
связанная с линиями постоянныхсвязанная с линиями постоянныхНеявная схема переменных направлений (НПН), обсуждаемая в книге [Varge, 1962, гл. 7], аналогична схеме ПЛВР, однако направление счета по неявному алгоритму в этой схеме меняется от итерации к итерации. Следовательно, вместо алгоритма, соответствующего (6.65), используется следующий двухэтапный алгоритм. На первом этапе решается следующая
связанная с линиями постоянных
связанная с линиями постоянных
трехдиагональная система, 力,параллельными оси х:
一 М-h 儿 + (1 + 2%)叫:% 一%叫,л =
=% А" + 左吸к】+ ° + 2%)叫* + 左叫?*у (6.66)
На втором этапе решается уже другая трехдиагональная система, связанная с линиями постоянных j, параллельными оси у:
-%吸出+(1+ 2%)叫呼)一九严黑出=
=%"2 +%叫乙,左+ (1 一 2k)叫* +%叫,b (6.67)
где параметр 笳 выбирается так, чтобы ускорить сходимость, причем Хх = (ЬДу/аАх)2^. Стратегические приемы для выбора А» обсуждаются в книгах [Varga, 1962; Wachpress, 1966].
Вышеописанная схема НПН эквивалентна схеме НИН, описанной в п. 8.2.1. Формулы, сравнимые с (6.66) и (6.67), могут быть получены и применительно к методу конечных элементов за счет принятия соотношений (8.35) и (8.36). Необходимое число итераций для конечно-разностного метода НПН и конечно-элементного метода НПН демонстрируется в табл. 6.3. Оба метода обеспечивают лучшую сходимость, чем соответствующие точечные алгоритмы при неоптимальных значениях 入.
Скорость сходимости сильно зависит от степени измельчения сетки. По мере того как сетка измельчается, число итераций, приводящих к сходимости, возрастает, а оптимальное значение 九 становится больше. Эта ситуация иллюстрируется в табл. 6.4, построенной на основе начального решения 叫久=0.
Рассмотренные выше итерационные алгоритмы можно записать в форме соотношения w(九+D = Gw(九).Уменьшение скорости сходимости по мере измельчения сетки соответствует тому, что максимальное собственное значение матрицы G приближается к единице. Желательно, конечно, располагать теми или иными средствами ускорения скорости сходимости. В книге [Hageman, Young, 1981] обсуждаются возможности применения в качестве приемов ускорения метода сопряженных градиентов и метода Чебышёва. Однако ни тот, ни другой из этих методов при их применении к схемам Якоби или Гаусса — Зайделя не может обеспечить большей скорости сходимости, чем использование схемы ПВР с оптимальным значением показателя релаксации А. В качестве очень эффективного варианта Хагеман и Янг рекомендуют применение схемы ПВР вместе с адаптируемым алгоритмом для выбора А. В их книге [Hageman, Young, 1981] приводится составленная для этой цели подпрограмма. В книге [Jennings, 1977а] обсуждается возможность использования с той же целью ускорения по Айткену.
17 К- Флетчер, т. 1
Следует отметить, что для эффективного применения вышеописанных итерационных методов решаемая задача должна быть существенно эллиптической, т. е. в ее математическом описании должны присутствовать вторые производные, но не должно быть первых производных. Зачастую это приводит к тому, что матрица уравнений (например, полученная из уравнения (6.61)) является симметричной и положительно определенной. Матрица А симметричная и положительно определенная, если Аг = А и х『Ах> 0 при всех х =/= 0.
Примерами уравнений, эффективно решаемых с помощью вышеописанных итерационных методов, являются уравнение Пуассона (для функции тока или давления), возникающее при исследовании течений вязкой жидкости в переменных функция тока — завихренность (§ 17.3), а также уравнение для потенциала, часто связанное с задачами о течении невязкой жидкости (гл. 14) и, в частности, о трансзвуковых течениях (§ 14.3).
Если в задаче фигурируют первые производные существенной величины, то вышеописанные методы оказываются крайне неэффективными и могут не обеспечивать сходимости. Если, например, применять точечную схему ПСР с методом конечных разностей к решению двумерных уравнений Бюргерса, рассмотренных в п. 6.1.3, на сетке 21 X 11, то для сходимости потребуется 入 & 1.0. После 270 итераций невязки уравнений снижаются примерно до 1.4 X Ю~5. Для сравнения укажем, что приближенная факторизация в процессе нестационарного метода Ньютона (п. 6.4.1) приводит к той же степени сходимости за 15 итераций.
Существенные члены с первыми производными возникают в уравнениях импульсов, записанных в примитивных переменных (§ 17.1), в уравнении переноса завихренности (§ 17.3), а также в уравнении энергии (п. 11.2.4).
Существенно неявная процедура
Существенно неявная процедура (СНП) начинает анализ с уравнения (6.49), записанного с целью применения итерационного метода к стационарной задаче общего вида, и с помощью факторизации расщепляет матрицу N на LU. В данном случае матрица А получается за счет трехточечной центрированной разностной дискретизации в двух измерениях. Структура матрицы А в этих условиях показана на рис. 6.1.
Как показано в работе [Stone, 1968], это можно сделать так, чтобы получилось три диагонали в матрице L и три диагонали в матрице U, элементы на главной диагонали которой равны единице. Теперь если сформировать N = LU, то ясно,
что матрица Р состоит из двух диагоналей, содержащих множители при Ui+i,j—i и ил,/+1. Для линейной системы уравнении (6.2) элементы матриц L, U и Р могут быть вычислены раз и навсегда.
Алгоритм реализуется в два этапа. Сначала прямая прогонка позволяет получить
Lwm+i)= B + PV(〃)・(6.68)
После этого осуществляется обратная подстановка
UVS+i)= wm+i).(6.69)
Этот алгоритм весьма эффективен и часто имеет преимущество перед схемой НПН, соответствующей формулам (6.66) и (6.67).
В работе [Schneider, Zedan, 1981] был разработан модифицированный существенно неявный алгоритм (МСН), применимый к случаям пятиточечной или девятиточечной дискретизации в двумерном пространстве, т. е. к случаю трехточечной конечно-разностной дискретизации или к случаю линейной конечно-элементной дискретизации. Здесь будет описана пятиточечная версия МСН. Что касается девятиточечной версии, то интересующийся ею читатель отсылается к цитированной выше работе Шнайдера и Зедана.
Алгоритм, использующий схему МСН, реализуется с помощью формул (6.68) и (6.69). Однако вид матриц L, U и Р отличается от того, что использовал Стоун. В алгоритме МСН матрица L содержит по четыре ненулевых элемента в каждой строке, тогда как матрица U имеет три ненулевых элемента вне диагонали и единицу на диагонали, а матрица Р содержит два элемента. Если нумерация элементов V соответствует сначала возрастающим значениям /, а затем возрастающим значениям k, то формула (6.68) принимает вид
九呻护=小 + P\ J*, I - a (-2、在 + 2%],-% I)产+ + 苏 在+1 一a (-2。外 + 2% …+ %+/)一
—Iе/,片。/,左一1 + "/,成/+1,左一1 + S,卢/-1,讣"+)(6.70)
Обратная подстановка согласно (6.69) реализуется в виде
嚟計=^-(8,臼+1,-%,叫…+勿融1严D.(6.71)
В формулах (6.70) и (6.71) коэффициенты с, d, е и f являются элементами матрицы коэффициенты g, h н t относятся к матрице U, а коэффициенты р1 и р2 — к матрице Р.
Эти коэффициенты связаны с элементами матрицы А посредством формул
勺,左 /
P;,左=% 左gj+i, k-v Р/, k = % /Ат 左,^7, k == ah 比一С/,在%. j,
力,月=气左一e,,也,左一1 一%必+i,I一9渦卜1,在+2a(p;.什Рдл)> g了, fe = a/+i,左一"了, J/+i, I 一 2叩力左,论人 k= 呈У , (6.72)
Параметр а использован здесь для ускорения сходимости, причем значение а = 0.5 близко к оптимальному. Как указывается в работе [Schneider, Zedan, 1981], схема МСН оказывается, как правило, в два-четыре раза экономичнее, чем схема СНП, и притом не требует перенумерации узлов сетки после каждой итерации, как это имеет место в случае СНП.
Информация об использовании существенно неявных процедур, по своей формулировке аналогичных изложенному выше, имеется в работах [Rubin, Khosla, 1981; Zedan, Schneider, 1985; Lin, 1985].
Методы ускорения сходимости
Различные методы итераций, описываемые в п. 6.3.1—6.3.3, являются эффективными, но при решении некоторых задач обнаруживают довольно медленную сходимость после того, как невязка R испытает быстрое начальное уменьшение. Если ошибку итерационного решения е = V(九)一Vе разложить в ряд Фурье, то быстрое начальное уменьшение невязки соответствует уменьшению амплитуды коротковолновых мод ряда Фурье. Последующее уменьшение амплитуды длинноволновых мод зачастую протекает со значительно меньшей скоростью.
Имеется, однако, возможность модифицировать уже рассмотренные нами итерационные методы для ускорения сходимости. Два наиболее эффективных для этого метода — это метод ускорения по Чебышёву и метод ускорения с сопряженными градиентами [Hageman, Young, 1981]. Здесь мы дадим описание важнейших особенностей метода ускорения с сопряженными градиентами.
Первоначально будет предполагаться, что матрица А в уравнении (6.2) является симметричной и положительно определенной. Иначе говоря, при любом выборе х будет хгАх > 0.
Дискретизация уравнения Лапласа с центрированными конечно-разностными выражениями приводит к линейной системе уравнений, для которой матрица А симметричная и положительно определенная.
Последовательность шагов при применении традиционного метода сопряженных градиентов [Hestenes, Stiefel, 1952] можно описать в следующем виде:
v("+D = VS)+ %s)pm),
Rd) = R8)—九m)U*
pS+D = (Rm+i))TRm+D,
pm+i)= Rm+D + aS+i)P(*(6.73)
<jm+i)= APm+i),
(p(n+iy и(п+1) *
Данный алгоритм оказывается сравнительно экономичным, так как он требует только одного матрично-векторного умножения на этапе (6). Можно отметить, что невязка R(九+D вычисляется рекурсивно по результатам шага (2), а не из соотношения R8+D = в — AVS+D. За параметром pS+D ведется наблюдение с целью уловить приближение сходимости. В отличие от схемы ПВР (п. 6.3.1) метод сопряженных градиентов не содержит эмпирически подбираемых параметров.
В формулах (6.73) вектор Р(九)определяет направление поиска, которое в начале итерационного процесса задается равенством Р<°> = R(°). Выбор параметра a(〃+D в формулах (6.73) гарантирует, что направления поиска Р(" будут взаимно сопряженными (ортогональными) в смысле выполнения условия
pH) ТАР⑺=0 при f * /・ (6.74)
Кроме того, данный алгоритм обеспечивает, что R⑴TR(/)= 0 при I =/=/. Все эти особенности делают алгоритм весьма эффективным и в отсутствие ошибок округления он мог бы способствовать построению решения системы из N линейных алгебраических уравнений (6.2) не более чем за ^ итераций. Параметр 九(⑴ в формулах (6.73) выбирается так, чтобы эквивалентная квадратичная функция
尸(V) = 0.5VTAV - V^B (6.75) имела минимум в направлении Р(")при VS+D.
Если невязка R разлагается в ряд по собственным функциям матрицы А, то можно установить, что каждый шаг метода сопряженных градиентов воздействует таким образом, что как бы приближенно исключает вклады от каждого из собственных векторов по очереди [Jennings, 1977b]. Следовательно, если некоторые из собственных значений А собраны в единую группу, то сходимость достигается менее чем за N итераций.
Если, кроме того, оказывается возможным произвести предварительное умножение отдельных членов уравнения (6.2) так, чтобы собственные значения полученной в результате матрицы были сгруппированы более тесно, чем для матрицы А, а разброс собственных значений (Amin,九max) был несколько уменьшен, то последующее применение метода сопряженных градиентов к «предварительно подготовленной» системе обеспечивает более быструю сходимость. Наилучший вариант выбора кондиционирующего множителя состоит в умножении на А-1, так как после этого решение будет тривиальным. Хорошим вариантом является множитель N-1, фигурирующий в формуле (6.51), соответствующей итерационному методу решения стационарных задач общего вида. На этом основании вместо (6.2) запишем
N~1AV = N-,B.(6.76)
Чтобы можно было применять вышеописанный вариант метода сопряженных градиентов, необходимо комплекс N~!A сделать симметричным. Этого можно добиться, формируя комбинацию WNTAW-* где матрица W обычно выбирается так, чтобы получить WrW = N. В результате вместо (6.76) получим
AV = B,(6.77)
где
А = WN ^AW1, V = WV, В = WN ^B.
Применение метода сопряженных градиентов к решению уравнения (6.77) называют методом сопряженных градиентов с предварительным кондиционированием. При хорошем выборе N этот вариант приводит к более быстрой сходимости, чем непосредственное применение метода к уравнению (6.2).
На практике уравнение (6.77) не формируется явным образом. Вместо шагов, соответствующих формулам (6.73), делается следующее:
VS+D = V(〃)+ Am)pm),
6S+i)= 6(切一%m)um), R(n+I)= Wb^+D = WN—RS+i),
*+1)=(R6+1))Тa("1),
4)5)6)4)5)6)(6.78)(6.78)a(%+i)= pS+D/pm),
4)
5)
6)
4)
5)
6)
(6.78)
(6.78)
7) A>+i)7) A>+i)严+i)(6(〃+D)T0m+D严+i)(6(〃+D)T0m+DВ приводимой выше последовательности формул величины 6 и R играют роль псевдоневязок, а значение величины p("+D служит критерием близости к сходимости.Различные варианты выбора N, а следовательно, и W соответствуют различным итерационным схемам, рассмотренным в п. 6.3.1. Таким образом, метод, основанный на применении формул (6.78), может интерпретироваться как основная схема с ускорением по методу сопряженных градиентов. Альтернативный, но очень эффективный вариант предварительного кондиционирования можно построить путем приближенной факторизации матрицы А и расщепления ее на нижнетреугольную и верхнетреугольную матрицы L и U [Jackson, Robinson, 1985].Для случая конечно-разностной дискретизации стационарного уравнения переноса, не содержащего производной по времени (уравнение (9.81)), результирующая система уравнений, эквивалентная (6.2), не будет симметричной вследствие влияния дискретизированных членов с первыми производными идТ/дх и идТ/ду. Метод сопряженных градиентов может быть применен и к этому случаю при надлежащей модификации [Axelsson, Gustafsson, 1979].Одна из таких схем под названием ORTHOMIN, построенная в работе [Vinsome, 1976], описывается нами здесь. В принятых автором обозначениях формулы (6.78) заменяются следующими выражениями:В приводимой выше последовательности формул величины 6 и R играют роль псевдоневязок, а значение величины p("+D служит критерием близости к сходимости.Различные варианты выбора N, а следовательно, и W соответствуют различным итерационным схемам, рассмотренным в п. 6.3.1. Таким образом, метод, основанный на применении формул (6.78), может интерпретироваться как основная схема с ускорением по методу сопряженных градиентов. Альтернативный, но очень эффективный вариант предварительного кондиционирования можно построить путем приближенной факторизации матрицы А и расщепления ее на нижнетреугольную и верхнетреугольную матрицы L и U [Jackson, Robinson, 1985].Для случая конечно-разностной дискретизации стационарного уравнения переноса, не содержащего производной по времени (уравнение (9.81)), результирующая система уравнений, эквивалентная (6.2), не будет симметричной вследствие влияния дискретизированных членов с первыми производными идТ/дх и идТ/ду. Метод сопряженных градиентов может быть применен и к этому случаю при надлежащей модификации [Axelsson, Gustafsson, 1979].Одна из таких схем под названием ORTHOMIN, построенная в работе [Vinsome, 1976], описывается нами здесь. В принятых автором обозначениях формулы (6.78) заменяются следующими выражениями:vm+i)= v(“)+ 九⑺ pm),n- 1pm)= 6(%)+ £ am,Qpa),vm+i)= v(“)+ 九⑺ pm),n- 1pm)= 6(%)+ £ am,Qpa),(6.79)(6.79)гдегде九向九向m,i)_ (zAM)Tp⑶a - (ZAP⑴)Tp«)'m,i)_ (zAM)Tp⑶a - (ZAP⑴)Tp«)'(ZA6(G)T pm) (ZAP(〃))Tpm)(ZA6(G)T pm) (ZAP(〃))Tpm)Z =(N~1A)r.Z =(N~1A)r.Если сохранить все члены под знаком суммирования в выражении для Р(九),то реализация метода потребует значитель-Если сохранить все члены под знаком суммирования в выражении для Р(九),то реализация метода потребует значитель-p(n+i)_ j(n+i)+ a(〃+i)pm); 0("+i)= wpm+D, u(n+i)= N-iAp(«+i)> uS+" = Wljm+",
7) A>+i)
7) A>+i)
严+i)(6(〃+D)T0m+D
严+i)(6(〃+D)T0m+D
В приводимой выше последовательности формул величины 6 и R играют роль псевдоневязок, а значение величины p("+D служит критерием близости к сходимости.
Различные варианты выбора N, а следовательно, и W соответствуют различным итерационным схемам, рассмотренным в п. 6.3.1. Таким образом, метод, основанный на применении формул (6.78), может интерпретироваться как основная схема с ускорением по методу сопряженных градиентов. Альтернативный, но очень эффективный вариант предварительного кондиционирования можно построить путем приближенной факторизации матрицы А и расщепления ее на нижнетреугольную и верхнетреугольную матрицы L и U [Jackson, Robinson, 1985].
Для случая конечно-разностной дискретизации стационарного уравнения переноса, не содержащего производной по времени (уравнение (9.81)), результирующая система уравнений, эквивалентная (6.2), не будет симметричной вследствие влияния дискретизированных членов с первыми производными идТ/дх и идТ/ду. Метод сопряженных градиентов может быть применен и к этому случаю при надлежащей модификации [Axelsson, Gustafsson, 1979].
Одна из таких схем под названием ORTHOMIN, построенная в работе [Vinsome, 1976], описывается нами здесь. В принятых автором обозначениях формулы (6.78) заменяются следующими выражениями:
В приводимой выше последовательности формул величины 6 и R играют роль псевдоневязок, а значение величины p("+D служит критерием близости к сходимости.
Различные варианты выбора N, а следовательно, и W соответствуют различным итерационным схемам, рассмотренным в п. 6.3.1. Таким образом, метод, основанный на применении формул (6.78), может интерпретироваться как основная схема с ускорением по методу сопряженных градиентов. Альтернативный, но очень эффективный вариант предварительного кондиционирования можно построить путем приближенной факторизации матрицы А и расщепления ее на нижнетреугольную и верхнетреугольную матрицы L и U [Jackson, Robinson, 1985].
Для случая конечно-разностной дискретизации стационарного уравнения переноса, не содержащего производной по времени (уравнение (9.81)), результирующая система уравнений, эквивалентная (6.2), не будет симметричной вследствие влияния дискретизированных членов с первыми производными идТ/дх и идТ/ду. Метод сопряженных градиентов может быть применен и к этому случаю при надлежащей модификации [Axelsson, Gustafsson, 1979].
Одна из таких схем под названием ORTHOMIN, построенная в работе [Vinsome, 1976], описывается нами здесь. В принятых автором обозначениях формулы (6.78) заменяются следующими выражениями:
vm+i)= v(“)+ 九⑺ pm),n- 1
pm)= 6(%)+ £ am,Qpa),
vm+i)= v(“)+ 九⑺ pm),n- 1
pm)= 6(%)+ £ am,Qpa),
(6.79)
(6.79)
где
где
九向
九向
m,i)_ (zAM)Tp⑶a - (ZAP⑴)Tp«)'
m,i)_ (zAM)Tp⑶a - (ZAP⑴)Tp«)'
(ZA6(G)T pm) (ZAP(〃))Tpm)
(ZA6(G)T pm) (ZAP(〃))Tpm)
Z =(N~1A)r.
Z =(N~1A)r.
Если сохранить все члены под знаком суммирования в выражении для Р(九),то реализация метода потребует значитель-
Если сохранить все члены под знаком суммирования в выражении для Р(九),то реализация метода потребует значитель-
ного объема памяти и будет весьма неэкономичнной. На практике схема хорошо работает при i = 0, ..., 4.
В работе [Markham, 1984] проводится сравнение различных вариантов метода сопряженных градиентов с предварительным кондиционированием для несимметричных систем уравнений. Схема ORTHOMIN является эффективной, однако Маркхэм находит, что метод дважды сопряженных градиентов [Fletcher, 1976], а также модификации этого метода обладают большей эффективностью. Тем не менее в работе [Jackson, Robinson, 1985] утверждается, что методы минимальной невязки оказываются эффективнее, чем метод дважды сопряженных градиентов, если решаемая задача обладает значительной степенью несимметричности. Таким образом, если матрица А имеет произвольную форму, то нельзя указать универсально предпочтительного метода сопряженных градиентов.
Имеется возможность симметризовать общую форму матричного уравнения (6.2), заменяя последнее на
ASV = А『В・ (6.80)
В общем случае данный подход не может быть рекомендован, так как если матрица А в какой-то степени плохо обусловлена, то к матрице АГА это будет относиться в еще большей степени при вытекающей отсюда потере точности в процессе решения (6.80) относительно V. Однако в работе [Khosla, Rubin, 1981] уравнения, описывающие поток несжимаемой вязкой, жидкости вокруг кругового цилиндра при Re = 100, были решены путем такой симметризации определяющих уравнений, как в (6.80), и применения схемы СНП (п. 6.3.3) В| сочетании с методом сопряженных градиентов при предварительном кондиционировании. Метод СНП как таковой требует приблизительно 240 итераций для достижения сходимости на сетке 61 X 24, тогда как метод СНП с вышеуказанным дополнением требует для достижения сходимости всего около 40 итераций.
Многосеточные методы
Описываемые здесь методы применимы как к линейным системам (6.2), так и к нелинейным системам (6.1). Типичный вариант метода будет описан первоначально в применении к линейным системам, а в дальнейшем будет описано и его распространение на случай нелинейных систем.
Многосеточные методы имеют дело с последовательностью сеток, m = 1,…,М, при отношении размеров ячеек сетки Am+i/Дт = 0.5. Линейная система, решение которой нужно по-
строить на наиболее мелкой сетке, записывается в виде
А2 = ВМ.(6.81)
Приближенное представление Vм соответствует решению на сетке, ближайшей в последовательности по степени грубости, т. е. Vм-1. Подобным же образом решение V% построенное на сетке промежуточного размера, является хорошим приближением к решению на более мелкой сетке, ближайшей в последовательности к данной, т. е. к VM+L
Если приближенный вариант решения уравнения Am+Wm+i =由加+i обозначить символом V^+i,°, так что
/п +1, а/п +1, а+ W俏+1+ W俏+1тотоA他+ 1w他 + 1 — b^ + I — Дm+^^ + ь a 一 r 俏+ 1A他+ 1w他 + 1 — b^ + I — Дm+^^ + ь a 一 r 俏+ 1(6.82)(6.83)(6.82)(6.83)
/п +1, а
/п +1, а
+ W俏+1
+ W俏+1
то
то
A他+ 1w他 + 1 — b^ + I — Дm+^^ + ь a 一 r 俏+ 1
A他+ 1w他 + 1 — b^ + I — Дm+^^ + ь a 一 r 俏+ 1
(6.82)
(6.83)
(6.82)
(6.83)
Поправка W^+i и невязка (или дефект) R俏+〔 весьма близко аппроксимируются поправкой и невязкой на ближайшей в последовательности более грубой сетке, т. е. величинами W俏 и R% если только последние обладают достаточной гладкостью, т. е. если амплитуды высокочастотных составляющих малы. Наивысшая частота, поддающаяся представлению на дискретной сетке с ячейкой А^, равна 2Дт (п. 3.4.1).
Релаксационные итерационные процедуры, подобные процедурам Якоби, Гаусса — Зайделя и ПСР, описание которых было дано в п. 6.3.1, на протяжении нескольких итераций удаляют высокочастотные компоненты. Но вот удаление низкочастотных компонент ошибки, а следовательно, и невязки является причиной слабой сходимости релаксационных методов на фиксированной сетке.
Однако низкочастотная компонента на мелкой сетке становится высокочастотной компонентой на грубой сетке. Исходя из этого, применяя многосеточные методы, стремятся воспользоваться высокочастотным сглаживанием, присущим релаксационным методам, следующим образом.
При заданной (加 + 1)-й сетке для сглаживания высокочастотных компонент поправки и невязки делается несколько (V1) релаксационных шагов. На основании (6.83) это может быть символически записано в виде
(6.84)(6.84)wm + l,vi = RELAXv« (W^+l?人從 + 1, R优+ 1), rh+1, v1 _ R/n+1 一. A^+Iw^+I' W
(6.84)
(6.84)
В случае линейной системы уравнений релаксация может быть применена как к первоначальному уравнению (6.2), так и к
уравнению (6.83) с невязками и поправками. В случае нелинейных систем уравнений релаксация должна быть применена к первоначальному уравнению (6.1).
Распределение невязок R" на т-и сетке вычисляется по Rm+i,w с помощью ограничительного оператора /北+】. Это может быть символически записано в виде
R他=/駕+以他+13. (6.85)
Надлежащие варианты ограничительного оператора будут указаны позднее. Процесс релаксации и ограничения продолжается до тех пор, пока не будет достигнута самая грубая сетка, т. е. т=\.
На наиболее грубой сетке с экономической точки зрения целесообразно продолжать релаксацию (или использование любого другого итерационного метода) до тех пор, пока не будет получена сходящаяся поправка W1. В качестве альтернативы уравнение A〔W〔 = R1 или (6.2) может быть решено с помощью прямого метода (§ 6.2). Можно отметить, что в общем случае, если R1 отлична от нуля, то и W1 отлична от нуля.
Поправка W2 может быть получена из W1 путем пролонгации (интерполяции). Это символически изображается формулой W2 = /iW1, или в более общем виде
МГ+1 =/北+”! (6.86)
Надлежащие формы оператора пролонгации /^+1 будут указаны позднее. Затем на более мелкой сетке при m + 1 делается еще несколько релаксационных шагов (v2), так что
W俏+i'M=RELAXU(wm+* A^+i, Rw+I), (6.87) прежде чем проводить пролонгацию на более мелкую сетку.
Один многосеточный цикл, берущий начало с наиболее мелкой сетки, т. е. с т = М, состоит из серии повторных применений формул (6.84) и (6.85), пока не будет достигнута наиболее грубая сетка, после чего строится точное или полное итерационное решение уравнения A】W〔 = R1 и проводится серия повторных применений формул (6.86) н (6.87) вплоть до вторичного достижения наиболее мелкой сетки при т = М. Эта процедура называется V-циклом и ее блок-схема приводится на рис. 6.21.
Цикл повторяется заново до тех пор, пока не будет достигнута удовлетворительная сходимость на наиболее мелкой сетке. Если в качестве уравнения (6.2) берется уравнение Пуассона на равномерной сетке, то десяти циклов достаточно для того, чтобы изменение решения для двух последовательных циклов
уменьшилось до значения порядка 10~5. При проведении первого цикла величина Wm принимается равной первоначально заданному предполагаемому решению на мелкой сетке V% %
Ограничительный оператор /駕+i, фигурирующий в формуле (6.85), позволяет построить распределение невязок на более грубой сетке Rw по известному распределению невязок на более мелкой сетке R俏+L Простейшим выбором для физической
сетки при индексах / и й, соответствующих положению узловой точки на грубой сетке в направлениях хну соответственно, является непосредственное замещение Rh = Rf*. Такой процесс устойчив и эффективен в вычислительном плане при решении существенно эллиптических задач, например для уравнения Лапласа в п. 5.2.3. Однако для нелинейных задач со слабой эллиптичностью типа задач о течении вязкой жидкости с большими числами Re (гл. 17) более устойчивый выбор обеспечивается с помощью пятиточечных и девятиточечных операторов
(6.88)(6.88)
(6.88)
(6.88)
Оператор пролонгации (интерполяции) из формулы (6.86) обычно базируется на билинейной интерполяции в двух измерениях. Так, например, если индексы /, k относятся к более грубой сетке т, то
5映=崂月, (6.89а)
5陞;/2, k = 0.5 (端 k + 5% i,左), (6.89b) ^7+1/2, ^+1/2 = 0.25 (侬貝 + 5 胃 I, л + w^k+i + 5獰1/+1)・(6.89c)
Значения 5^+1 в точках (/,々士 1/2) определяются так же, как в формуле (6.89b). Следует отметить, что узловые точки (/,山)на более грубой сетке будут переобозначены индексами (2/ + 1, 2й + 1) на более мелкой сетке.
При решении нелинейных задач многосеточный метод можно сочетать с методом Ньютона (п. 6.1.1). На каждом шаге ньютоновской итерации линейная система (6.6) решается относительно поправки к решению. Многосеточный алгоритм, соответствующий рис. 6.21, может применяться в процессе итераций при решении (6.6).
Однако многосеточный метод может применяться и непосредственно к решению нелинейной системы (6.1), без обращения к методу Ньютона. При этом существенное отличие от алгоритма, схематически представленного на рис. 6.21, состоит в том, что на этапе ограничения по формуле (6.85) нужно ограничивать переброской на более грубую сетку т не только невязку R俏но и приближенное решение V^4"1, а. На т-м слое вместо решения уравнения (6.83) ищется решение уравнения
A^V^* ° = Y + AWMiV优+1' а. (6.90)
На практике решение V俏,。строится путем релаксации с последующей переброской на более грубую сетку точного решения на самой грубой сетке, а затем релаксации и пролонгации на все более мелкие сетки по аналогии со схемой, показанной на рис. 6.21. Как только получено решение Vm> at рассчитывается поправка
W 他=V"' 。 - /北+卩力+1' a, (6.91)
которая затем пролонгируется на (т + 1)-ю сетку. После этого подправленное решение, т. е. 丫加”’。+ /北"^W俏,релаксируется в основном так же, как и в линейном случае, чтобы получить ym+l, V2
Схему решения нелинейной задачи называют методом полной аппроксимационной памяти (ПАП) [Brandt, 1977] в отличие от метода поправочной памяти (ПП), описываемого на рис. 6.21. Если учесть, что метод ПАП перебрасывает на более грубые сетки и решение, и невязку, то его экономичность немного ниже (на 5 % — 10 %), чем у схемы ПП; в общем случае метод ПАП не должен использоваться при решении линейных задач. Как и в случае метода ПП, эффективность этого метода зависит от возможности сглаживания поправки к решению W и невязки R.
Описание методов ПП и ПАП было начато с аппроксимации решения на наиболее мелкой сетке, ш = М, проходило через V-цикл вплоть до самой грубой сетки и возвращалось обратно, чтобы улучшить начальное решение. Такая стратегия является вполне подходящей, если в нашем распоряжении имеется хорошее приближение к решению VM.
Если никакой информации о решении нет, то лучше начинать с решения на наиболее грубой сетке, полученного либо непосредственно, либо с помощью обычных итераций. Для улучшения решения с помощью интерполяции высокого порядка делается переход на следующий уровень более мелкой сетки, а затем проводятся г многосеточных V-циклов. Процесс интерполяции высокого порядка в сочетании с г многосеточными V- циклами повторяется на последовательности все более мелких сеток вплоть до m = М, а многосеточный V-цикл повторяется До достижения сходимости.
Описанное выше составляет основу полного многосеточного метода (ПМС), представляющего собой обобщение методов ПАП и ПП. Схема метода ПМС показана на рис. 6.22 для случая линейной системы уравнений. Функция INT (Vm, m) символизирует кубическую интерполяцию Vm сначала в направлении %,
а затем для всех узловых значений %(從+1) в направлении у. Функция MGI(Ve‘r-i, А", В") соответствует одному проходу через многосеточный V-цикл, показанный на рис. 6.21.
Многосеточный подход можно рассматривать как прием ускорения, подобный методу сопряженных градиентов (п. 6.3.4) и примененный к основной итерационной схеме (п. 6.3.1— 6.3.3.). Другой вариант интерпретации состоит в том, что основ
ная итерационная схема рассматривается как средство сглаживания в рамках многосеточного метода, так же как она рассматривалась в качестве предварительного кондиционера по отношению к методу сопряженных градиентов. Как и при ускорении по методу сопряженных градиентов, было найдено, что использование неполной (приближенной) линейной факторизации матрицы А, переводимой в L- U, весьма эффективно в качестве сглаживающего процесса для соотношений (6.84) и (6.87) [Sonneveld et al., 1985]. Это особенно справедливо в случаях матриц А с сильной асимметрией, например для задач с преобладающим влиянием конвекции (гл. 9 и 10).
Подробное описание многосеточных методов дается в
Рис. 6.22. Блок-схема для метода трудах [Brandt, 1977; Stuben, ПМС.Trottenberg, 1982; Hackbusch,
1985], а также некоторых других авторов. Брандт, а также Штубен и Треттенберг приводят написанные на языке Фортран программы по приме
нению простого многосеточного метода к решению уравнения Пуассона. Описание, данное здесь, следует в основном 'Штубену и Троттенбергу. Приложения многосеточных методов к решению задач о невязком течении приводятся в п. 14.2.9 и 14.3.5, а к проблемам течения вязкой несжимаемой жидкости—в п. 17.2.3 и 17.3.1.
Псевдонестационарный метод
Альтернатива решению алгебраических уравнений, возникающих при дискретизации некоторой стационарной задачи, состоит в построении эквивалентной нестационарной задачи и решении этой задачи маршевым методом вплоть до достижения стационарного состояния. В подобных условиях время играет роль итерационного параметра.
讲0 d2v eif +研=°,讲0 d2v eif +研=°,Таким образом, если провести дискретизацию уравнения Лапласа
讲0 d2v eif +研=°,
讲0 d2v eif +研=°,
(6.92)
пользуясь центрированными конечно-разностными формулами при Ах = Ду, то метод Якоби дает для внутренних узлов (на сетке /, k типа, показанного на рис. 6.21) выражение
0器D = 0.25 6限+1 + 理)i + 理h 月 + 小%, Q.(6.93)
Желая получить эквивалентное нестационарное уравнение, следует заменить (6.92) на выражение
(6.94)(6.94)dv
(6.94)
(6.94)
Н=а
Дискретизация с помощью конечно-разностных формул при Ах = Ny приводит к алгоритму
и;,% = (1 — 4s) &月 + s (寸,无+i + У/,在-i + У/4-1, k + d-i,京(6.95) где s = аД//Дх2. Выбор s = 0.25 воспроизводит формулу (6.93). Таким образом, имеется очевидная связь между нестационарной формулировкой и методом итераций, рассмотренным в § 6.3.
Важное преимущество нестационарной формулировки состоит в том, что она позволяет воспользоваться различными приемами расщепления, обсуждаемыми в § 8.2. Например, уравнение (6.94) при его решении по методу НПН приводит к алгебраическим уравнениям (8.14) и (8.15). Решение этих уравнений строится путем решения подсистем уравнений, связанных с каждой из сеточных линий, с помощью алгоритма Томаса (п. 6.2.2). Этот процесс иллюстрируется на рис. 6.23.
Если учесть, что само нестационарное решение интереса не представляет, обычно целесообразно выбрать такую последовательность шагов по времени, чтобы минимизировать общее число временных шагов, необходимое для достижения сходимости. Вид упомянутой последовательности зависит от самой задачи, однако, как правило, имеет характер геометрической прогрессии, причем диапазон изменения временных шагов соответствует диапазону собственных значений, связанных с трехдиаго-
нальными матрицами, соответствующими сеточным линиям по направлениям хну [Wachpress, 1966, гл. 6].
При решении задач обтекания часто выясняется, что на одних участках вычислительной области приближение к стационарному состоянию идет значительно быстрее, чем на других. При обтекании ступеньки, обращенной назад (п. 17.3.3), решение в области отрыва потока за ступенькой сходится значительно медленнее, чем в областях, удаленных от ступеньки.
Рис. 6.23. Псевдонестациоиарный метод с расщеплением для решения двудвумерной задачи.
В силу наличия пространственных вариаций скорости сходимости целесообразно дать следующую модификацию уравнения (6.94):
С(X'加翁=а (翡 + 盜)’ (6.96)
где коэффициент с(х, у) подбирается эмпирически так, чтобы выравнять скорость сходимости на различных участках вычислительной области. После этого схема расщепления вводится обычным образом (§ 8.2).
Двумерные стационарные уравнения Бюргерса
Здесь мы проиллюстрируем эффективность псевдонестацио- нарного метода путем сочетания его с методом Ньютона в применении к решению двумерных стационарных уравнений Бюр-
герса (п. 6.1.3). Уравнения (6.12)1 заменяются эквивалентными им нестационарными уравнениями:
dv . - dv . dd 1 / d2v . d2v、 A (6.97) d? + 4林+ 0府一^(曲 + 遊
Дискретизированная форма уравнений (6.97), эквивалентная уравнениям (6.13), имеет вид
理■謂+*'^ 吸'+Rd,W=0, (6.98)
где /?〃;,£ и Rd,% определяются выражениями (6.13).
Можно отметить, что стационарные члены представлены выражениями на временном слое 〃+1. Это сделано для того, чтобы псевдонестационарная форма была совместима с методом Ньютона и чтобы временной слой п + 1 был однозначно эквивалентен итерационному уровню в методе Ньютона (п. 6.1.1). Из рассмотрения выражений (6.13) следует, что R〃/ Л и Rvi 月 являются функциями 〃;%〔, 〃扛:月,у^ и т. д. Поэтому разложение R";% и Ro汴 в окрестности временного (итерационного) уровня, как это делается в п. 8.2.2, позволяет переписать уравнения (6.98) в виде
+ R% + (^^) ^l, m = 0.+ R% + (^^) ^l, m = 0.(6.99)(6.99)
+ R% + (^^) ^l, m = 0.
+ R% + (^^) ^l, m = 0.
(6.99)
(6.99)
где Au"44 = 〃九+1 — ип и т. д. Член q обозначает как 〃, так и и, а индексы /, т соответствуют всем возможным значениям / и 山,для которых частные производные отличны от нуля. Иначе говоря, 1 = j—1, /, / + 1; m=k—1, 瓦 々+1. Уравнения (6.99) могут быть объединены в одно матрично-векторное уравнение вида
(%+J)Aq = —R, (6.Ю0)
которое можно сравнить с уравнением (6.17) при использовании обычного метода Ньютона. Выбор малых значений Д/ соответствует тому, что расширенный якобиан (1/А/ + J) приобретает большую степень преобладания членов, близких к диагонали.
Уравнение (6.100) обладает большей эффективностью в отношении «нижней релаксации» в рамках метода Ньютона, чем
18 К Флетчер, т. 1
уравнение (6.19). Типичная форма выдачи для решения уравнений Бюргерса, обеспечиваемого программой NEWTBU с уравнением (6.100), показана на рис. 6.24. Очевидно, что с уравнением (6.100) сходимость осуществляется намного быстрее, чем с уравнениями (6.17) и (6.19). В случае уравнения
NEWTONS
METHOD
FOR N = 18
ITMX=
50 IRD= 1
IPN= 5
DT=
.10000E-01 EPS=.
100E-04 RE=
.100E+02
OM= .100E+01
А =
110.13 110.13
.00
• 08
1.00
UE=
.9990
.9586
• 4888
-•0559
-.0991
UE=
• 9990
• 9583
.4863
-.0565
-.0991
UE=
.9990
.9572
.4786
-.0584
-.0991
UE=
• 9989
.9553
• 4655
-.0614
-.0992
UE=
.9988
• 9524
.4462
-.0657
-.0992
VE=
.0000
.0000
.0000
.0000
.0000
VE=
.1317
.1277
.0753
.0090
.0012
VE=
.2679
.2598
• 1515
.0179
.0023
VE=
.4142
.4010
.2297
.0266
.0034
VE=
.5774
.5577
.3109
• 0349
.0045
IT=
0
RMS=
.1496D+00
R=
-.2169D+00 -.2850D-01 -.2188D+00
IT=
5
RMS=
.1756D-O1
R=
-.1071D-01 -.2309D-02 -.1703D-01
IT=
10
RMS=
.2O63D-O2
R=
-.1072D-02 -.2O97D-O3 -.1748D-02
IT=
15
RMS=
.2465D-03
R=
-.1160D-03 -.2103D-04 -.1905D-03
IT=
20
RMS=
•2963D-Q4
R=
-.1308D-04 -.2219D-05 -.2157D-04
AFTER
:23 ITERATIONS THE RMS RESIDUAL IS
.83174D-05
U=
• 9990
.9586
.4888
-.0559
-.0991
U=
.9990
.9605
.4835
-.0567
-•0991
U=
• 9990
.9603
.4748
-.0585
-.0991
U=
• 9989
.9577
• 4625
-.0615
-.0992
U=
.9988
• 9524
.4462
-.0657
-.0992
v=
.0000
.0000
.0000
.0000
.0000
v=
.1317
.1282
.0748
.0090
.0012
v=
.2679
• 2605
.1507
.0179
.0023
.4142
.4017
.2290
.0266
.0034
v=
.5774
.5577
.3109
.0349
.0045
Рис. 6.24.
Типичная
выдача по результатам нием (6.100).
программы NEWTBU с уравне-
скорость сходимости зависит от выбора А/. Если значение А/ велико, то сходимость идет так, как при обычном методе Ньютона. Однако в применении к двумерным уравнениям Бюргерса это, по существу, означает расходимость (п. 6.1.3). Если же значение А/ мало, то скорость сходимости оказывается меньше, но появляется преимущество, состоящее в значительном расширении радиуса сходимости. Тем самым преодолевается главный недостаток метода Ньютона, отмечаемый в табл. 6.5. Если уравнения решаются, то с учетом единственности решения уравнений (6.98) ясно, что при выборе доста-
Таблица 6.5. Метод Ньютона
Преимущества
Быстрая сходимость (малое число итераций)
Может модифицироваться для устранения многих явных недостатков
Можно воспользоваться приближенным решением
Недостатки
Малый радиус сходимости при большом числе неизвестных
Факторизация J на каждой итерации неэкономична с вычислительной точки зрения
Факторизация J требует большого объема памяти для хранения всех элементов
Метод расходится, если матрица J плохо обусловлена
точно малого А/ решение будет построено, какова бы ни была его приемлемая начальная аппроксимация.
Видоизменения программы NEWTBU, отражающие переход к уравнению (6.100), содержатся в строках 36 и 39 подпрограммы JACBU (рис. 6.13). Основные недостатки метода Ньютона, отраженные в программе NEWTBU, связаны с недостаточной экономичностью процессов формирования матрицы J и факторизации расширенного якобиана {1/А/ + J}. Факторизация матрицы J требует О(ЛР)операций, что чрезвычайно расточительно в случае больших N. Кроме того, по соображениям экономичности необходимость хранения всех элементов матрицы J в оперативной памяти влечет за собой строгое ограничение на максимальный размер тех систем уравнений, которые могут решаться.
Многие из элементов матрицы J равны нулю и только некоторые из отличных от нуля имеют большие значения. Это позволяет сделать вывод о том, что при решении данной задачи величины Ru и Ru существенно зависят от некоторых узловых неизвестных 〃/,办 Vj,七 но очень слабо зависят от других узловых неизвестных. На этом основании желательно рассмотреть такие аппроксимации для матрицы J, которые охватили бы сильную зависимость и проигнорировали бы слабую, если только такой подход привел бы к уменьшенным якобианам или к таким структурам матрицы J, которые допускали бы эффективную реализацию приближенной факторизации (см. § 8.2). Возможная плата, которую пришлось бы уплатить за это, состояла бы в увеличении числа итераций до достижения сходимости. Однако если каждая итерация будет сама по себе достаточно экономичной, то упомянутая плата окажется приемлемой.
В тех случаях, когда приемы приближенной факторизации (расщепления), описываемые в § 8.2, применяются к решению нелинейных задач, это можно связать с приближенной факторизацией уравнения (6.100). Данный аспект проясняется и развивается в § 10.4, где с помощью приближенной факторизации уравнения (6.100) строится решение двумерных уравнений Бюргерса, т. е. решается поставленная здесь задача.
Стратегические приемыдля решения стационарных задач
Для описания большинства задач гидроаэродинамики используются системы дифференциальных уравнений в частных производных (гл. 11). Если рассматриваются задачи, связанные с потенциалом скоростей (§ 14.3), с функцией тока (§ 17.3), или течения несжимаемой жидкости, связанные с изменениями давления (§ 17.1 и 17.2), то, как правило, одно из определяющих уравнений имеет матрицу с диагональным преобладанием. В некоторых случаях это уравнение может быть также и линейным. Следовательно, здесь будут применимы итерационные методы (§ 6.3), в частности многосеточные методы (п. 6.3.5), а также специальные прямые алгоритмы (п. 6.2.6), если только сетка является однородной.
Когда роль зависимых переменных играют компоненты скорости или завихренность, то в определяющих уравнениях обычно фигурируют нелинейные конвективные члены (гл. 10). Дискретизация таких уравнений приводит к нелинейным системам уравнений типа (6.1), в которых нет диагонального преобладания, если не считать случаев, когда диффузионные (вязкие) члены значительно больше конвективных членов. Тогда, говоря о методе решения, следует выбирать между ньютоновским или псевдоньютоновским алгоритмами и псевдонестационар- ным алгоритмом, связанным с приближенной факторизацией. Сравнительные недостатки и преимущества двух подходов суммируются в табл. 6.5 и 6.6.
При решении задач о течении вязкой жидкости с большими числами Рейнольдса (гл. 17 и 18) матрица J становится плохо обусловленной и это нередко приводит к расходимости метода Ньютона, даже если начальная аппроксимация соответствует сходящемуся решению с близкими параметрами.
В отношении некоторых задач ничего нельзя сказать a priori относительно существования стационарного решения. Тогда при введении нестационарной формулировки удается автоматически обнаружить осцилляционное псевдостационарное решение.
Таблица 6.6. Псевдонестационарная формулировка при приближенной факторизации
Преимущества
Каждая итерация экономична
Очень большой радиус сходимости
Малые требования по объему памяти (расщепление делает сеточные линии взаимоне- зависимыми)
Позволяет обнаруживать нестационарность задачи
Можно воспользоваться приближенным решением
Недостатки
1) Медленная сходимость (требуется большое число итераций)
Исторически метод Ньютона чаще использовался в сочетании с методом конечных элементов, тогда как псевдонестацио- нарный подход с расщеплением чаще сочетался с методами конечных разностей. Однако псевдонестационарный подход можно интерпретировать с точки зрения приведения к диагонально-расширенной системе уравнений, которую следует решать итерационными методами, как в случае уравнения (6.100). Следовательно, даже если расширенные системы уравнений не имеют формального диагонального преобладания по признаку (6.52), они подходят для решения многосеточными методами (п. 6.3.5) и обычно обеспечивают более быструю сходимость.
Заключение
В данной главе был дан краткий обзор методов решения алгебраических уравнений, полученных после дискретизации (§ 3.1), в первую очередь в применении к стационарным задачам.
Те алгебраические уравнения, которые получаются при дискретизации определяющих уравнений гидроаэродинамики (гл. 14—18), являются, как правило, нелинейными. В результате оказывается неизбежным применение тех или иных итерационных процедур. Концептуально полезная идея состоит во введении внешней итерации, позволяющей преодолеть нелинейную природу дискретизированных уравнений, так что на каждом шаге этой внешней итерации решается линейная система уравнений. Решение этой системы может строиться либо прямыми (§ 6.2), либо итерационными методами (§ 6.3).
Во внешней итерации можно воспользоваться методом Ньютона (п. 6.1.1) или псевдонестационарным методом (§ 6.4) _
Несмотря на то что метод Ньютона в окрестности решения обеспечивает квадратичную сходимость, малый радиус этой сходимости при большом числе узловых неизвестных делает данный метод в его основной форме менее эффективным, чем псевдонестационарный метод.
При решении многомерных задач ценность неявных схем расщепления (§ 8.2) прямо пропорциональна эффективности решения систем уравнений с узколенточными матрицами (п. 6.2.2—6.2.5) на каждом этапе внешней итерации.
Итерационные методы, используемые на каждом этапе внешней итерации, оказываются обычно наиболее эффективными для систем с сильным диагональным преобладанием. Это часто имеет место при дискретизации уравнений, определяющих трансзвуковое течение невязкого газа (§ 14.3), а это привело к развитию специальных итерационных методов (п. 14.3.5). Однако характерная черта многосеточных методов (п. 6.3.5) состоит в том, что они позволяют достаточно экономичным путем с помощью прямого метода строить решение на самой грубой сетке. Таким образом, многосеточные методы применимы независимо от того, обладает ли матрица системы уравнений диагональным преобладанием или нет.
Задачи
Нелинейные стационарные задачи (§ 6.1)
При решении задачи о солнечном коллекторе с помощью программы NEWTON модифицируйте эту программу так, чтобы матрица J, входящая в уравнение (6.10), рассчитывалась только через каждые р шагов. Сравните ^числа итераций до достижения сходимости и общие числа необходимых операций, получаемые при различных значениях р. Более разумно начинать с такого решения для Т(°), которое требует для достижения сходимости большего числа итераций, чем показанное на рис. &8.
Сделайте расчеты по программе NEWTBU для значений Re = 5, 2, 1. Для каждого варианта выберите значение з, приводящее к наиболее быстрой сходимости. Что бы вы могли сказать относительно зависимости от Re числа итераций, нужного для сходимости? Можете ли вы скоррелировать эту зависимость с относительной величиной различных членов уравнений (6.12), а также с вытекающим отсюда преобладанием диагональных членов матрицы J в уравнении (6.17)?
Примените квазиньютоновский метод (п. 6.1.4) при Hi, ; = 1/Л, : к задаче о солнечном коллекторе. Положите Н^ / = 0 при i =й= /. Сравните суммарное время счета с аналогичным временем при применении обычного метода Ньютона.
Прямые методы для линейных систем (§ 6.2)
Составьте компьютерную программу для решения уравнения (6.27) при Rceii = 0.5, пользуясь подпрограммами BANFAC и В ANSOL для значе- 田нй Vj при / = 2, ..., 10. Граничные условия: s = 0, иц = 1.0. Данная за-
дача имеет точное решение в форме (9.46).
Vj = -0.0060834 + 0.00365 (5/3)了 при / = 1, ..., 11.(6.101)
Пятиточечная схема, соответствующая схеме (6.27), имеет вид
(1 + Kell) %・_2 — 8 (2 + &ell) у/-1 + 30。/ —
_8 (2 一 凡ell) % + 1 + (1 一 &ell)。/+2 = °・(6」。2Ь
Видоизмените подпрограммы BANFAC и BANSOL применительно к решение пятидиагональной системы, получаемой из вышеприведенного уравнения. Предположите, что заданы адекватные граничные условия, позволяющие вычислить S—2 и Vj-i на левой границе, а также vj+i и 6+2 на правой границе. Проведите расчет по этой схеме при / = 3, ..., 9 и Rceii = 1.0. Воспользуйтесь формулой
Vj = (J吗一1) (е10 — 1) при х/ = 0.1 (j — 1),(6.103>
чтобы получить граничные значения для и】,и2, и】。и и”. Формула (6.103) выражает точное решение задачи, дискретная формулировка которой соответствует (6.102). Следовательно, решение уравнения (6.102) должно быть близко к выражению (6.103).
Составьте компьютерную программу для реализации решения 6』oq- но-трехдиагональных систем уравнений с блоками 2X2. Проверьте работу программы после дискретизации уравнений
d2T dS而_2专=0d2T dS而_2专=0d2sdTd2sdT(6.104>(6.104>
d2T dS
而_2专=0
d2T dS
而_2专=0
d2sdT
d2sdT
(6.104>
(6.104>
с граничными условиями 7 = 0 и S = 1 при % = 0, 7 = 2 sh (1), S = ch(l) при x = 1, используя трехточечные центрированные конечно-разностные формулы. Получите решения внутри интервала 0《%《1.0 при Ах = 0.1. Точное решение уравнений (6.104) с приведенными выше граничными условиями Дирихле выражается в виде Т = 2 sl1(%), S = ch(х).
Итерационные методы (§ 6.3)
Постройте решения для задачи о течении в канале (п. 6.3.2) в соответствии с табл. 6.3 при условии применения методов Якоби, Гаусса — Зайделя и ПВР с конечно-разностной дискретизацией для значений b/а = 3 и 10. Какой эффект оказывает увеличение отношения сторон?
Видоизмените программу DUCT с целью введения схемы НПН, соответствующей уравнениям (6.66) и (6.67), и подтвердите результаты, показанные в табл. 6.3. Сходимость нередко ускоряется за счет введения последовательности итерационных параметров 九犷).Определите эффективность следующего выбора для случая b/а = 1, Ах = Ау:
-~),/ = L — 1, (6.105> , X sin (0.5л//У)丿
где ^ — число разбиений на каждой из сторон сечения канала. Формула (6.105) приводит к циклу, при необходимости повторяемому. Надлежащая стратегия для выбора последовательности итерационных параметров обсуждается в книгах [Varga, 1962; Wachpress, 1966].
Примените к решению задачи о течении в канале (п. 6.3.2) алгоритм МСН (п. 6.3.3) для условий, соответствующих табл. 6.3, и сравните число* итераций, требуемых для сходимости, а также суммарное время счета с результатами, показанными в табл. 6.3.
Примените псевдонестационарный метод Ньютона (программа NEWTBU) с расчетом элементов матрицы J только через каждые р итераций. Определите влияние р на сходимость и суммарное время счета.
Видоизмените программу NEWTBU так, чтобы отдельные элементы матрицы J приравнивались нулю, если они меньше критерия TOL, При TOL = 10-5, 10-3, IO」】 определите, сколько именно элементов J приравнивается нулю и как изменяется число итераций, необходимое для сходимости. Будет ли получаемая в результате структура расположения отличных от нуля элементов матрицы J допускать возможность более эффективного решения уравнения (6.100), чем с применением подпрограмм FACT и SOLVE, например, с применением итерационного метода на основе соотношения (6.51)?
Можно ли сделать программу NEWTBU сходящейся быстрее за счет использования последовательности ДР Введите цикл с помощью геометрической прогрессии шагов по времени
А』а№)/, 2 = 1,…,р,
где показатель прогрессии г qj 1.2 и р а 5—40. Проведите эксперименты с разлнчнымн комбинациями Af(°), г и р.
Глава 7
Одномерное уравнение диффузии
Если говорить о перспективах развития вычислительных методов, то уравнение диффузии содержит тот же самый диссипативный механизм, который обнаруживается при изучении задач гидроаэродинамики со значительным влиянием вязкости или теплопроводности. Следовательно, приемы численного анализа, эффективные для уравнения диффузии, позволят целенаправленно выбрать и надлежащие алгоритмы для решения задач динамики вязкой жидкости (см. гл. 15—18).
В данной главе одномерное уравнение диффузии будет использовано для того, чтобы на примерах его решения разрабатывать явные и неявные схемы. При этом будет уделяться внимание вопросам устойчивости и точности различных схем. Будет рассмотрена также и проблема точного учета граничных и начальных условий.
Ранее (см. § 2.3) мы вводили уравнение диффузии или уравнение теплопроводности
(7.1)(7.1)дТ д2Г 八京-a逹=°
(7.1)
(7.1)
в качестве примера параболического дифференциального уравнения в частных производных, а также пользовались им для иллюстрации процессов дискретизации (§ 3.1) и применения конечно-разностного метода (§ 3.5).
В уравнении (7.1) величина Т может рассматриваться как скорость, завихренность, температура или концентрация в зависимости от того, рассматриваем ли мы диффузию импульса, вихря, тепла или массы. Если Т — температура, то уравнение (7.1) определяет поток тепла в стержне, который теплоизолирован на боковой поверхности, но может передавать тепло окружающей среде через свои концы (точки Д и В на рис. 7.1).
Обычно встречаются два типа граничных условий. Во-первых, зависимая переменная задается как известная функция времени. В обозначениях уравнения (7.1) такое задание имеет форму (для точки А)
Т(0, f) = b(f). (7.2>
Это — граничное условие Дирихле (см. п. 2.1.2). На практике Ъ часто является константой. Во-вторых, можно задать пространственную производную зависимой переменной. Применительно к (7.1) это можно записать в виде (для точки А)
"^~ (0, /) = с (/)• (7.3)
Это — граничное условие Неймана (см. п. 2.1.2). Как и в случае граничного условия Дирихле, величина с часто является константой.
Рис. 7.1. Одномерный нестационарный процесс теплопроводности.
Для получения единственного решения уравнения (7.1) необходимо задать также и начальные условия. Это может быть сделано в форме
亍(居 О) = То(%)・ (7.4)
Точное решение Т(х, f) удовлетворяет уравнению (7.1), а также условиям (7.4) и (7.2) или (7.3), применяемым при х = О и х = 1.0.
С целью построения приближенного решения уравнение (7.1) подвергается дискретизации (§ 3.1), и полученное алгебраическое уравнение приводится к такой форме, которая позволяет составить алгоритм. Этот алгоритм дает возможность получить решение на (п + 1)-м временном слое (см. рис. 3.2) по данным о решении, известном на n-м и на более ранних временных слоях. Описание процедуры в целом дается в § 3.5.
7.1. Явные методы
При использовании явных методов единственная неизвестная, например T/+I, фигурирует в левой части алгебраической формулы, полученной в результате дискретизации.
././. Схема ВВЦП
Если для производной по времени ввести двухточечную раз
ностную аппроксимацию со сдвигом вперед, а для пространственной производной — точечную аппроксимацию с центральной разностью, то уравнение (7.1) приобретает сле
дующую форму:
Уравнение (7.5) будет вУравнение (7.5) будет вВВЦП (разности со сдвигом вперед поВВЦП (разности со сдвигом вперед подальнейшем называться схемойдальнейшем называться схемойДюфорт —ФранкелДюфорт —ФранкелввцпввцпКранк — НиколсонКранк — НиколсонРис. 7.2. Активные узлы вРис. 7.2. Активные узлы вРичардсонРичардсонП о—jT j j+iП о—jT j j+iЛинейный МКЭ, Кранк — НиколсонЛинейный МКЭ, Кранк — Николсоналгебраических схемах для уравнения диффузии.алгебраических схемах для уравнения диффузии.
Уравнение (7.5) будет в
Уравнение (7.5) будет в
ВВЦП (разности со сдвигом вперед по
ВВЦП (разности со сдвигом вперед по
дальнейшем называться схемой
дальнейшем называться схемой
Дюфорт —Франкел
Дюфорт —Франкел
ввцп
ввцп
Кранк — Николсон
Кранк — Николсон
Рис. 7.2. Активные узлы в
Рис. 7.2. Активные узлы в
Ричардсон
Ричардсон
П о—
jT j j+i
П о—
jT j j+i
Линейный МКЭ, Кранк — Николсон
Линейный МКЭ, Кранк — Николсон
алгебраических схемах для уравнения диффузии.
алгебраических схемах для уравнения диффузии.
по пространству). Как можно видеть, пространственная производная была аппроксимирована на n-м слое по времени, т. е. на известном временном слое. Несколько преобразуя уравнение (7.5), получим алгоритм
Т^ = s7?t + (1 — 2s) 7; + s?7+i, (7.6)
где фигурирует параметр дискретизации s = аД//Дх2.
胃…芸}+Е; = 0,胃…芸}+Е; = 0,Узлы сетки, связанные зависимостью по формуле (7.6), показаны на рис. 7.2. Подстановка в уравнение (7.5) функции Т, т. е. точного решения уравнения (7.1), и разложение каждого из членов в ряд Тейлора относительно узла (j, п) (так же, как в п. 3.2.1) дает
胃…芸}+Е; = 0,
胃…芸}+Е; = 0,
Таблица 7Л. Алгебраические схемы дискретных вариантов представления уравнения диффузии dT/dt — ад)Т历户=О
Схема
Алгебраическая формула
Главный член ошибки апп^ксимации ♦
Коэффициент усиления G(е>»тлДх)
Условия устойчивости
Комментарии
ввцп
~^аДххГ/ = 0
а(粤
1 — 4s sin2 ("I")
s《0・5
s = a鲁
〃 =^?U > —2.4
Дюфорт —
Франкел
Т;+1-Т尸а г я
2Af"口г
_(Т;7 + Т;+1) + + %]=0
а А® 12)*"
2s cos 0;+'(r~4s2isin20)1/2 (l+2s)
Нет
AT;+I = T;+i — T;
Кранк — Николсон
АГ;+1 А/
,т; + т:+\
^хх2丿==0
/ A炉、д《Т 一叫向西
1 一 2s siM (8/2)
1 + 2s sin3(e/2)
Нет
Трехслойная чисто неявная
•—•—•
1
1
3 АТ产1 АГ;
2 Af2 Af
-^XXT^=G
t±w/+ + s(l - cos8)]"2}x x{2[1+ls(l~cose)]}'1
Нет
AT; = T;_ T厂 1
Линейный метод конечных элементов/ Кранк — Николсон
匚匚!
Мх ~h—
…=0
/ Дх2、д4Г аЕ丿В
(2 一3s) + cos0(1 + 3s)
(2 + 3s) + cos 8(1— 3s)
Нет
^^{l' 4' 1}
* Ошибка аппроксимации была выражена исключительно через Ах и производные по х, как в методе модифицированного уравнения (п. 9.2.2). Таким образом, алгебраическая схема эквивалентна уравнению дГ/д^ —ад2Г/дх2 + Е (7)=0.
где ошибка аппроксимации Е; определяется формулой в ГА/ д^Т Ах2 д4Т 1П .
Как можно видеть, имеет место согласованность (см. § 4.2) уравнений (7.5) и (7.1).
Исходя из структуры главного члена в выражении для 由, схема ВВЦП будет считаться имеющей первый порядок точности по времени и второй порядок точности по пространству. Однако следует помнить, что это утверждение, строго говоря, справедливо только в пределе A/f 0, Дх->0. Практически решения строятся на сетке конечных размеров и величина таких членов, как d2T/dt2, заранее неизвестна.
Как показывает анализ устойчивости по Нейману (§ 4.3)» коэффициент усиления G выражается формулой
G= 1 — 4s sin2 居),
где s = aA//Ax2 и 0 = mrA%. При любом значении 6 и при s W 0.5 будет |G| & 1. Следовательно, алгоритм (7.6) будет давать устойчивые решения, если s W 0.5. Ранее мы уже видели (см. п. 4.2.1), что при специальном выборе s = 1/6 некоторые члены в выражении ошибки аппроксимации обращаются в нуль, и тогда алгоритм (7.6) дает ошибку аппроксимации порядка О (А/2, Ах4).
Вышеописанные свойства схемы ВВЦП при ее применении к уравнению диффузии (7.1) суммируются в табл. 7.1. Можно отметить, что форма выражения ошибки аппроксимации, приводимая в табл. 7.1, эквивалентна выражению (7.7). Точность численных решений, строящихся с использованием схемы ВВЦП, показана в табл. 7.3.
Схемы Ричардсона и Дюфорта — Франкела
При построении алгоритма (7.6) использование двухточечной односторонней разностной формулы дает вклад первого порядка в выражение ошибки усечения, а использование трехточечной центрированной разностной формулы — вклад второго порядка в то же выражение. Поэтому логическим усовершенствованием алгоритма (7.6) является схема
предложенная Ричардсоном (см. рис. 7.2). Однако, несмотря на то что схема имеет порядок О (Д/2,厶炉),анализ ее устой-
чивости по Нейману [Noye, 1983] показывает, что при s ,> О схема безусловно неустойчива. Таким образом, она не представляет практической ценности. Можно отметить, что замечание о неустойчивом поведении относится к уравнению в целом. Если аппроксимация с центральной разностью для производной по времени применяется к уравнению конвекции (9.2), то может быть получен устойчивый алгоритм (9.15).
Схему Ричардсона (7.8) можно модифицировать так, чтобы получить устойчивый алгоритм. Это достигается за счет замены Г; в уравнении (7.8) на 0.5 (丁;々 + Т;”). В результате получается уравнение
Т;+1-Т;т а [277-(77 7+ 27+1) + 77+1] _
W — и・ и・丝
Уравнение (7.9), известное как схема Дюфорта — Франкела (см. рис. 7.2), можно преобразовать так, чтобы получился явный алгоритм
7产=(母7)(*+*J + (注&) 7尸・(7」。)
Схема Дюфорта — Франкела является трехслойной по времени во всех случаях, кроме s = 0.5, а в последнем случае она совпадает со схемой ВВЦП. При использовании трехслойной схемы нужно хранить в памяти данные на двух временных слоях и возникает необходимость в альтернативной двухслойной схеме для реализации первого шага по времени.
Применение к уравнению (7.10) анализа устойчивости по Нейману (см. § 4.3) дает коэффициент усиления G, приведенный в табл. 7.1. Так как при любом значении 0 и при s>0 имеем |G| ^ 1, то схема Дюфорта — Франкела устойчива при любом значении А/. Однако имеется некая цена, которую нужно уплатить за этот весьма благоприятный результат, касающийся устойчивости. Если в (7.9) подставить точное решение, разложенное в ряд Тейлора относительно (j, п)-го узла, то в результате получится
解一。寡+。措)2詛:+。m,“)=。.(7.")
Следовательно, для обеспечения согласованности необходимо, чтобы Д//Дх->0, когда А/->0 и Ах—>0, т. е. для наличия согласованности требуется выполнение условия Af《Ах. Однако а(А〃А%)2 =sAf, а при решении задач о диффузии ожидается, что s имеет порядок О (1). Поэтому схема Дюфорта — Франкела согласуется с уравнением (7.1), но будет неточной, если
величина sAf велика. Альтернативная форма выражения ошибки аппроксимации (см. табл. 7.1) показывает, что если s = = (1/12)1/2, то схема Дюфорта — Франкела дает ошибку аппроксимации О (Ах4). Соответствующая этому точность решения указывается в табл. 7.3.
Все же с практической точки зрения использование схемы Дюфорта — Франкела влечет за собой серьезное ограничение на величину А/, даже несмотря на то что это ограничение связано с требованиями точности, а не устойчивости, как это было со схемой ВВЦП.
Трехслойная схема
Явная форма трехслойной дискретизации уравнения (7.1) в общем случае записывается в виде
“产 + ьтп + ст尸一 ^dLxxTn + е/Т『)=0,(7.12)
где
厶刁=一 2乙+ 7*)/М・
Параметры a, b, с, d % е могут быть определены путем разложения каждого из членов уравнения (7.12) в ряд Тейлора относительно узла (/, п) и требования о том, чтобы уравнение (7.12) было согласовано с уравнением (7.1). Примеры подобных процедур даются в п. 3.2.2 и 3.2.3. Эта процедура позволяет переписать уравнение (7.12) в форме, содержащей лишь две варьируемые константы у н 0 вместо пяти. В результате уравнение (7.12) заменяется на
(1+Y)(万+1一疗)Y(万一7厂1)
д7а/
—а [(1 - ^Lx^ + РГххГГ1] = 0. (7.13)
Разложение членов уравнения (7.13) относительно узла (/, п) указывает на согласованность данного уравнения с уравнением (7.1), причем ошибка аппроксимации выражается формулой
£; = as Ах?務(0.5 + 丫 + р 一击)+ О (Ах4),(7.14)
где s = aAZ/Дх2. В выражении (7.14) все производные по времени заменяются производными по пространству посредством использования исходного уравнения, как это сделано в табл. 7.1.
Ясно, что уравнение (7.13) имеет ошибку аппроксимации четвертого порядка, если постоянная 0 выражется по формуле 0 = —0.5 —у+ 1/(12s).(7.15)
Из уравнения (7.13) получается алгоритм
7产=(图)骞一(卡)増¥
十 (母)厶袋((1-0)骞+障广)(7.16)
「庶 £^Л = Tj-\ — 2Гу + Т/+1.
Оказывается, что алгоритм (7.16) обладает лишь условной устойчивостью, причем максимальное значение s, обеспечивающее устойчивость, является функцией у. Это можно установить, применяя к уравнению (7.13) анализ устойчивости по Нейману (см. § 4.3). При этом возникает необходимость решения следующего квадратного уравнения относительно G:
G2(1 + Y)- G[ 1 + 2у + 2s(1 - ₽)(cos0~1)] +
+ [у- 2Ps(cos0— 1)] = 0.(7.17)
Для обеспечения устойчивости необходимо, чтобы было |G| W W 1 при любых значениях 0. В результате можно построить график, показанный на рис. 7.3 и демонстрирующий границу
Рис. 7.3. Граница области устойчивости для схемы (7.13) и формулы (7.15).
области устойчивости в координатах у н s. При у = 0 уравнение (7.17) приводит к обусловленному требованием устойчивости ограничению на s( S&0.34), более суровому, чем это делает схема ВВЦП. Точность трехслойной схемы (7.13) исследуется в п. 7.1.4.
DIFEX численные результаты применения явных схем
В данном пункте сравниваются результаты применения схемы ВВЦП (п. 7.1.1), схемы Дюфорта — Франкела (п. 7.1.2), а также трехслойной схемы (п. 7.1.3). Все три метода отражены
19 К. Флетчер, т. 1
c DIFEX SOLVES THE DIFFUSION (ID TRANSIENT HEAT CONDUCTION)
C EQUATION USING VARIOUS EXPLICIT SCHEMES
c
4 DIMENSION TN(41),DUM(41),TD(41),X(41),TE(41),TOL(41),EL(3)
REAL” SUM, AVS r RMS r DSQRTr DMP
C
OPEN(1,FILE;*DIFEX.DAT *)
OPEN(6,FILE='DIFEX.OUT*)
READ(lJ)HE,n>R,JMAX,MAXEX,№OX,ALP%S,TNU,TST°GAK
101 FORMAT(5I5,EIO・3,F5・3,3F5・2)
C
PI * 3.1415927
JNAP = JMAX - 1
AJH = JMAP
DELX = l./AJK
DCLf = DELX*DELX*S/XLPH
17 C
18ir(MC .EQ・ l)VRITE(6f2)
19ir(ME ・EQ. 2)VRITE(6,3)
20ir(ME ・EQ・ 3)VRITE(6r4).
212 FORMATS FTCS SCHEME'"/)
223 FORNATC DUFORT-FRANKEL SCHEME*,//)
234 FORMATC* 3-LEVEL, 4TG-0RDER SCHEME\//)
24 VRITE(6r5)JMAX,MAXEX<NMAXrTMAXrTSTrGAM
255 FORMAT(, JNJUC** Д5Г* MAXEX=* Д5/ NM№'J5.
261,TMAX»\F5.2/ TST=IF5・2J GAM*\F5.2)
27MRIT以 6,6) S, ALP% DELT, DELX
286 FORMATS S=\F5・3J ALPH =「E10.3J D£I*T ■ 3E1Q.3,
29 V DELX = \E10.3,//)
C
31IF(NE.EQ.2)AS 匸2.*S/(l.+2.*S)
32IF(ME・CQ・2)BS =(1. - 2.*S)/(1.+ 2・*S)
33IF(KE.NE.3)GOTO7
AS=(l.+2.*CAM)/(l.+GAM)
BS=-GAM/(1.+GAM)
36CS=S/(1.+GAN)
37DS=1.5 + GAM - 1./12./S
38ES = -0.5 - GAM + 1./12./S
39EL(1)=1.
40EL(2)=-2.
41EL(3)=1・
7 CONTIKUE
C
C OBTAIN INITIAL CONDITIONS FROM EXACT SOLUTION
C
T = TST - 2.*DELT
47 DO 9 I » 1,2
T = T + DELT
C
CALL EXTRA(JMAX,NAXEX,DELX,PI,ALPH,T,T£)
C'
52 DO 8 J = 2,JMAP
IF(I ・EQ・ l)TOL(J) = TE(J)/100.
54 IF(I ・EQ・ 2)TN(J) = TE(J)/100.
8 CONTINUE
9 CONTIKUE
C
C SET BOUNDARY CONDITIONS
C
Рис. 7.4. Распечатка программы DIFEX (начало.)
012345678901234567890123456789012345678901234567890123466666666667777777777888888888899999999990000000000111111 1 1 111111111111012345678901234567890123456789012345678901234567890123466666666667777777777888888888899999999990000000000111111 1 1 111111111111c c cc c cc c c c c cc c c c c cc c c c c c cc c c c c c c
0123456789012345678901234567890123456789012345678901234
6666666666777777777788888888889999999999000000000011111
1 1 1 111111111111
0123456789012345678901234567890123456789012345678901234
6666666666777777777788888888889999999999000000000011111
1 1 1 111111111111
c c c
c c c
c c c c c c
c c c c c c
c c c c c c c
c c c c c c c
TOL(l) = 1.
TOL(JMAX) = 1.
TN(1) = 1.
TN(JMAX) = 1.
TD(1) = 1OO.*TN(1)
TD(JMAX) = 1OO.*TN(JMAX)
N = О
EACH TIME STEP STARTS AT STATEMENT 10
N = N + 1
IF (ME .EQ. DGOTO 15
IF(ME .EQ. 2)GOTO 13
ME = 3, 3-LEV,, 4TH ORDER
DO 12 J =2,JMAP
DUM(J) » AS*TN(J) + BS*TOL(J)
DO 11 К » 1,3一
KJ = J - 2 + К
DUM(J) = DUN (J) + CS*EL(K)*(DS*TN(W) + ES*TOL《KJ)> 11 CONTINUE 12 CONTINUE
GOTO 17
ME = 2, DUFORT-FRANKEL
DO 14 J > 2,JMAP
DUM(J) = AS*(TN(J~1) + TN(J+1)) + BS*TOL(J)
GOTO 17
ME = lr FTCS
DO 16 J = 2,JMAP
DUM(^) = (l.-2.*S)*TN(J) + S*(TN(J-1) + TN(J+1),
CONTINUE*
DO 18 J = 2,JMAP
IF(ME ・GT・ l)TOL(J) = TN(J) 18 TN(J) = DUH(J)
DO 19 J = 2,JMAP 19 TD(J) = 1OO.*TN(J)
T = T + DELT
IF(IPR .EQ. l)WRITE(6,20)T, (TIX(J) ,J=1,JMAX)
20 FORMATS T= IF5.2J TD='」1F6・2)
IF MAXIMUM TIME OR MAXIMUM NUMBER OF TIME-STEPS
EXCEEDED EXIT FROM LOOP
IF(N .GE. NMAX)GOTO 21
IF(T .LT. TMAX)GOTO 10
OBTAIN EXACT SOLUTION AND COMPARE
SUM = 0.
Рис. 7.4 (продолжение).
115 С
116
CALL EXTRA(JMAX,МАХЕХ,DELX,PI,ALPH,T,ТЕ)
117 С
118
DO 22 J = 1,JMAX
119
DMP » ТЕ(J) - TD(J)
120
SUM = SUM ♦ DMP*DMP
121
22
CONTINUE
122
IF(IPR .NE. l)WRITE(6,20)T,(TD(J),J=lrJMAX>
123
WRITE(6,23)T,(ТЕ(J)rJ»l,JMAX)
124
23
FORMAT (// T= LF5.2J ТЕ»'Д1Г6.2,//)
125 С
126 С
RMS IS THE RMS ERROR
127 С
128
AVS = SUM/(1. + AJM)
129
RMS « DSQRT(AVS)
130
VRITE(6r24)RMS
131
24
FORMAT(» RMS DIF » \D11.4,//)
132
STOP
1轟
END
Рис. 7.4 (окончание).
в тексте программы DIFEX, распечатка которой приведена на рис. 7.4 и которая является обобщением программы DIFF (рис. 3.13).
Решения ищутся в вычислительной области 0 ^ х ^ 1.0 и 2.00 W f & 9.00 при начальных условиях, заданных при f = = 2.00, с помощью точного решения (3.42), деленного на 100. Граничные условия имеют вид
Т(0, /) = 7(1, /)=1.0. (7.18)
Представление о точности различных схем можно получить путем оценки среднеквадратичной разности между численным и точным решениями при 7 = 9.00. Точное решение рассчитывается с помощью подпрограммы EXTRA (рис. 7.5). Схема Дю- форта — Франкела и трехслойная схема нуждаются в задании начальных данных на двух слоях при f = 2.00 и t= 2.00 — At
Основные параметры, используемые в программе DIFEX (см. рис. 7.4), приводятся в табл. 7.2. Характерная форма представления решения, построенного с помощью трехслойной схемы на сравнительно грубой сетке, показана на рис. 7.6.
Точности различных вариантов решения, полученных при использовании программы DIFEX, сравниваются в табл. 7.3. Чтобы получить возможность сравнения трехслойной схемы четвертого порядка в виде (7.13) со схемами ВВЦП и Дюфор- та — Франкела, использовалось два значения s: s = 0.3 и 0.41. Кроме того, в таблицу включены два частных случая — ВВЦП с s = 1/6 и схема Дюфорта — Франкела с s=(l/12)"2. Оба
этих случая соответствуют резкому уменьшению ошибки аппроксимации.
2 SUBROUTINE EXTRA(JMAX,МАХЕХ,DELX,PI,ALPH,T,TE) 3 C
4 C EXACT SOLUTION OF THE TRANSIENT HEAT CONDUCTION PROBLEM 5 C
6 DIMENSION X(41),TE(41)
7 C
8DO2J=lrJMAX
9AJ«J-1
10X(J)=DELX*AJ
11ТЕ(J)= 100.
12DO1M«1,MAXEX
13AM=M
14DAM =(2.«АМ - 1.)
15DXM =DAM*PI*X(J)
16DTM =-ALPH*DAM*DAM*PI*PI*T
17 C
18 C LIMIT THE ARGUMENT SIZE OF EXP(DTK)
19 C
20IF(DTM .LT* - 25・)DTM « -25.0
21DTM « EXP(DTK)
22IF(DTM .LT. 1.0E-10)GOT0 2
231 ТЕ(J)匸 TE(J) - 400./DAM/PI* SIN(DXM)*DTH
242 CONTINUE
25RETURN
25END
Рис. 7.5. Распечатка программы EXTRA.
3-LSnL, 4TH-0RDER SCHEME
JMAX»11 MAXEX« 10 NMAX= 500 ТМАХ» 9.00 TST= 2.00 GAM= 0.00
S= .300 ALPH =.100E-01 DELT =.30QE+00 DELX = .TOOE+OQ
?= 9.20 TD=100.00 84.12 69.80 58.45 51.16 48.65 51.16 58.45 69.80 84.12100.00
T= 9.20 TExlOO.OO 84.12 69.80 58.45 51.17 48.66 51.17 58.45 69.80 84.12100.00
RNS DIF =.4169D-02
Рис. 7.6. Типичная выдача результатов по программе DIFEX (начало).
При s = 0.3 схема ВВЦП обнаруживает скорость сходимости второго порядка. Приближенное значение скорости сходимости было получено по данным об отношении величин среднеквадратичной ошибки на двух сетках: Ах = 0.1 и Дх = 0.05,
г = lg (RMSA%=0.1/lg(RMSA*n0.05)・
Схема Дюфорта — Франкела значительно точнее схемы ВВЦП.
Таблица 7.2. Параметры, используемые в программе DIFEX
Параметр
Описание
ME
=1: схема ВВЦП
=2: схема Дюфорта—Франкела
=3: трехслойная схема четвертого порядка
IPR JMAX МАХЕХ NMAX ALPH S ТМАХ TST GAM TD TN TOL ТЕ DELX DELT EL T
X RMS
Управление формой выдачи; IPR=1 для решения TD
Число точек в направлении %:
Число членов в выражении точного решения Максимальное число шагов по времени Коэффициент тепловой диффузии а =а Ах/А/2•
Максимальное время•
Начальное время.
Параметр 丫 в соотношении (7.16)
Размерный температурный массив
Безразмерный температурный массив Т“ в (7.16)
Безразмерный температурный массив Тп^ в (7.16) Размерный температурный массив точного решения Ах М
Коэффициенты в выражении разностного оператора 厶;力 Время
Пространственная координата, 0 W % W 1.0 Среднеквадратичная ошибка решения
Это связано с близостью данного значения s к специальному s = (1/12)1/2 = 0.289, для которого достигается скорость сходимости четвертого порядка. Трехслойная схема четвертого порядка (при у = 0) оказывается менее точной, чем схема Дюфорта — Франкела на грубой сетке (Ах = 0.20). Обычная тенденция для схем повышенного порядка состоит в том, что для выявления своих преимуществ в точности они нуждаются в более мелких сетках. По мере возрастания у точность трехслойной схемы четвертого порядка на заданной сетке уменьшается, хотя четвертый порядок скорости сходимости приближенно сохраняется. При s = 0.41 и y = 1.0 трехслойная схема четвертого порядка обнаруживает точность, сравнимую с точностью схемы Дюфорта ——Франкела на грубой сетке, но является существенно более точной на мелкой сетке.
Результаты, показанные в табл. 7.3, свидетельствуют о том, что построение схем повышенного порядка путем уменьшения
Таблица 7.3. Численные решения уравнения (7.1) с помощью явных схем
Схема
S
Y
Среднеквадратичная ошибка RMS
Приближенная скорость сходимости г
(А*=0.2)
(△%=0.1)
(А%=0.05)
ввцп
1/6
0.7266 X 10~2
0.4921 ХЮ~3
0.3279X10-4
3.9
То же
0.30
0.6439
0.1634
0.0413
2.9
*
0.41
1.2440
0.3023
0.0755
2.0
Дюфорт —
0.289
0.0498
0.2328X10-2
0.1152X10-3
4.3
Франкел То же
0.30
0.0244
0.0136
0.00395
1.8
»
0.41
0.8481
0.2085
0.05250
2.0
Трехслойная
0.30
0.0
0.0711
0.00416
0.00022
4.2
4-го порядка То же
0.30
0.5
0.1372
0.00665
0.00029
4.5
»
0.30
1.0
0.2332
0.00916
0.00054
4.1
»
0.41
1.0
0.7347
0.0229
0.00140
4.0
ошибки аппроксимации не представляет серьезных трудностей. Такие схемы, как правило, дают повышенную точность на мелкой сетке, однако зачастую при ужесточении ограничений, связанных с устойчивостью. По отношению к нелинейным уравнениям, определяющим движение жидкости, повышение точности может оказаться не столь большим, как для уравнения диффузии, обладающего в данной ситуации весьма гладким решением.
Неявные методы
В случае применения неявных схем пространственный член д2Т/дх2 в уравнении (7.1) аппроксимируется, по меньшей мере частично, на неизвестном временном слое (п + 1). На практике это приводит к возникновению взаимосвязи уравнений для каждого из узлов (/, п + 1) на (九 + 1)・м временном слое и к необходимости решать систему алгебраических уравнений для продвижения решения во времени.
721. Чисто неявная схема
Простейшее неявное конечно-разностное представление уравнения (7.1) имеет вид
T产-?7a (吶一 2T产 + 咽)()
Для получения полезного алгоритма уравнение (7.19) переписывается в виде
-sT注;+ (1+ 2s) 7产| 一 sTK; = Г;.(7.20)
В результате разложения в ряд Тейлора относительно (/, п)-го узла выясняется, что эта схема имеет ошибку аппроксимации
e7 = 一年(1 +*)[禁]+00務
Полученное выражение имеет тот же порядок, что и для явной схемы ВВЦП, соответствующей уравнению (7.5) при s #= 1/6, хотя постоянный множитель здесь несколько больше.
С помощью анализа устойчивости по Нейману (см. § 4.3) получается следующее выражение для коэффициента усиления:
G = [l +2s(l -cosO)]'1.
Если s > 0, то при любом 0 имеем |G| W 1. Это означает, что схема (7.20) безусловно устойчива, выявляя тем самым свое очевидное преимущество перед условно устойчивой явной схемой (7.5).
Однако для решения уравнения (7.20) необходимо рассмотреть как все узлы /, так и соответствующие уравнения. Таким образом, может быть выписана матрица уравнений для неизвестных значений Т^:
-(l+2s)—s一
—s (1 4~ 2s)—s
7(l+2s) —s X
-s (1 + 2s)
В уравнении (7.21) имеем
d2 = T2+sT^\
山5, d^^Tl-x + sT^,
где значения Г?+1 и Т1}" известны из граничных условий Дирихле. Очевидно, что система уравнений (7.21) является трехдиагональной. Следовательно, для решения уравнений (7.21) можно воспользоваться алгоритмом Томаса (см. п. 6.2.2), требующим выполнения 5(/—2)—4 операций (учитываются только операции умножения и деления).
На практике с учетом необходимости формирования уравнений решение неявной системы (7.21) с помощью алгоритма Томаса требует, как правило, вдвое большего компьютерного времени, чем решение того же числа явных уравнений (7.6). Шаг по времени может быть сделан существенно большим, чем предельное значение шага по времени для явной схемы, т. е. Д/ехр = 0.5Дх2/а; однако точность решения будет при этом меньше.
Схема Кранка — Николсона
Альтернативный вариант неявного алгоритма для решения уравнения (7.1) соответствует схеме Кранка — Николсона (см. рис. 7.2), которая имеет вид
生;戸—а(0・5 J%7? + 0.5 V产)=0,(7.22)
где
Фактически эта схема аппроксимирует пространственную производную на слое времени, промежуточном между n-м и (п + + 1)-м слоями, т. е. на временном слое (п + 1/2). Если выполнить разложение в ряд Тейлора относительно точки (/, п + + 1/2), то мы найдем, что уравнение (7.22) согласуется с уравнением (7.1) при ошибке усечения порядка О(Д/2, Ах2). Последнее представляет собой значительное улучшение по сравнению как с чисто неявной схемой, так и со схемой ВВЦП, поскольку обе они имеют точность лишь первого порядка по времени.
Анализ устойчивости по Нейману показывает, что схема Кранка — Николсона является безусловно устойчивой (см.
табл. 7.1). Перестановка членов уравнения (7.22) дает алгоритм
一 0.5sT^l + (1 + s) 7户 一 0.5s?7抬=
= 0.5s?7—i + (1 -s)T7 + O・5sT7+i,(7.23)
который можно сравнить с алгоритмом (7.20). Если последовательно рассмотреть все пространственные узлы, то соотношение (7.23) даст трехдиагональную систему уравнений, эффективное решение которой может быть выполнено с помощью алгоритма Томаса.
Вследствие присущего ей второго порядка точности по времени схема Кранка — Николсона составляет основу очень популярного метода решения параболических дифференциальных уравнений в частных производных. Свойства схемы Кранка — Николсона суммируются в табл. 7.1.
Можно получить обобщение уравнения (7.22), если написать
АТ 九+1
Р) Lx# + PW/+11 = 0,(7.24)
где
А7;+1 = 7;+1-7; и 0&В&1.
В случае р = 0 получается схема ВВЦП, при 0 = 0.5 — схема Кранка — Николсона, а при 0 = 1.0 — чисто неявная схема.
Анализ устойчивости по Нейману, проводимый для уравнения (7.24), показывает возможность устойчивого решения при
*《萧爲), если 0《PV1/2;нет ограничений, если 1/2&Р&1.
Можно отметить, что схема Кранка — Николсона располагается на границе области безусловно устойчивого режима. Для многих стационарных задач гидроаэродинамики эффективный путь состоит в решении эквивалентной нестационарной задачи вплоть до такого состояния, когда решение больше не изменяется (см. § 6.4). Однако нередко в различных частях вычислительной области решение приближается к стационарному состоянию с существенно различными скоростями; тогда говорят, что уравнения являются жесткими (см. § 7.4). К сожалению, схема Кранка — Николсона в этой ситуации часто приводит к осциллирующему решению, которое, будучи в принципе устойчивым, приближается к стационарному состоянию довольно медленно.
В этом отношении некоторые трехслойные по времени схемы оказываются более эффективными, чем схема Кранка — Николсона.
Обобщенная трехслойная схема
Для уравнения диффузии можно составить обобщенную трехслойную схему, охватывающую, в частности, и уравнение (7.24). Эта схема имеет вид
•吐礬忆-桀工-а[(1-Р) J* + В&Т 产]=0, (7.25) где АТ" = Т7 — 7尸. Включение в схему дополнительного временного слоя влечет за собой повышенные требования к памяти, чтобы хранить решение. Однако современная тенденция сводится к тому, что компьютерная память становится дешевле и больше по объему. Есть и второй эффект, связанный с необходимостью выделения дополнительного времени на исполнение алгоритма, порядка 10—15 %, нужного для обработки дополнительных членов.
Особенно эффективная трехслойная схема получается, если выбрать у = 0.5, 0= 1.0. Эта схема имеет ошибку аппроксимации О (А/2, Ах2), является безусловно устойчивой, может решаться с помощью алгоритма Томаса и способствует затуханию искусственно вызванных колебаний, обсуждавшихся ранее в связи с упоминанием о жестких задачах. Мы будем называть эту схему трехслойной чисто неявной (ТСЧН) и воспользуемся ею в дальнейшем при обсуждении вопроса о приближенной факторизации (см. § 8.2 и 8.3). Схема ТСЧН обладает полезным свойством Л-устойчивости (см. § 7.4).
Свойства некоторых из весьма многочисленных численных схем для моделирования уравнения диффузии (7.1) показаны в табл. 7.1. Намного больше схем дается в книге (Richtmyer, Morton, 1967].
Схемы повышенного порядка
Отправной точкой изложения в данном пункте является Дискретизированное уравнение (7.25), модифицированное так, чтобы охватить как конечно-разностные, так и конечно-элементные трехслойные схемы. В результате уравнение (7.25) заменяется на
(+)必(等)J
—a [PW;+1 + (1-P)W;] = 0, (7.26)
где
А7;+1 = 7产1 - 7;,a?7 = T7 - 7厂1,
Т“-2Т/ + 〃+1
Стоит отметить, что уравнение (7.26) по своей структуре подобно уравнению (7.13). При применении метода конечных элементов 此={К !•, V}, так что
Мх А〃 = - АТ/」+ ^ "j + 4" А7*・(7.27)
В случае метода конечных разностей Мх = {0, 1, 0}. Параметры у и р могут быть подобраны так, чтобы обеспечить заданные уровни точности и/или устойчивости. В п. 7.2.2 различным схемам соответствовало значение у = 0. Частный вариант выбора у = 0, р = 0.5 приводит к методу Кранка — Николсона. Результаты как для конечно-элементной, так и для конечно-разностной форм метода Кранка — Николсона приводятся в табл. 7.3. Вариант выбора у = 0.5, 0 = 1.0 кратко обсуждается в п. 7.2.3. В данном пункте параметр у будет рассматриваться как свободный, но параметр 0 будет считаться функцией у.
Разложение членов уравнения (7.26) в ряд Тейлора относительно узла (/, п) дает следующее выражение для главного члена ошибки усечения:
Е; = as Ax2 -g-(0.5 + у +- ₽) ,(7.28)
где оператор массы записывается в виде
М% = {6, 1—26, 6}.(7.29)
Это выражение включает в себя как конечно-разностную (6 = =0), так и конечно-элементную (6 = 1/6) формулировки. В выражении (7.28) для ошибки аппроксимации исключены все производные по времени, как это было сделано в табл. 7.1.
Рассмотренные ранее схемы (см., например, п. 7.2.3) соответствовали выбору р = 0.5 + у. Ясно, однако, что при выборе
P = 0.5 + y +屮А?(7.30)
должна быть достижима точность четвертого порядка. Это обстоятельство в свою очередь дает мотивировку выбора М% = {±,},так как при таком Мх и при р = 0.5 + у
получается ошибка аппроксимации четвертого порядка.
Уравнение (7.26) последовательно применяется к каждому узлу, что да^т трехдиагональную систему уравнений вида
4?7 寸 + BiT^ + С"雷=(1 + 2у) AU7 — YMcT 尸 +
+ (\^^)sLfxxTl(7.31)
где
4 = & = (1 + y)6-sP, 8/ = (1 + y)(1-26) + 2sB, 4警=* - 2T扌+必.
Несмотря на то что число операций, требуемое для решения уравнения (7.31), значительно больше, чем для чисто неявной схемы или схемы Кранка — Николсона, данная схема оказывается намного более точной (см. п. 7.2.5).
DIFIM: численные результаты применения неявных схем
В данном пункте проводится сравнение точности схемы повышенного порядка (7.31) с точностью неявных схем более низкого порядка, а также явных схем низкого и высокого порядков, рассмотренных в § 7.1.
Программа DIFIM представляет собой обобщение программы DIFF, направленное на построение численного решения уравнения (7.1) при граничных, условиях (7.18) путем решения последовательности уравнений (7.31) так, чтобы решение продвигалось во времени для всех внутренних узлов. Для решения уравнения (7.31) используются подпрограммы BANFAC и BAN SOL. Если учесть, что Л/, Bf и С/ не зависят от времени, то обращение к BANFAC необходимо сделать лишь один раз, на первом шаге по времени. Распечатка программы DIFIM приведена на рис. 7.7. Программа DIFIM может работать по пяти вариантам схем, приведенным в табл. 7.4 и соответствующим различным представлениям 0 как функции у, а также различным вариантам оператора Мх. Случай 1, когда у = 0, соответствует схеме Кранка — Николсона (7.26). Многие из основных параметров, используемых в программе DIFIM, совпадают с теми, которые применялись в программе DIFEX (см. табл. 7.2). Дополнительные параметры приводятся в табл. 7.5. Типовая выдача, характеризующая решение при ME = 3 и у = 0, показана на рис. 7.8.
Программа DIFIM использовалась для сравнения результатов применения различных методов, перечисленных в табл. 7.4. Сравнительные данные приводятся в табл. 7.6 и относятся к точности решения на различных сетках (Дх = 0.2, 0.1 и 0.05) при / = 12.0. Эти результаты были получены при а = 0.01 и
1
2 С
3 С
4 С
5 С б
7
8
9 С
10
11
12
13
14 С
15
16
17
18
19
20 С
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 С
38 С
39 С
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 С
56 С
57 С
DIFIM.FOR SOLVES THE DIFFUSION EQUATION USIN^ VARIOUS IMPLICIT SCHEMES/
REAL«8 SUM,AVS,RMS,DSQRT,DMP
DIMENSION DUM(65) rX(41) ,TE(41) ,A(5,65) ,D(6<5)
DIMENSION ELX(3),EMX(3),TOL(41),TN(41),TD(41)
OPEN(lrFILE«'DIFIM.DAT')
OPEN(6,FILE='DIFIM.OUT')
READ(1,D ME,IPR,JMAX 小AXEX,NMAX,ALPH,S,TMAX,TST,GAM
1 FORMAT(5I5,E1O.3,F5.3,3F5.2)
PI = 3.1415927 JMAP = JMAX - 1 AJM = JMAP DELX = l./AJM DELT = DELX*DELX*S/ALPH
IF(ME ・EQ・ l)WRITE(6r4)
IF(ME .EQ. 2)WRITE(6r5)
IF(NE .EQ. 9)WRITE(6r6)
IF(ME .EQ. 4)WRITE(6r7)
IF(ME ・EQ・ 5)WRITE(6r8)
HRITE(6,2)JMAX,MAXEX,NMAX,TNAX,TST,GAH 2 FORMATS JMAX=',15/ MAXEX=* Д5, * NMAX=',I5,
1* ТМЛХ«\Г8.2, • TST=・,F5・2, WRITE(6,3)S,ALPH;DELT,DELX
3 FORMAT(*• S« .,F5・3J ALPH 备
1* DELX = \E10.3r//)
GAM=\F5.2)
4 FORMAT(• 5 FORMATC 6 FORMAT(* 7 FORHATC 8 FORMAT(*
DIFFUSION DIFFUSION DIFFUSION DIFFUSION DIFFUSION
EQUATION: EQUATION: EQUATION: EQUATION: EQUATION:
IMPLICIT PARAMETERS
ЧЕ10.3/ DELT »,E10・3,
FDM-2MD\//) FEM-2ND*,//) FDM-4TH\//) FEM-4TH\//) COMP\//)
BET = 0.5 + GAH
IF(ME .EQ. 3)BET = BET - 1./12./S
IF(ME .EQ. 4)BET = BET + 1./12./S
IF(ME .EQ. 1 .OR. ME ・EQ・ 3)EMX(1) = 0.
IF(ME .EQ. 2 .OR. ME .EQ. 4)EMX(1) = 1./6.
IF(ME .EQ. 5)EMX(1) = 1./12.
EMX(2) = 1.二 2.*EMX(1)
EMXO) = EMX(l)
AD = EMX(1)*(1. +' GAM) - BET*S
BD = EMX(2)*(1. + GAM) + 2.*BET*S
CD = AD
ELX(l) = 1.
ELX(2) = -2.
ELX(3) = 1.
JMAF = JHAX - 2
OBTAIN INITIAL CONDITIONS FROM THE EXACT SOLUTICH
Рис. 7.7. Распечатка программы DIFIM.
585960585960м Т + DELTм Т + DELT61 С 6263 С6461 С 6263 С64T » TST - 2.*DELT ©О 10 I » 1,2
58
59
60
58
59
60
м Т + DELT
м Т + DELT
61 С 62
63 С
64
61 С 62
63 С
64
CALL EXTRA(JMAX,МАХЕХ,DELX,PI,ALPS,Т,ТЕ)
DO % J = 2,JMAP
65 IF(1 .EQ. l)TOL(J) = ТЕ(J)/100.
66 IF(I .EQ. 2)TN(J) = ТЕ(J)/100.
679 CONTINUE
6810 CONTINUE
69 C
70 C SET BOUNDARY CONDITIONS
71 C
72TOL(l) = 1.
73TOL(JMAX) ® 1.
74TN⑴工1.
75TN(JMAX)匸 1.
76TD(1) « 1OO.*TN(1)
77TD(JMAX) = 100.*TM(UMAX)
78N м 0
79 C
80 C EACH TIME STEP STARTS AT STATEMENT 11
81 C
8211 N = M + 1
83 C
84 C SET UP THE TRIDIAGONAL SYSTEM OF EQUATIONS
85 C
86 DO 14 J > 2,JMAP
S7 JM « J - 1
88IF(N .GT.DGOTO 12
89A(1,JK)=0.
90A(2,JM)«AD
91A(3,JM)жBD
92A(4,JH)*CD
93A(5,JM)«0.
9412 D(JM) » 0.
95 DO 13 К « 1,3
96 KJ = J - 2 + К
97D(JM) = D(JM) + EMX(K)*((1. + 2.*GAM)*TM(KJ) - GAM*TOL(KJ)>
98D(JM) « D(JM) + S*ELX(К)*(1 .-BET)*TN(W)
9913 CONTINUE
10014 CONTINUE
101 D(l)匸 D(l) - А(2Д)*ТМ(1)
102 D(JMAF) = D(JMAF) - A(4rJMAF)*TN(JMAX)
103 C
104 C SOLVE BANDED SYSTEM OF EQUATIONS
105 C
106 IF(N .EQ. DCALL BANFAJA,JMAFJ)
107 C
109 C109 C108 CALL BANSOL(D r DUN r A,JMAF,1)
109 C
109 C
11011111211311411011111211311411711811711815 TN(J) = DUM(J-l)15 TN(J) = DUM(J-l)DO 16 J = 2,JMAPDO 16 J = 2,JMAPDO 15 J = 2,JMAP TOL(J) = TN(J)
110
111
112
113
114
110
111
112
113
114
117
118
117
118
15 TN(J) = DUM(J-l)
15 TN(J) = DUM(J-l)
DO 16 J = 2,JMAP
DO 16 J = 2,JMAP
16 TD(J) = 1OO.*TN(J) T « T + DELT IF(IPR .EQ. l)WRITE(6r17)T,(TD(J),J=lrJMAX)
17 FORMAT(* T= LF5.2J TD«* Д1Г6.2)
Рис. 7.7 (продолжение).
901234567890123456789012345#12222222222333333333344444441*111111111111111111111111111901234567890123456789012345#12222222222333333333344444441*111111111111111111111111111с с сс с сс с с- сс с с- сс с сс с сT= 12.50 TD-100.00 88.55 78.22 70.02T= 12.50 TE=100.00 88.54 78.21 70.00T= 12.50 TD-100.00 88.55 78.22 70.02T= 12.50 TE=100.00 88.54 78.21 70.0064.76 62.94 64.76 70.02 78.22 88.55100.0064.74 62.92 64.74 70.00 78.21 88.54100.0064.76 62.94 64.76 70.02 78.22 88.55100.0064.74 62.92 64.74 70.00 78.21 88.54100.00
901234567890123456789012345#
1222222222233333333334444444
1*111111111111111111111111111
901234567890123456789012345#
1222222222233333333334444444
1*111111111111111111111111111
с с с
с с с
с с с- с
с с с- с
с с с
с с с
T= 12.50 TD-100.00 88.55 78.22 70.02
T= 12.50 TE=100.00 88.54 78.21 70.00
T= 12.50 TD-100.00 88.55 78.22 70.02
T= 12.50 TE=100.00 88.54 78.21 70.00
64.76 62.94 64.76 70.02 78.22 88.55100.00
64.74 62.92 64.74 70.00 78.21 88.54100.00
64.76 62.94 64.76 70.02 78.22 88.55100.00
64.74 62.92 64.74 70.00 78.21 88.54100.00
IF MAXIMUM TIME OR MAXIMUM NUMBER OF TIME-ST?PS EXCEED» EXIT FROM LOOP
IF(N .GE. NMAX)GOTO 18
IF(T .LT. ,TMAX)GOTO 11
OBTAIN EXACT SOLUTION AND COMPARE
18 CALL EXTRA(JMAX r MAXEX r DELX r PI,ALPH,T,ТЕ)
SUM = 0.
DO 19 J « 1,JMAX
DMP « ТЕ(J) - TD(J)
SUM = SUM + DMP*DMP
19 CONTINUE
IF(IPR ・NE・ 1)WRITE(6,17)T,(TD(J)rJ»lrJMAX)
WRITE(6,2O)TJTE(J) ,J=1, JHAX)
20 FORMAT(// T« \Г5.2/ ТЕ»'Д1Г6.2,//)
RMS IS THE RMS ERROR
AVS » SUM/(1. + AJM)
RMS - DSQRT(AVS)
WRITE(6r21)RMS
21 FORMAT(* RMS DIF « \D11.4r//)
STOP
END
Рис. 7.7. (окончание).
начальном условии, соответствующем точному решению (3.42) при / = 4.5. Граничные условия Дирихле были наложены на Г при х = 0 и 1.0. Приближенная скорость сходимости была получена такой, как в табл. 7.3.
DIFFUSION EQUATION: ГЕМ-4ТЯ
JMAX- 11 МЛХЕХ- 10 NMAX« 500 ТМАХ= 12.00 TST= 4.50 GAM= .00 S= 1.000 ALPH «.100E-01 DELT =.100E+01 DELX «.100E+00
RMS DIF ».1522D-01
Рис. 7.8. Типичная выдача результатов по программе DIFIM.
Все результаты, приводимые в табл. 7.6, были получены при s = 1.0. Методы, номинально имеющие второй порядок (случаи 1 и 2), обнаруживают приблизительно второй порядок схо-
Таблица 74 Различные варианты, предусмотренные в программе DIFIM
Случай (ME)
Метод
мх
Р
1
Конечно-разностный
2-го
(0, 1, 0)
0.5+ Y
2
порядка
Конечно-элементный
2-го
(1/6, 2/3, 1/6)
0.5+ Y
3
порядка
Конечно-разностный
4-го
(0, 1, 0)
0.5 + Y一 l/(12s)
4
порядка
Конечно-элементный
4-го
(1/6, 2/3, 1/6)/
0・5 + y + 1/(12s)
5
порядка
Комбинированный
(1/12, 5/6, 1/12)
0.5+ y
Таблица 7.5. Дополнительные параметры, используемые в программе DIFIM
Параметр
Описание
ME
Параметр, определяющий выбор метода (см. табл. 7.4)
GAM
Параметр у, используемый в уравнении (7.26)
BET
Параметр 0, используемый в уравнении (7.26) и табл. 7.4
EMX
Массовый оператор Мх
ELX
Разностный оператор 厶%%
AD, BD, CD
Коэффициенты 4/, В, и & в уравнении (7.31)
димости, тогда как методы, номинально имеющие четвертый порядок (случаи 3, 4 и 5), обнаруживают сходимость четвертого порядка. Это имеет место как при у = 0, так и при у = 1.
Вообще говоря, увеличение у снижает уровень точности при сохранении примерно той же скорости сходимости. При применении грубых сеток точность, обеспечиваемая схемами повышенного порядка (случаи 3—5), ненамного превышают ту, которая достигается со схемами более низкого порядка (случаи 1 и 2), в особенности при больших значениях у. Однако с применением мелкой сетки разница в точности оказывается существенной. В случаях 3—5 сравнимая точность обнаруживается на грубых и мелких сетках при у = 0. Однако при у = 1 случай 1 дает более высокую точность, чем случаи 3 и 5, особенно на грубой сетке.
Сравнение некоторых явных и неявных схем приводится в табл. 7.7 для случаев у = 0 и у = 1.0 при s = 0.41. Эти результаты были получены при t = 9.00 с начальным заданием Т
20 К Флетчер, т. I
Таблица 7.6. Точность неявных схем (см. табл. 7.4) при решении уравнения (7.1)
Случай (ME)
V
Среднеквадратичная ошибка RMS
Приближенная скорость сходимости г
(А%=0.2)
(А% = 0.1)
(А%=0.05)
1
0.0
0.3895
0.1466
0.03993
1.9
2
0.0
0.8938
0.1787
0.04185
2.1
3
0.0
0.2393
0.01526
0.001053
3.9
4
0.0
0.2393
0.01522
0.000897
4.1
5
0.0
0.2393
0.01525
0.001034
3.9
1
1.0
2.090
0.03003
0.03245
3.0*
2
1.0
1.760
0.2475
0.04668
2.4
3
1.0
2.367
0.1246
0.008129
3.9
4
1.0
1.395
0.09269
0.005912
4.0
5
1.0
1.867
0.1087
0.007097
3.9
* На основе отношения RMSa%=o 2/RMSa*=o.o5
при t = 2.00. На грубой сетке различные схемы обнаруживают сравнимую точность. Однако на мелкой сетке неявные схемы дают значительно большую точность.
Таблица 7.7. Сравнение неявных и явных схем при s = 0.41
Метод
V
Среднеквадратичная ошибка RMS
Приближенная скорость сходимости г
(、%=0.2)
(、% = 0.1)
(А%=0 .05)
Конечно-разностный 2-го порядка, неявный
0.0
0.7502
0.2004
0.05127
2.0
Конечно-разностный 4-го порядка, неявный
0.0
0.03718
0.002407
0.000206
3.5
ВВЦП, явный
0.0
1.2440
0.30230
0.07550
2.0
Конечно-разностный 2-го порядка, неявный
1.0
0.7625
0.1681
0.04938
1.8
Конечно-разностный 4-го порядка, неявный
1.0
0.6482
0.03155
0.00192
4.0
Конечно-разностный 4-го порядка, явный
1.0
0.7347
0.02290
0.00140
4.0
Тот, вообще говоря, высокий уровень точности, который достигается на мелких сетках, в известной степени отражает гладкость точного решения и относительную простоту опреде-
ляющего уравнения. Как отмечалось в § 7.1, нельзя ожидать столь же высокого уровня точности при рассмотрении задач гидроаэродинамики. Однако целенаправленный подбор коэффициентов дискретизированного уравнения типа (7.26), служащий для уменьшения ошибки усечения, является вполне оправданным при условии достаточной устойчивости алгоритма. В об* щем случае характеристики устойчивости неявных схем, улучшенные по сравнению с характеристиками явных схем, позволяют проявить большую гибкость при выборе свободных параметров, т. е. у и 0 в уравнении (7.26).
Граничные и начальные условия
В § 7.1 и 7.2 использовались граничные условия Дирикле, и там, где начальные условия требовали задания данных на двух слоях, эти данные обеспечивались за счет точного решения. В результате единственный источник ошибок в решениях был связан с дискретизацией производных в определяющем уравнении (7.1). В данном параграфе будут рассматриваться такие решения, в которых добавочные ошибки вносятся в процессе реализации граничных и начальных условий.
/・ Граничные условия Неймана
Разработанные нами пока что алгоритмы, как, например, (7.6), пригодны для расчета внутренних узлов. Чтобы восполь-
[9T/3x];=0=c(tn)[9T/3x];=0=c(tn)[乔/0x]爆"仕e)[乔/0x]爆"仕e)Явный вариантЯвный вариантНеявный вариантНеявный вариантРис. 7.9. Варианты реализации граничных условий Неймана.Рис. 7.9. Варианты реализации граничных условий Неймана.
[9T/3x];=0=c(tn)
[9T/3x];=0=c(tn)
[乔/0x]爆"仕e)
[乔/0x]爆"仕e)
Явный вариант
Явный вариант
Неявный вариант
Неявный вариант
Рис. 7.9. Варианты реализации граничных условий Неймана.
Рис. 7.9. Варианты реализации граничных условий Неймана.
зоваться этими формулами для граничных значений, таких, как T;+i на рис. 7.9, потребовалась бы информация о решении за пределами вычислительной области. Поэтому нужно разработать специальные формулы для использования на границах. Применительно к граничным условиям Дирихле (7.2) трудностей не
возникает. Там, где требуется значение Гр делается подстановка 7; = Ь" на основании (7.2).
Граничные условия Неймана в форме (7.3) ставят перед исследователем белее серьезную проблему. Величина [dT/dx] ir входящая в формулу (7.3), может быть смоделирована посредством одностороннего конечно-разностного выражения с использованием информации лишь изнутри области. Результат имеет вид
(тГ1 - Г?+1)/Ах = D(7.32>
В типичном варианте приложения схема ВВЦП (7.6) будет использована для определения значений Т^ во всех внутренних узлах, / = 2, ..., j — 1. На границе % = 0 формула (7.32) дает
тп+\ = тп+1 —戸I А%(7.33)
Здесь важная проблема состоит в том, что соотношение (7.33) дает ошибку аппроксимации О (Ах), тогда как схема ВВЦП имеет ошибку аппроксимации О (Ах2). Учитывая, что уравнение диффузии является параболическим уравнением (см. § 2.3), пониженная точность решения на границе окажет влияние на точность решения внутри области во все позднейшие моменты времени.
На основании изложенного желательно представить условие Неймана (7.3) посредством такого алгебраического выражения, которое имеет такую же ошибку аппроксимации, как и выражение, используемое для внутренних узлов. Этого можно добиться следующим образом. Формула (7.3) моделируется соотношением
⑺一方)/(2Ах) = с“.一(7.34)
Чтобы добиться ошибки аппроксимации порядка О (Ах2), формула (7.34) составлена со включением фиктивного узла (0, п), лежащего за пределами вычислительной области (рис. 7.9). Однако если вычислительную область условно расширить так, чтобы включить в нее указанную точку, то соотношение (7.34) может использоваться вместе с уравнением для точек внутренней области, таким, как (7.5), записанным для точки (1, и), чтобы исключить из обоих уравнений 7f. Результат имеет вид
Г#】=一 2s^xcn + (1 — 2s) Г? + 2sTf,(7.35)
причем во всех точках области ошибка усечения имеет порядок О (А/, Дх2). Если во внутренних точках используется неявная
схема, например (7.19), то соотношение (7.34) записывается для временного слоя п + 1 и в сочетании с уравнением (7.20) дает уравнение (см. рис. 7.9)
(1 + 2s)r?+1 - 2sT#i = Г? - 2s A%厂+i, (7.36>
которое может рассматриваться как первое уравнение трехдиагональной системы, эквивалентной системе (7.21). Эта система может решаться с помощью алгоритма Томаса. Построение, использованное для получения уравнений (7.35) и (7.36), пригодно и в том случае, когда граничные условия Неймана ставятся при х = 1 (см. рис. 7.1).
Можно ожидать, что использование различных формул на границах приведет к изменению свойств, касающихся устойчивости. Строго говоря, более или менее прямолинейный анализ устойчивости по Нейману (§ 4.3) применим только к уравнениям для внутренних точек; тем не менее, согласно предположению [Trapp, Ramshaw, 1976], анализ по Нейману может быть эвристически распространен и на границы. Альтернативный вариант определения устойчивости полной системы уравнений, включая соотношения на границах, состоит в использовании матричного метода.
В применении к уравнению диффузии обсуждается возможность применения матричного метода к схеме Кранка — Николсона с различными граничными условиями [Mitchell, Griffiths, 1980]. Как было показано в этой работе, схема Кранка — Николсона с граничными условиями Дирихле является безусловно устойчивой. С граничными условиями Неймана схема Кранка — Николсона устойчива, однако одно из собственных значений матрицы усиления равно единице, что дает осциллирующее решение. Для смешанного граничного условия общего вида необходимо вводить дополнительное ограничение на параметры граничного условия, чтобы обеспечить устойчивость.
Точность реализации граничного условия Неймана
Реализация граничного условия Неймана (п. 7.3.1), применяемого к уравнению диффузии, будет описана применительно к некоторым из схем, упоминавшимся в § 7.1 и 7.2, причем будет указано, как влияет эта реализация на суммарную точность. Решения уравнения диффузии
а - а*^ = ° (7・37>
будут строиться здесь в пространственном интервале 0.1 W W % & 1.0 при граничных условиях
票=с = 2 — 2п sin (0.05л) ехр [一 а ^~У /] при х = 0.1,
Т = 2 при х= 1.0.(7.38)
Начальные условия выбраны в форме
7 = (2% + 4 cos (0.5лх) при / = 0.(7.39)
Данная задача имеет точное решение
7 = 2% + 4cos(0.5лх)ехр[— а (手『",(7.40)
которое будет использовано для оценки точности численного решения.
Численные решения вышеописанной задачи были получены •с помощью модифицированной формы программы DIFEX (рис. 7.4). Среднеквадратичные ошибки для сеток различного размера приводятся в табл. 7.8. Эти ошибки были рассчитаны при f = 9.00. Чтобы избежать ошибок, связанных с реализацией начальных условий, такие условия при t = 0.80 были сформулированы при помощи точного решения (7.40). Все решения, демонстрируемые в табл. 7.8, были получены при значении s = =0.30.
Таблица 7.8. Явные схемы для внутренних точек с граничным условием Неймана при х = 0.1
Метод для внутренних точек
Формула
ДЛЯ граничного условия
Среднеквадратичная ошибка RMS
Приближен* пая скорость сходи* мости г
А%=0.225
Ах=0.1125
А%=0.05625
ВВЦП + (7.32)
(7.32)
0.1958
0.07978
0.03539
1.2
ВВЦП + (7.34)
(7.34)
0.1753 X Ю~2
0.4235 X 10-3
0.1064 X IO"3
2.0
Трехслойный
(7.34)
0.4244 X Ю~2
0.9142 X I。—
0.2144 X Ю"3
2.1
4-го порядка 7 = 0 + (7.34)
(7.34)
0.8684 X Ю~2
0.2034 X Ю~2
0.4867 X Ю"3
2.1
Сочетание реализации граничного условия в форме (7.32) со схемой ВВЦП дает, как видно из таблицы, сравнительно неточное решение, точность которого возрастает с измельчением сетки примерно по линейному закону. Таким образом, первый
порядок точности, связанный с применением формулы (7.32), превалирует над вторым порядком точности по пространству〉 свойственным схеме ВВЦП. Это положение подтверждается характером распределения ошибки для сетки с Ах = 0.225, показанным в табл. 7.9. Точность решения является наименьшей при х = 0.1, т. е. там, где задается граничное условие Неймана, и становится все более точным по мере приближения к точке х = 1.00.
Таблица 7.9. Распределение ошибки для случая Ах = 0.225 в табл. 7.8
Метод для внутренних точек
0.1
0.325
0.550
0.775
1.000
ВВЦП + + (7.32)
-0.3799
-0.1989
-0.08366
-0.02610
0.000
ВВЦП + + (7.34)
0.332 ХЮ"3
-0.221X10-2
-0.272X10-2
-0.173Х10-2
0.000
Трехслойный 4-го порядка,
Y = 0 + + (7.34)
0.832X10-2
0.421 X 10-2
0.166X10-2
0.572 ХЮ~3
0.000
Формула (7.34), аппроксимирующая первую производную с точностью второго порядка, может сочетаться со схемой ВВЦП с целью получения алгоритма (7.35), дающего решение при х = 0.1. Среднеквадратичные ошибки для этого сочетания приводятся в табл. 7.8. Очевидно, что построенные таким образом решения более точны, чем при использовании аппроксимации первого порядка (7.32) для граничного условия Неймана. Соотношение (7.34) дает ошибку аппроксимации второго порядка^ такую же, как и схема ВВЦП. Из табл. 7.8 видно, что рассматриваемое сочетание приводит к сходимости второго порядка. Анализ распределения ошибок для этого сочетания, приводимого в табл. 7.9, показывает, что ошибка при х = 0.1, где задается граничное условие Неймана, меньше ошибки в любой другой точке.
Формула (7.34), т. е. аппроксимация второго порядка для граничного условия, может сочетаться с внутренней схемой (7.16) четвертого порядка. Это легче всего сделать за счет использования (7.36) для явного выражения величины Г?
и последующего применения формулы (7.16), записанной для узла 1. Среднеквадратичные ошибки для различных вариантов измельчения сетки приводятся в табл. 7.8 с использованием двух значений у. В общем случае рост у уменьшает точность. Второй порядок ошибки аппроксимации, соответствую щи й формуле представления граничного условия, достаточен для того, чтобы свести до второго порядка суммарную скорость сходимости. Фактически точность, соответствующая обоим значениям у, меньше точности схемы ВВЦП. Как показывает приводимое в табл. 7.9 распределение ошибки, создаваемой трехслойной схемой четвертого порядка, ошибка оказывается значительно больше вблизи точки х = 0.1, где задается граничное условие с производной, однако вблизи точки х = 1.00 она меньше ошибки, создаваемой схемой ВВЦП.
В принципе можно ввести для dT/dx представление более высокого порядка, чем (7.34), связанное с информацией о добавочных узловых значениях Тп и т. д. Однако это повлекло бы за собой не только усложнение алгоритма, но и необходимость установления ограничений на величину s, обусловленных устойчивостью. Строго говоря, предпринимать такое исследование стоило бы с помощью матричного метода (§ 4.3). Нередко введение повышенного порядка представления граничного условия уменьшает рабочий диапазон s, связанный с действием внутреннего алгоритма.
Формулы (7.32) и (7.34), представляющие граничные условия с первым или вторым порядком точности, применялись также и в сочетании с некоторыми неявными схемами, описанными ® § 7.2; ошибки соответствующих решений приводятся в табл. 7.10. Среднеквадратичные ошибки рассчитывались при f = 15.00. Точное решение (7.40) было использовано для задания начального решения при t = 5.20. Приводимые в табл. 7.10 значения были получены при выборе s = 1.0. Два конечно-разностных метода второго и четвертого порядков, охваченные табл. 7.10, соответствуют в табл. 7.4 значениям параметра ME, равным 1 и 3.
Сочетание формулы первого порядка (7.32) для представления граничного условия с конечно-разностной схемой второго порядка дает суммарную скорость сходимости первого порядка и точность решения, сравнимую с той, которую создает соответствующая явная схема (табл. 7.8). Эта сравнимая точность достигается вопреки повышенным значениям s, используемым в неявных схемах. Тем самым обеспечивается косвенное подтверждение того, что формула первого порядка для граничного условия играет доминирующую роль в оценке среднеквадратичной ошибки.
Таблица 7.10. Неявные схемы для внутренних точек с граничным условием Неймана при х = 0.1
Метод для внутренних точек
Формула для граничного условия
Среднеквадратичная ошибка RMS
Приближенная скорость сходимости г
△% = 0.225
△*=0.1125
△*=0,05625
Конечно-разност
(7.32)
0.1448
0.07138
0.03344
1.1
ный 2-го порядка (ME = 1)
То же (ME = 1)
(7.34)
0.01478
0.00363
0.00087
2.1
Конечно-разност
(7.34)
0.00912
0.00223
0.00053
2.1
ный 4-го порядка, y = 0 То же, у = 1.0
(7.34)
0.01478
0.00539
0.00141
1.9
Значительное уменьшение ошибки достигается за счет использования формулы второго порядка (7.34) для представления граничного условия, в особенности на наиболее мелкой сетке. Точность не столь велика, как та, которую дает сочетание со схемой ВВЦП, хотя скорость сходимости имеет второй порядок. Переход к схеме четвертого порядка для внутренних точек, FDM-4TH, дает несколько более точное решение, но со скоростью сходимости лишь второго порядка. При у = 1.0 точность оказывается меньше, чем при у = 0, что согласуется со свойствами явной схемы.
Для получения скорости сходимости повышенного порядка следует ввести более точное конечно-разностное представление граничного условия Неймана при х = 0.10. Такой процесс должен привести к необходимости совместного рассмотрения четырех или пяти узловых точек, а это повлечет за собой потребность в модификации алгоритма Томаса для решения дискретизированных уравнений с соответствующей матрицей.
3. Начальные условия
Начальные условия, представленные в форме (7.4), не вызывают каких-либо трудностей в случае двухслойной схемы, подобной (7.6) или (7.20), если не считать границы, на которой ставится граничное условие Дирихле. Может случиться так, что, скажем, на границе х = 0 значение 7(0,0), определяемое начальным условием, отличается от значения 7(0, 0), определяемого граничным условием. Предпочтительная стратегия сводите优
к тому, чтобы осреднить два значения Т(0, 0) на первом временном слое, п = 0, но вновь вернуться к надлежащему граничному условию в последующие моменты времени. В табл. 3.7 эта стратегия сравнивается с альтернативным путем, состоящим в задании Т(0, 0) на первом временном слое с помощью начальных условий. Для данного конкретного примера видно, что стратегия осреднения приводит к более точному решению.
Трехслойные схемы, подобные (7.25), требуют задания информации на двух слоях; поэтому^ на начальной стадии интегрирования они нуждаются в замене. Роль такой замены должна сыграть двухслойная схема, достигающая той же или более высокой точности. Следовательно, подходящей была бы трехслойная схема второго порядка, подобная схеме Кранка — Николсона. В качестве альтернативного варианта можно воспользоваться схемой первого порядка по времени типа ВВЦП при условии, что второй слой начальных данных рассчитывается на мелкой сетке, тем самым компенсируя первый порядок точности. Для этой цели может быть полезной экстраполяция по Ричардсону (п. 4.4.1).
§ 7・4・ Метод прямых
Алгоритмы, разработанные в § 7.1, 7.2, при дискретизации уравнения (7.1) вводят дискретные формулы одновременно как для производной по времени, так и для пространственной производной. Это нередко позволяет добиться исключения членов, определяющих соответствующие ошибки аппроксимации, повышая за счет этого порядок точности.
d〃/a(〃/一] - 2勺 + 〃/+[)d〃/a(〃/一] - 2勺 + 〃/+[)О,О,(7.41)(7.41)Однако альтернативный подход состоит в том, чтобы пространственный член подвергнуть дискретизации первым, превращая, таким образом, дифференциальное уравнение в частных производных в систему обыкновенных дифференциальных уравнений для узловых значений. Если в уравнении (7.1) зависимую переменную 7 заменить на 〃,то в результате вышеописанных действий получим
d〃/a(〃/一] - 2勺 + 〃/+[)
d〃/a(〃/一] - 2勺 + 〃/+[)
О,
О,
(7.41)
(7.41)
Ах2
где для дискретизации(Рй/dx^ в уравнении (7.1) было использовано трехточечное конечно-разностное выражение второго порядка. Процесс перехода от уравнения (7.1) к уравнениям (7.41) является примером применения метода прямых [Holt, 1984], или полудискретизации.
Привлекательная черта метода прямых состоит в том, что для решения полудискретной формы исходного дифференциального уравнения в частных производных можно воспользоваться
различными методами решения систем обыкновенных дифференциальных уравнений [Gear, 1971; Lambert, 1973; Seward et. al., 1984]. Следует, однако, подчеркнуть, что построение полудис- кретной формы вносит ошибку, связанную с пространственной дискретизацией. В результате этого «наилучшим» вариантом при выборе метода решения получаемой системы оказывается обычно алгоритм более низкого порядка, чем если бы это была система обыкновенных дифференциальных уравнений, не связанная с аппроксимациями. При решении задач с начальными данными, описываемых обыкновенными дифференциальными уравнениями, наиболее эффективными обычно оказываются либо линейные многошаговые методы, либо методы Рунге — Кутты.
Последовательное применение соотношения (7.41) ко всем внутренним узлам приводит к системе уравнений, записываемых в виде
du/dt = Au.(7.42)
Если бы пространственный член уравнения (7.1) был нелинейным, то уравнение (7.42) можно было бы записать в более общей форме
du/dt = F.(7.43)
Скалярные эквиваленты векторных уравнений (7.42) и (7.43) имеют вид
du/dt = Ли,(7.44)
du/dt = f •(7.45>
Применяя к уравнению (7.45) линейный многошаговый метод общего вида, можно написать
тт
Zaz^+Z = A/£pzf+Z,(7.46)
2=0/=0
где ищется решение ип+т. Если рт = 0, это решение получается в явной форме; если же 0耽=/= 0, то (7.46) представляет собой неявный алгоритм для определения ип+т.
Простейший случай, когда /п= 1, приводит к соотношению «1^+1 + %〃“ = А^РоГ + М产)(7.47>
которое охватывает, в частности, схему Эйлера 3 =—ao = 1, Ро = I, Pi =0),
①"+1-"〃 =削产.(7.48>
Последняя формула, если ее применить к линейной системе (7.42) в форме (7.41), совпадает со схемой ВВЦП, соответст-
вующей уравнению (7.5). Соотношение (7.47) охватывает также и тр а пецоида льную схему
d+i - / = А/(0・5厂 + 0.5严)(7.49)
В применении к (7.41) трапецеидальная схема совпадает со схемой Кранка — Николсона в форме (7.22).
Двухшаговый вариант схемы (7.46) имеет вид
а2^+2 + 的尸】+ М = & (备广 + MfZ + 犷+2)・ (7.50)
При применении к (7.41) соотношения (7.50) при р2 = 0 схема (7.50) позволяет получить явное решение 〃;+2 и совпадает со схемой (7.12). Если Рг ¥= 0, то схема (7.50) в применении к (7.41) охватывает как схему (7.25), так и схему (7.26). Например, схема ТСЧН (п. 7.2.3) соответствует выбору а2 = 1.5, ai = —2.0, а0 = 0.5, р0 = Pi = 0, р2 = 1.0. Фактически все схемы, разработанные в § 7.1 и 7.2, могут рассматриваться как принадлежащие классу линейных многошаговых методов.
При решении обыкновенных дифференциальных уравнений используют линейные многошаговые методы более высокого порядка (т. е. включающие большее число шагов), и притом в варианте предиктор — корректор. В этом случае явная схема обеспечивает предиктор, а неявная схема — соответствующий корректор [Gear, 1971]. Однако если стратегия высокого порядка применяется к системе уравнений, полученных в результате полудискретизации дифференциального уравнения в частных производных, например к системе (7.41), то для хранения информации о векторах urt+1 и F〃+〔 необходим большой объем памяти. Кроме того, использование схемы высокого порядка для маршевого продвижения по времени было бы неэффективным, так как если точное решение не является очень гладким, то преобладающее влияние на ошибки решения будет, вероятно, оказывать дискретизация низкого порядка пространственных членов.
Необходимость избежать хранения в памяти большого числа решений, соответствующих предшествующим шагам по времени, побуждает воспользоваться одношаговыми методами решения полудискретных систем, такими, как методы Рунге — Кутты. В применении к уравнению (7.45) схема Рунге — Кутты общего вида, содержащая R этапов, может быть записана в форме
R
un+i = un + А/ £ crfr,(7.51а)
где
fr = f(t + Man
…М),
г=1, 2. ..., п, (7.51b)
% — b「s,厂—1, 2, • • •, R・(7.51 с)
S»1
Формулы (7.51) охватывают неявные схемы Рунге—Кутты, неэкономичные в вычислительном плане, так как уравнение (7.51b) является нелинейным и должно решаться с применением итераций для каждого из значений fr и на каждом шаге по времени. Поэтому больший интерес проявляется к явным схемам Рунге — Кутты, в которых верхние пределы суммирования в формулах (7.51b) и (7.51с) заменяются на г—1. Так, например, схему Эйлера (7.48) можно интерпретировать в качестве одноэтапной (左=1) явной схемы Рунге — Кутты при G = 1, Ьц = О, Л1 = 0.
Существует бесконечное число двухэтапных явных схем Рунге ——Кутты второго порядка. Типичной схемой такого рода является улучшенная схема Эйлера
(7.52)(7.52)". = 〃" + &尸,
(7.52)
(7.52)
ип^=ип + 0.5М(1п + Г).
Существуют и многочисленные трехэтапные явные схемы Рунге — Кутты третьего порядка [Lambert, 1973]. Нижеследующая четырехэтапная и четырехшаговая схема Рунге — Кутты четвертого порядка получила широкое распространение при решении задач с начальными значениями, определяемых обыкновенными дифференциальными уравнениями 、
(7.53)(7.53)〃"I = "〃 + 年(广 + 2f + 2广 + n),
(7.53)
(7.53)
где
公=/ + 0.5削产, 〃“=炉+ 0.5A/f\ "…=” +削广,公=/ + 0.5削产, 〃“=炉+ 0.5A/f\ "…=” +削广,r=f (严叱公), 广=,(严叱炉) f・” = f (产,〃…).r=f (严叱公), 广=,(严叱炉) f・” = f (产,〃…).
公=/ + 0.5削产, 〃“=炉+ 0.5A/f\ "…=” +削广,
公=/ + 0.5削产, 〃“=炉+ 0.5A/f\ "…=” +削广,
r=f (严叱公), 广=,(严叱炉) f・” = f (产,〃…).
r=f (严叱公), 广=,(严叱炉) f・” = f (产,〃…).
Очевидно, что схемы Рунге — Кутты повышенного порядца требуют большего числа оценок для f. При решении таких полу- дискретных систем, как (7.43), серия повторных оценок всех членов, связанных с пространственной дискретизацией, зачастую играет определяющую роль в подсчете суммарного времени исполнения.
Если скалярное уравнение (7.44) рассматривается вместе с начальным условием 〃(О)=〃о, то соответствующее точное решение имеет форму
“ (/) = “°” = (7.54}
Чтобы физическое решение соответствовало устойчивому процессу в интервале 0 & / & 8, необходимо, чтобы 九 W 0. Абсолютная устойчивость линейного многошагового метода (7.46} анализируется путем применения указанной схемы к уравнению (7.44) с последующим формированием полинома устойчивости
т
2 (勿一入邺" =0. (7.55) ко
При заданном АА/ абсолютная устойчивость достигается [Lambert, 1973] тогда, когда все корни rs полинома (7.55) удовлетворяют условию
丨仆丨VL (7.56)
Это условие в принципе эквивалентно ограничению, выполнение которого требовалось для устойчивости решения дискретизированного дифференциального уравнения в частных производных при применении анализа устойчивости по Нейману (§ 4.3).
В случае схемы Эйлера абсолютная устойчивость достигается, если —2 & АА/ W 0. Поскольку 4 V 0, это соответствует условию Д^ < 2/|2|. Для трапецеидальной схемы абсолютная устойчивость связана с условием 入Af V 0; следовательно, трапецеидальная схема устойчива при любом выборе А/.
Критерий абсолютной устойчивости, эквивалентный (7.56), описан в книге [Lambert, 1973] и приводит к ограничению —2 W 入А/ & 0, относящемуся как к одноэтапной схеме Эйлера, так и к явной двухэтапной схеме Рунге—Кутты (7.52). Однако четырехэтапная явная схема Рунге—Кутты (7.53) имеет слегка расширенный интервал устойчивости —2.78》 W ZAf W 0.
При применении метода прямых мы встречаемся с системами обыкновенных дифференциальных уравнений. Следовательно, уместно проверить абсолютную устойчивость уравнений в форме (7.42). Как и прежде, можно получить полином устойчивости (7.55), если вместо 九 вводить 九々一собственные значения матрицы А. В общем случае величины 九木 комплексные. Однако чтобы задача имела физически устойчивое решение, необходимо, чтобы вещественная часть 入女,т. е. ReX^, была положительной.
Например, применение схемы Эйлера (7.48) к уравнению (7.41) дает следующий критерий абсолютной устойчивости:
-2《Re統•&《()・(7.57)
Для системы из М уравнений, соответствующей представлению (7.41), матрица А получается трехдиагональной и ее собственные значения определяются формулами (9.48), т. е.
九尼=а (-2 + 2 cos (々л)/(М + 1))(7 58)
В результате наиболее строгое ограничение на величину Д/, вытекающее из условия (7.56), имеет форму
—2 &以$— или & & 石5» ・(7.59)
Таким образом, здесь получено то же самое ограничение на величину А/, обусловленное устойчивостью, как и для схемы ВВЦП (7.5). Этого и следовало ожидать, так как метод Эйлера с шагами по времени в применении к уравнениям (7.41) совпадает со схемой ВВЦП. Применение к (7.41) трапецоидаль- ной схемы (7.49) приводит к ограничению ReX^-A^ 0. Но так как в силу (7.58) ReX^ & 0, то ограничение на Af отсутствует. Трапецеидальная схема, примененная к (7.41), совпадает со схемой Кранка — Николсона (7.22). Как можно предположить на основании этих примеров, абсолютная устойчивость алгоритма решения системы обыкновенных дифференциальных уравнений эквивалентна устойчивости алгоритма решения родственной задачи о решении дискретизированного дифференциального уравнения в частных производных (§ 4.3).
Если система, полученная при помощи метода прямых, является нелинейной, например система (7.43), то определение устойчивости алгоритма зависит от собственных значений якобиана GF/0U. Однако сами собственные значения зависят от решения и могут нуждаться в корректировке в процессе построения решения.
Точное решение системы уравнений (7.42), образуемой из (7.41), может быть записано в виде
U=Z <^%& + Uss,(7.60)
где собственные значения 九月 определяются формулами (7.58), а величины е^ — соответствующие собственные векторы. Коэффициенты ah определяются начальными условиями Uo(x;). Как ясно из формул (7.58), диапазон изменения собственных значений
довольно велик, особенно на мелкой сетке. Это наводит на мысль о том, что вклады в решение различных собственных векторов, отраженные в формуле (7.60), будут затухать с различными ско
ростями.
Если для решения системы (7.42) используется явная схема, то ограничение на величину шага по времени будет определяться значением |Re%尼 |тах・ Однако время, в течение которого нужно проводить интегрирование, будет определяться значением |Re九尼 |min・ Отношение |Rekfe|max/|ReXjfe|min называется ко- '“l этот коэффициент очень велик,
порядка 104—106, то система обыкновенных дифференциальных уравнений называется жесткой. Ясно, что для решения жестких систем желательно иметь алгоритмы, несвязанные ограничениями на шаг по времени.
Безусловная устойчивость подобного рода гарантируется, если численный метод обладает A-устойчивостью [Dahlquist, 1963), т. е., если область его абсолютной устойчивости включает в себя всю левую полуплоскость Re 九・Af V0. Но
понятие Д-устойчивости содержит весьма высокое требование. Ни одна из явных схем, будь то линейная многошаговая или схема Рунге — Кутты, не является Л-устойчивой. Наивысший возможный порядок из числа Д-устойчивых схем имеет неявная линей
Родственное, тойчивостью,—Родственное, тойчивостью,—ная многошаговая схема второго порядка.
Родственное, тойчивостью,—
Родственное, тойчивостью,—
хотя и менее суровое понятие, связанное с ус- это устойчивость типа A (a) [Widlund, 1967],
представление о которой иллюстрируется на рис. 7.10. Метод обладает устойчивостью типа 4(а), если можно построить бес
конечный клин, симметричный относительно отрицательной вещественной полуоси и имеющий угол полураствора а, внутри которого метод является абсолютно устойчивым. Если все соб
ственные значения матрицы А вещественны, что имеет место для уравнения (7.41), то численный метод, обладающий устойчивостью типа Л (0), будет эффективным, даже если система
жесткая.
При построении решения задач об установившемся течении численный алгоритм нередко основан на эквивалентной псев- донестационарной процедуре (см. § 6.4). Чтобы достичь ста-
ционарного решения наиболее эффективным путем, строятся неявные схемы, основанные на известных свойствах, касающихся устойчивости эквивалентных алгоритмов для обыкновенных дифференциальных уравнений [Beam, Warming, 1979]. Неявные алгоритмы такого рода (гл. 8—10, 14, 17 и 18) оказываются обычно эквивалентными линейным многошаговым методам низкого порядка.
Процессы приспособления вычислительных алгоритмов к специфическим свойствам векторных и параллельных процессоров [Ortega, Voigt, 1985] возродили интерес к явным методам, даже с целью построения стационарных решений на основе псевдонестационарных формулировок. Такие формулировки часто основаны на использовании схем Рунге — Кутты с маршевым продвижением по времени в сочетании с построениями метода прямых (гл. 14 и 18).
Заключение
Для одномерного уравнения диффузии были построены явные схемы, имеющие порядок вплоть до четвертого. Повышенные порядки точности достигались за счет взаимной компенсации ошибок усечения, связанных с дискретизацией пространственного члена д2Т/дх2 на различных временных слоях п и члена с производной по времени dT/dt в различных пространственных точках /. На практике при этом требуется сделать такой специальный подбор свободных параметров, как в соотношении (7.15), чтобы члены низкого порядка в выражении для ошибки усечения стали тождественно равными нулю.
При использовании явных схем для получения устойчивых решений обычно возникает необходимость выбора А/, не превышающего некоторого максимального значения (посредством ограничения на параметр s). Как правило, применение явных схем повышенного порядка связано с более суровыми ограничениями на А% обусловленными устойчивостью. В случае схемы Дюфорта — Франкела необходимо ограничивать величину А/, чтобы получить приемлемо точные решения, несмотря на то что устойчивые решения могут быть получены при очень больших значениях At
Неявные схемы часто позволяют добиться безусловной устойчивости ценой добавочных вычислительных усилий. До тех пор пока неявную схему можно ограничить трехдиагональной формой, суммарный вычислительный труд, вкладываемый в нее, будет примерно вдвое превышать труд по решению на основе эквивалентной явной схемы. Включение дополнительных членов на неявном (〃+1)・м временном слое позволяет
проявить больше гибкости в построении схем повышенного порядка. Однако, как свидетельствуют результаты (табл. 7.5), для получения значительного улучшения точности может ока、 заться необходимым вводить мелкую сетку.
Если задача, описываемая уравнением диффузии, требует задания граничного условия для производной, то возникают дополнительные ошибки, связанные с дискретизацией граничного условия. При решении задач, определяемых параболическим дифференциальным уравнением, весьма важно, чтобы дискретизация граничных условий с производными осуществлялась с помощью формул такого же порядка точности, как и внутри области.
При помощи дискретизации одного лишь пространственного члена исходное дифференциальное уравнение в частных производных (ДУЧП) преобразуется к полудискретной форме, сводящейся к системе обыкновенных дифференциальных уравнений (ОДУ) по времени. В результате различные алгоритмы, разработанные специально для ОДУ, становятся пригодными для решения ДУЧП. Подчеркивается, однако, что эквивалентная система ОДУ содержит ошибки, обусловленные пространственной дискретизацией. Это обстоятельство несколько уменьшает стремление к использованию алгоритмов решения ОДУ, имеющих очень высокий порядок. Обращение к полудискретной форме оказывается удобным, когда для дискретизации пространственных членов применяется спектральный метод (§ 5.6, п. 15.3.3 и 17.1.6).
§ 7・6・ Задачи
Явные методы (§ 7.1)
Выведите (а) формулу (7.14), (Ь) уравнение (7.17).
Проведите приближенный подсчет числа операций для схем ВВЦП, Дюфорта ——Франкела и трехслойной схемы четвертого порядка (у = 0) при s = 0.30, затем сравните их вычислительную эффективность.
Постройте двухслойную пятиточечную схему, имеющую четвертый порядок точности. В окрестности границ понадобятся несимметричные пятиточечные формулы. С помощью анализа по Нейману проверьте устойчивость данной схемы. Получите численные результаты (если возможно), подтверждающие необходимость ограничений, связанных с устойчивостью и со скоростью сходимости.
Рассмотрите уравнение (7.13) с отрицательными значениями у, поставив целью убедиться в возможности построения устойчивых и точных решений. В c』yqae у = —0.5 может ли схема (7.13) быть видоизменена так, чтобы она походила на схему Дюфорта — Франкела, т. е. за счет изменения P-комплекса в дискретном представлении пространственной производной? Если да, то установите, может ли быть построена устойчивая и имеющая высокую точность схема Дюфорта — Франкела?
Неявные методы (§ 7.2)
Выведите формулу (7.30).
Примените анализ устойчивости по Нейману к системе (7.31) с параметром р, выраженным по формуле (7.30), чтобы в плоскости у, s определить границу области устойчивого поведения для случаев: (а) 6 = 0, (Ь) 6 = 1/12, (с) 6 = 1/6.
При 6 = 1/6, у = 0, Р = 1 и s=l/6 схема (7.31) становится явной. Сравните полученные для этого случая решения с теми, которые получаются с применением схемы ВВЦП. Исследуйте другие комбинации параметров, превращающие схему (7.31) в явную.
С помощью программы DIFIM получите решения для случаев ME = =4, 5 при у = 0.5. Сравните точность и скорость сходимости с данными^ приводимыми в табл. 7.6.
Проведите приближенный подсчет числа операций для случаев МЕ= =1, 4 и у = 0 в табл. 7.6 и сравните вычислительную эффективность при s = 1.0 с эффективностью схемы ВВЦП при s = 0.5 и схемы Дюфорта — Франкела при s = 0.3.
Граничные и начальные условия (§ 7.3)
Видоизмените программу DIFEX, чтобы ввести и учесть в ней: (а) граничное условие Неймана (7.32) с первым порядком точности, (Ь) граничное условие Неймана (7.34) со вторым порядком точности, и воспроизведите результаты, приводимые в табл. 7.8.
Видоизмените программу DIFIM, чтобы ввести и учесть в ней: (а) граничное условие Неймана (7.32) с первым порядком точности, (Ь) граничное условие Неймана (7.34) со вторым порядком точности, и получите результаты, приведенные в табл. 7.10. При JMAX = 6 сравните распределение ошибки с тем, которое приводится в табл. 7.9.
Для схемы Дюфорта — Франкела, начиная с точного решения (подпрограмма ЕХТРА) при / = 2.00, введите схему ВВЦП на более мелкой сетке по х и / для получения второго слоя начальных данных. При s = 0.3 и s = 0.5 сравните точность решения по схеме Дюфорта ——Франкела с использованием схемы ВВЦП на начальном участке в момент времени t = =9.00 с решением, в котором два слоя начальных данных задаются точным решением при / = 2.00 и / = 2.00 — А/.
Глава 8
Многомерное уравнение диффузии
Материал, изложенный в гл. 7, позволяет сделать общий вывод о том, что для решения задач с существенным влиянием диссипации, например определяемых одномерным уравнением диффузии, неявные схемы оказываются более эффективными, чем явные.
Распространяя неявные схемы на многомерные задачи и желая при этом получить экономичные алгоритмы, необходимо прибегать к специальным процедурам. Эти специальные процедуры зачастую строятся на идее о том или ином способе расщепления уравнения при использовании удобного координатного базиса (§ 8.2, 8.3 и 8.5). Применение расщепляющих построений требует особого внимания, если необходимо выполнить граничные условия для производных (условия Неймана, см. § 8.4). Приемы расщепления, разрабатываемые в данной главе, применимы к методам конечных разностей, конечных элементов и конечных объемов.
Двумерное уравнение диффузии
Уравнение диффузии в двух измерениях имеет вид
дТ д2Т>亍
77% 爾' —ay 犷—°・(8・1)
Для области, показанной на рис. 8.1, граничные условия Дирихле записываются в виде
Г (0, у, f) = a(y, О,
亍(1, у, f) = b 匂,0,(8・2)
Г (х, 0, t) = c (х, О,
.f(x, 1, /) = d(x, О,
(8.3)(8.3)а начальные условия — в виде
(8.3)
(8.3)
Т (%, У, 0)= ^о (^, У)-
Типовые схемы явного и неявного счета, разработанные для одномерного уравнения диффузии, в этом параграфе будут распространены на случай двух измерений, чтобы уяснить, будут ли они непосредственно применимы.
.1.1. Явные методы
Схема ВВЦП в двух измерениях имеет форму
—方一• 一 UxLxQj, k — ayLygT厶月,(8.4)
где
Если придать этому вид алгоритма, то получим
т^ = 5Л-1,月 + (1 — 2s* — 2sg) Ti 左 + SJ7+I,月 +
+ s〃7,月一1 + s〃7, 月+i,(8.5)
где sx = a*A//A%2 ^ s^ = а^Д^/Ду2. Разложение в ряд Тейлора в окрестности узла (/,瓦 п) свидетельствует о том, что уравне-
У=1T(o,j/,t) =q(%t)У=1T(o,j/,t) =q(%t)f(r,0,t) =c(x,t)f(r,0,t) =c(x,t)j=NXj=NX亍(i%t) =My,t)亍(i%t) =My,t)门A工lNj-l Jj+1门A工lNj-l Jj+1f(x,1,t)=d(x,t) —k=NYf(x,1,t)=d(x,t) —k=NY①=1①=1
У=1
T(o,j/,t) =q(%t)
У=1
T(o,j/,t) =q(%t)
f(r,0,t) =c(x,t)
f(r,0,t) =c(x,t)
j=NX
j=NX
亍(i%t) =My,t)
亍(i%t) =My,t)
门A工
lN
j-l J
j+1
门A工
lN
j-l J
j+1
f(x,1,t)=d(x,t) —k=NY
f(x,1,t)=d(x,t) —k=NY
①=1
①=1
Рис. 8.1. Двумерная область и граничные условия Дирихле.
яие (8.5) согласуется (§ 4.2) с уравнением (8.1) и имеет ошибку аппроксимации порядка О(А^, Ах2, А^).
Как показывает анализ устойчивости по Нейману, схема (8.5) будет устойчивой, если
s% + $а《0.5.(8.6)
Можно заметить, что если sx = sy == s, то условие (8.6) дает s W 0.25, а это ограничение более строгое, чем соответствующее условие для одномерного условия (п. 7.1.1). Однако если для получения достаточно точного решения приходится выбирать
малый шаг по времени, то ограничительное условие на устойчивость может и не быть критическим.
Для случая а = а* = осу и Дх = Ду в книге [Mitchell, Griffiths, 1980] предлагается обобщение схемы (8.4), т. е.
■^^ 一 а厶7?,左 一 aLyyT^k — a2 MLxxLyyTl, = 0,(8.7}
которое устойчиво в диапазоне 0 V s & 0.5. Несмотря на то что схема (8.7) девятиточечная, ее экономическую реализацию можно осуществить в два этапа:
「3 = (1+аА"爾「3,(8.8>
7£^ = (1+aА九")7;,在・(8.9)
В случае трех измерений эта схема превращается в трехэтапный алгоритм, при этом сохраняется «одномерный» диапазон устойчивости 6 V s W 0.5. В отличие от этого трехмерная схема ВВЦП при Ах = Ay = Az остается устойчивой в диапазоне 0 V s W 1/6.
Одним из более интересных явных алгоритмов является метод «классики» [Gourlay, 1970]. В своем простейшем варГианте этот метод может рассматриваться как двухэтапная схема ВВЦП. На первом этапе алгоритм (8.5) применяется ко всем узловым точкам, для которых сумма / + й + м четная; иначе говоря, это относится к ячейкам сетки, соответствующим черным квадратам шахматной доски. На втором этапе нижеследующее уравнение решается для всех тех узловых точек, для которых сумма j + 月 + м нечетная, т. е. применительно к белым квадратам «эквивалентной» шахматной доски.
(1 + 2s% + 2sy) 77H = 7厶 + s% (Tf# 左 + 7?祉 J +
+ $八7隈—i + ?7,*i)・ (8.10}
Члены в правой части уравнения (8.10), определенные в момент времени ^+ь известны из результатов первого этапа. Простой метод «классики» дает ошибку аппроксимации O(Af, Ах2, Аг/2), однако в отличие от схемы ВВЦП он является безусловно устойчивым. Более подробное обсуждение серии методов «классики» можно найти в книге [Mitchell, Griffiths, 1980].
./.2. Неявный метод
Действуя таким же образом, как и при решении одномерных задач, можно построить неявную схему, для которой пространственные производные в уравнении (8.1) определяются на вре-
менном слое (几+l). В результате получается алгоритм
—SxTf-i,月 + (1 + 2s% + 2sy) Т;,Т — SxT^+i,左一
— SyT;^T-SyT;K+i=Tik・(8.11)
Данная схема имеет ошибку аппроксимации О (А/, Ax2, AU) и является безусловно устойчивой. Однако трудность здесь заключается в том, чтобы предложить экономичный метод решения уравнений, получаемых после применения схемы (8.11) к каждому узлу сетки.
Обращаясь к уравнению (8.11), можно дать такую нумерацию узлов, чтобы три члена находились на главной диагонали или рядом с ней, тогда как два других члена были бы отделены от трех упомянутых некоторым числом внутренних узлов сетки (напримр, NX — 2 на рис. 8.1). Из сказанного следует, что алгоритмом Томаса воспользоваться нельзя. Использование обычного метода исключения Гаусса (п. 6.2.1) было бы чрезвычайно неэкономичным; вариант исключения по Гауссу для разреженных матриц также остался бы неприемлемо расточительным в применении к мелким сеткам.
§ 8.2. Методы расщепления для многомерных задач
Трудность, связанная с двумерной неявной схемой, может быть преодолена путем расщепления алгоритма решения или системы алгебраических уравнений на два полушага, дающих в сумме продвижение на один шаг по времени. На каждом полушаге неявная трактовка дается только членам, связанным с определенным координатным направлением. Следовательно, появятся только три неявных члена, которые могут быть сгруппированы в окрестности главной диагонали. В результате для построения решения может быть использован чрезвычайно эффективный алгоритм Томаса. Суммарный процесс интерпретации каждого шага по времени в форме последовательности более простых дробных шагов называется расщеплением (по времени).
8.2./. Неявный метод переменных направлений (НПН)
Наиболее известным вариантом методики расщепления является неявный метод переменных направлений (НПН), предложенный в работе [Peaceman, Rachford, 1955]. Мы подробно рассмотрим этот метод, а затем предложим более общий подход, основанный на расщеплении.
Схема НПН для решения уравнения (8.1) записывается в виде двух полушагов по времени, как будет показано ниже.
На первом полушаге используется следующий вариант тизации:
7*прП
'"а〃2 ' ' — a*L**7j,尼一ayLyyT;, ^ = 0>
а на втором —7九+17*д^2^xLxxi j,月—ayLyyl /, k — U.
дискре-(8.12)дискре-(8.12)(8.13>(8.13>Прогонка в направлении х (постоянное к), выполняемая на 1-м шаге по времениПрогонка в направлении х (постоянное к), выполняемая на 1-м шаге по времениПрогонка в направлении у (постоянное / ), выполняемая на 2-м шаге по времениПрогонка в направлении у (постоянное / ), выполняемая на 2-м шаге по времениРис. 8.2. Реализация схемы НПН.Рис. 8.2. Реализация схемы НПН.В течение первого полушага решение Т известно на временном слое и, но неизвестно на слое (и + 1/2), обозначаемое
дискре-
(8.12)
дискре-
(8.12)
(8.13>
(8.13>
Прогонка в направлении х (постоянное к), выполняемая на 1-м шаге по времени
Прогонка в направлении х (постоянное к), выполняемая на 1-м шаге по времени
Прогонка в направлении у (постоянное / ), выполняемая на 2-м шаге по времени
Прогонка в направлении у (постоянное / ), выполняемая на 2-м шаге по времени
Рис. 8.2. Реализация схемы НПН.
Рис. 8.2. Реализация схемы НПН.
звездочкой. Однако неизвестные узловые значения 7* связаны только с продвижением по направлению х (т. е. при постоянном значении k на рис. 8.2). Уравнение (8.12) может быть переписано как одно уравнение из системы, а именно
-0・5s/f 左 + О + s”)「底一0・5sJ"『
=O.^SyTl …+ (1 一 sj 7b + 0・5s“?左+i・(8.14)
Остальные уравнения той же системы формируются около других узлов той же строки k. Таким образом, решение полученной системы уравнений дает промежуточное решение Г* ” / = 2, ..., NX— 1, справедливое лишь для одного значения к Далее системы уравнений решают относительно Г* Л, j = 2,... ...,NX — 1, для каждой строки, т. е. для й = 2, ..., NY — 1户 используя при этом алгоритм Томаса.
На втором полушаге используется уравнение (8.13), предоставляемое в виде
-0.5s"笈L + (1 + sy)方次 一 0.5s“K3 =
=0屈/3» + (1 — %)砲左 + 0・5sJ3,左.(8.15)
В течение второго полушага решение на временном слое п + 1 неизвестно, однако известно решение на промежуточном временном слое, обозначенном звездочкой. Система уравнений, связанных со всеми узлами, расположенными на одной сеточной линии вдоль направления у (фиксированное /) решается относительно 「;,*,论=2, ..., NY — 1. Процесс повторяется для каждой из упомянутых сеточных линий, т. е. для / = 2,...
NX — 1.
Для проверки устойчивости схемы НПН следует применить анализ устойчивости по Нейману, определяя коэффициент усиления для каждого полушага. Устойчивость полного шага по времени определяется произведением двух коэффициентов усиления для полушагов, а именно
G = G'G"G = G'G"l-2sy siM®/)—1 + 2sx sin2(ex/2)l-2sy siM®/)—1 + 2sx sin2(ex/2)1 — 2s% sin2 (%/2)1 + 2sy sin2 (0^/2) *1 — 2s% sin2 (%/2)1 + 2sy sin2 (0^/2) *(8.16)(8.16)
G = G'G"
G = G'G"
l-2sy siM®/)
—1 + 2sx sin2(ex/2)
l-2sy siM®/)
—1 + 2sx sin2(ex/2)
1 — 2s% sin2 (%/2)
1 + 2sy sin2 (0^/2) *
1 — 2s% sin2 (%/2)
1 + 2sy sin2 (0^/2) *
(8.16)
(8.16)
Как показывает изучение формулы (8.16), при любом значении s%, s“, 0Х и 0У получим |G| & 1. Однако, рассматривая по отдельности I Gf\ и |G〃|, найдем, что если полный шаг по времени является безусловно устойчивым, то каждый из полушагов устойчив лишь условно. Впрочем, интерес представляет лишь полный шаг по времени.
Составная схема (8.12) и (8.13) согласуется с уравнением (8.1) и обладает ошибкой аппроксимации порядка О (А/2, Дх2, Ау2). Второй порядок точности является следствием симметрии схемы в точной аналогии с тем, как второй порядок точности схемы Кранка — Николсона был следствием симметрии по отношению к временному слою (п + 1/2).
Однако для достижения суммарной ошибки аппроксимации порядка О (А/2) необходимо для промежуточного решения Т;卜 вводить граничные значения так, чтобы они были совместимы с алгоритмами для внутренних точек (8.14) и (8.15). Например, если ставятся граничные условия Дирихле, то задание 7\х,左=优+и? при х = 1 приводит к алгоритму с ошибкой аппроксимации порядка О (А/). Чтобы ошибка аппроксимации получила порядок O(Af2), необходимо задать Т^х k с помощью
соотношений (8.12) и (8.13), т. е. по формуле
Гх$ = 0.5 (加 + 威+1) — 0.25 А忆” (б#】一旅).(8.17) Аналогичная проблема возникает и при использовании схем с приближенной факторизацией; надлежащие формы задания граничных условий обсуждаются в п. 8.3.2 и § 8.4.
Таким образом, можно прийти к выводу, что схема НПН для двумерного случая обладает требуемыми свойствами: безусловно устойчива, имеет второй порядок точности и допускает экономичный метод решения. Схема НПН распространяется и на трехмерное уравнение диффузии, при решении которого вместо алгоритмов (8.14) и (8.15) необходимо вести счет на трех дробных шагах, каждый из которых занимает время А//3. В случае трех измерений схема НПН оказывается экономичной, имеет второй порядок точности по пространству, но является лишь условно устойчивой. Для ее устойчивости необходимо, чтобы s%, sy, Sz & 1.5, где sz = агЛ//Аг2.
Обобщенная двухслойная схема
Попытаемся теперь дать обобщение идеи расщепления. Неявная двухслойная конечно-разностная схема общего вида применительно к уравнению (8.1) может быть записана в виде
~^^(1 — Р) (а%£%*?7,在 + ^yLyyT1], ^)—
一 p (а丄%*77,玄 + aLyyTl J = 0,(8.18)
где
AT九+1 不m + 1
Z 3h = /人尼-/了,机
Здесь величину А778 можно рассматривать как поправку к решению на временном слое и, требуемую для продвижения на временной слой (〃+1). Для минимизации накапливающейся ошибки округления полезно, чтобы величина AT^V фигурировала в явном виде в тексте компьютерной программы. Роль коэффициента р в уравнении (8.18) состоит в задании определенных весовых множителей при членах, соответствующих временным слоям л и (л + 1); та же идея была использована и при выводе уравнения (7.24).
С помощью перестановки членов уравнения (8.18) можно получить неявный алгоритм для определения АТ;,4^. Вначале член T^V разлагается в ряд Тейлора в окрестности п-го временного слоя в соответствии с формулой (3.16), а именно
T7*1=TT 卜 + af[号■(月+ 0.5 a/2[翡^ 月
(8.19)(8.19)что можно аппроксимировать формулой
(8.19)
(8.19)
TkL = Т* 卜 + &) + 0 ^
Подстановка формулы (8.19) в уравнение (8.18) дает
—忐^(^х^ххТ'/, k + ^у^ууТ^, J — Р ^xLXx AT/,V -J-ct^L^ AT/.V) =0,
(8.20)
или после некоторой перегруппировки
[1 一 P & (做厶* + ayLyy)] AT?,* = ZV (axLxx + a»LQTi 札(8.21)
В левой части соотношения (8.21) фигурируют алгебраические операторы, действующие как в одном, так и в другом направлениях. Чтобы можно было воспользоваться алгоритмом Томаса, соотношение (8.21) заменяется другим соотношением, получаемым в результате приближенной факторизации, а именно
《1 — Р A/a%£%%) (1 — р NtayLyy) АТ*;,% = Д/ (a%£%% + ^yLy^) Т/,左.(8.22)
Как показывает сравнение соотношений (8.21) и (8.22), в левой части последнего содержится дополнительный член
р2 Ь『а*ауЛуу AT;1V.
Отсюда следует, что соотношение (8.22) аппроксимирует (8.21) *с точностью О (А/2).
На каждом шаге по времени выполнение соотношения (8.22) может быть реализовано в форме двухэтапного алгоритма. Первый этап сводится к решению следующей системы уравнений, справедливых на каждой из сеточных линий, направленных параллельно оси х (линии постоянного k на рис. 8.2):
(1 — В &a%£%%) А7/, k == & (a%厶* + ayLyg) 7y 左.(8.23)
Это уравнение служит для определения АТ;左,что можно рассматривать как промежуточное приближение для ДТ/.V. Если Lxx представляет собой трехточечный оператор с центральной разностью, то уравнения (8.23) будут иметь форму трехдиагональной системы, которая может быть эффективно решена с помощью алгоритма Томаса (п. 6.2.2). На втором этапе решается следующая система уравнений:
(8.24)(8.24)(l^^\tayLyy)\T^ = ^tki
(8.24)
(8.24)
справедливая на каждой из сеточных линий, параллельных оси у (линии постоянного / на рис. 8.2). Структура уравнений (8.23) и (8.24) аналогична структуре уравнений (8.14) и (8.15), характеризующих схему НПН. В случае уравнений более сложной формы основной вклад в суммарное время исполнения алгоритма вносит расчет всех пространственных членов в правых частях уравнений (8.23). Реализация, рассматриваемая здесь, требует лишь однократного расчета пространственных членов на одном шаге по времени. В отличие от этого схема НПН требует проведения двух подобных расчетов. Алгоритм (8.23), (8.24) предложен в работе [Douglas, Gunn, 1964].
Двухэтапный алгоритм (8.23), (8.24) является безусловно устойчивым при р》0.5 и имеет ошибку аппроксимации порядка О (А/2, Ах2, Ар?), если 0 = 0.5. Построение, связанное с приближенной факторизацией, обобщается и на случай трех измерений, причем в отличие от схемы НПН соответствующая схема безусловно устойчива при 0 ^ 0.5.
Если изложенная здесь методика используется для построения решений стационарных задач в форме предельного стационарного состояния решений для соответствующих нестационарных задач (§ 6.4), то полезно в уравнение (8.23) ввести определение
RHS = (a*L%x + ctyLgg) Т;,月, (8.25》
По мере приближения к стационарному решению величина RHS стремится к нулю; следовательно, контроль за изменением RHS даст возможность установить близость к стационарному решению.
823. Обобщенная трехслойная схема
Обобщенная трехслойная неявная схема для решения одномерного уравнения диффузии задавалась в форме (7.25). Соответствующая трехслойная схема для случая двух измерений записывается в виде
+ ^Ыхх + ауЬуу)Т^^ (8.26) где
Zhh = 1 Lh一1八k.
Если применить то же самое построение, которое использовалось для перехода от соотношения (8.18) к уравнениям (8.23) и (8.24), то из (8.26) получится следующий двухэтапный ал-
горитм. На первом этапе соотношение
(](1 : Y)A/a*L%*) AT/,月=
=7TTVF(出厶* + a“爾 ТЕ 左 + ТГ^Г ATt 左 (8.27)
дает возможность получить трехдиагональную систему уравнений, относящихся к каждой сеточной линии, параллельной оси %.
На втором этапе каждого шага по времени используется следующее уравнение:
(1 -不餐 А^^) ДГ7Л1 = А7;左•(8.28)
При выборе специальных значений р = 1, у = 0.5 двухэтапный алгоритм, заданный с помощью уравнений (8.27) и (8.28), согласуется с уравнением (8.1) с ошибкой аппроксимации О(А%2, А%2, Ау2) и является безусловно устойчивым. При реализации первого шага по времени (п = 0) необходимо воспользоваться двухслойной схемой, подобной (8.23), (8.24).
Рассмотренные в этом параграфе схемы расщепления естественным образом обобщаются и на случай трех измерений [Mitchell, Griffiths, 1980]. Современный подход к процессам расщепления, при котором неявное уравнение дополняется некоторым членом, как правило, порядка О (А/2) с целью осуществления факторизации, подробно обсуждается в работе [Gourlay, 1977]. При решении уравнения диффузии в двух или трех измерениях имеется возможность применения схем расщепления повышенного порядка. Некоторые из таких схем рассматриваются в книге [Mitchell, Griffiths, 1980].
§ 8.3. Схемы расщепления и метод конечных элементов
Здесь мы будем применять метод Галёркина с конечными элементами (§ 5.3) к решению двумерного уравнения диффузии (8.1) с граничными и начальными условиями, заданными в форме (8.2) и (8.3), и попытаемся определить, нуждаются ли в модификации схемы расщепления, разработанные в § 2.8, чтобы охватить конечно-элементную разновидность дискретизированных уравнений. Воспользуемся элементами прямоугольной формы с билинейными интерполяционными функциями типа (5.59) внутри каждого элемента. Если метод Галёркина с конечными элементами применяется на сетке, однородной в
направлениях % и у, то после деления всех членов на АхАу получим
М* ® М“ [~57~]在=^х^у ® £%%「/, k + а“М* ® LyyT^ 在,(8.29) где знак ® обозначает тензорное (или внешнее) произведение (Mase, 1971]; Мх и Му — массовые операторы соответствующих направлений, a Lxx и Lyy — разностные операторы тех же направлений (см. приложение А.2). Массовые операторы по направлениям имеют вид
必= (1/6, 2/3, 1/6), М“ = (1/6, 2/3, 1/6)"(8.30)
а разностные операторы по направлениям — вид
aF* ' Ах5") ' L" = ( Д^ '— 寸 * Др") •
(8.31)
Таким образом, член Му ® LXXT/, k дает девятиточечное представление производной д2Т/дх2. Обращаясь к рис. 8.3, получим
л/ С , т 1 / 7/一1,月+1 — 2Т/,左+1 + Т/+1,左+1 1 I
+ 三{ T/-1/-2〃丁+ 刀+1,后} +
+ Y 小1-2仁7+厶+(8.32)
Введенное ранее конечно-разностное представление, например в форме (8.4) и следующих за этим соотношений, может рассматриваться в рамках соотношения (8.29), если определить конечно-разностные массовые операторы по направлениям с помощью выражений
М? =(МК)Т = (О, 1, 0),
так что конечно-разностные выражения будут содержать только три члена.
Что касается дискретизации многомерных уравнений, проводимой на основе конечно-элементного и конечно-разностного подходов, то метод конечных элементов моделирует пространственные производные по данным, распределенным в пределах некоторой площадки, тогда как метод конечных разностей моделирует те же производные по данным вдоль определенного пространственного направления. Вообще говоря, конечноэлементная формулировка более точна, но вместе с тем и ме-
нее экономична, так как связана с расчетом большего числа членов.
Если вместо линейных лагранжевых элементов используются квадратичные лагранжевы элементы, то каждый из массовых и разностных операторов будет содержать уже по пять членов, так что тензорное произведение типа Мх ® ЬУУТ^ k бу-
(0)Конечно-элементная формулировка
Прогонка в направлении х (постоянное к)Прогонка в направлении х (постоянное к)Прогонка в направлении / (постоянное /)Прогонка в направлении / (постоянное /)
Прогонка в направлении х (постоянное к)
Прогонка в направлении х (постоянное к)
Прогонка в направлении / (постоянное /)
Прогонка в направлении / (постоянное /)
(Ь) Конечно-разностная формулировка
Рис. 8.3. Активные узлы для схем расщепления по уравнениям (8.23), (8.24)или (8.39), (8.40).
дет содержать 25 членов. Однако такое выражение согласуется, как правило, с представлением производной д2Т/ду2 с точностью до членов порядка О (Ду3).
/. Приемы расщепления конечно-элементных уравнений
Здесь будет изложено два способа расщепления конечноэлементных уравнений. Первый из этих способов приводит к алгоритму, аналогичному схеме НПН (8.14), (8.15). Второй алгоритм сводится к выражению решения через поправки АТ/, ® как по схеме (8.23), (8.24).
Так же как и при исследовании одномерного уравнения диффузии, в соотношение (8.29) будет вводиться конечно-разност-
ное представление производной dT[dt, а пространственные члены будут моделироваться средневзвешенными значениями для n-го и (п + 1)-го слоев по времени. Таким образом, соотношение (8.29) заменяется выражением
Мх ® Му ^2^ =(%此 ® А + %也 ® Lyy) [(1 一 ^)Tl 左 + 附隈]・
(8.33)
Уравнение (8.33) представляет собой конечно-элементный эквивалент уравнения (8.17). Расщепление типа НПН с конечными элементами осуществляется путем введения в левую часть уравнения (8.33) дополнительного члена
&%а〃*“ ® Lyy [р2Г+1 一 (1 — В)? Г],
так что это уравнение принимает вид
(М* — а*р 竝 LQ ® (Му — а,р 削厶加 Т;,Т =
=[Мх + а* (1 - 0) MLXX\ ® [Му + а〃1 - р) MLy^ 7?/・ (8.34)
Решение уравнения (8.34) может быть весьма эффективно проведено в два этапа. На первом из них соотношение
(М* — а*р MLXX) 7;月=[此 + а”( 1 — р)削£加 Г/,月(8.35)
позволяет получить трехдиагональную систему на каждой из сеточных линий, параллельных оси х. На втором этапе соотношение
(Му 一 MLQ Т战=[Мх + а* (1 — Р) MLXX] Т;左(8.36)
приводит к трехдиагональной системе на каждой из сеточных линий, параллельных оси у. .
При 0 = 0.5 единственным различием между конечно-элементной конструкцией типа НПН в форме (8.35), (8.36) и конечно-разностной конструкцией НПН вида (8.14), (8.15) будет появление в первой из них массовых операторов. Конечно-элементный алгоритм по схеме НПН является экономичным, имеет второй порядок точности по времени и пространству и обладает безусловной устойчивостью при 0》0.5 + (3 — 0.25) /s, где 6 определяется по формуле (8.44), а вместо s можно ис
пользовать sx или sy.
Расщепление может осуществляться и другим способом. При этом член Т^у находящийся в правой части уравнения (8.33), разлагается в ряд Тейлора в окрестности п-го временного слоя с отбрасыванием членов О(Д/2). После перегруппи-
ровки результат может быть записан в виде
1М* ® Му — Р Д/ (а%Му ® Lxx + ауМ% ® 厶川 А7;,玄—
=А/ (а%Му ® Lxx + а^М% ® LQ 7;,左.(8.37)
Если в левую часть уравнения (8.37) ввести дополнительный член р2 ^ax(ZyLxx ® Lyy ЛТ/.4^, то получится расщепляющееся уравнение
(М% — В AfctxLxx) ® (Му — Р 竝询£加 А7?£ =
=Д/ (a%Mg ® L,xx + а?Мх ® 厶”)「£ 尼,(8.38)
причем реализация расщепления включает соотношение
(М* — В Д/а% Lxx)"h 尼=Af (a*Mg ® LXx + a?M* ® 厶加 T;“ (8.39) для всех сеточных линий, идущих в направлении х, а также соотношение
(Му — р MayLyy) АГ型=АТ;在(8.40)
для всех сеточных линий, идущих в направлении у.
Уравнения (8.39), (8.40) можно сравнить с уравнениями (8.23), (8.24). Правая часть уравнения (8.39) требует большего времени для своего расчета, чем правая часть (8.23). Расчет правых частей осуществляется на временном слое п. Как можно видеть из рис. 8.3, схема метода конечных элементов охватывает девять активных узлов на n-м слое по времени по сравнению с пятью активными узлами для схемы конечно-разностного метода. Однако процесс расчета членов уравнения (8.39), а также реализация решения трехдиагональных систем уравнений для обеих формулировок различаются несущественно. Как свидетельствуют вычислительные эксперименты, метод конечных элементов работает, вообще говоря, медленнее метода конечных разностей, но обычно обеспечивает более точное решение.
Вычислительный алгоритм (8.39), (8.40) согласуется с урав- «ением (8.1) при ошибке аппроксимации порядка O(AZ2, Ах2, Ду2), если р = 0.5. Такие же уравнения по схеме с расщеплением будут получены, если вместо линейных лагранжевых элементов использовать квадратичные лагранжевы элементы (п. 5.3.2); при этом, однако, операторы М, Lyy и т. д. будут содержать максимальное число членов, т. е. пять вместо трех [Fletcher, 1984].
22 К. Флетчер, т. 1
TWDIF: обобщенная схема для реализации расчетовс конечными разностями или конечными элементами
Различные схемы расщепления, рассмотренные в п. 8.2.2, 8.2.3 и 8.3.1, могут быть объединены в одну обобщенную трехслойную схему, охватывающую как конечно-разностную, так и конечно-элементную формулировки. Мы покажем это здесь, для области, изображенной на рис. 8.1.
Распределение температуры в области 0&% & 1, OWyW & 1 определяется уравнением (8.1) со специальными граничными условиями
7(0,弘 /) = 20+ 80%
7 (1, у, /) = 20 + 80 [у 一 е-°・5а炉 sin (0・5関)], Т(х, 0, /) = 20,• >
Т(х, 1, f)=2O + 8O[y-e-o・5a#f ski(0.5冗盼].
Для данного примера существует следующее аналитическое решение:
f=20 + 80 [у — е-°・5а炉/ sjn 9.5也)sin(o.5/)].(8.42>
Обобщенная схема может быть введена за счет трехслойной конечно-разностной дискретизации уравнения (8.29) пр» а = ах = &, что дает
М®м 尸吗‘2% =
=а (Mg ® Lxx + М ® 丄“)[а — В) г;. Е + 0Т涼],(8.43>
т. е. соотношение, эквивалентное (8.26). Однако здесь массовые операторы (8.30) по координатным направлениям будут представлены в обобщенном виде
МХ = М^ = {d, 1 一 2S, 6}・(8.44>
Ясно, что конечно-разностная схема (п. 8.2.2 и 8.2.3) соответствует значению 6 = 0, тогда как конечно-элементная схема (п. 8.3.1) соответствует значению 6 = 1/6.
После приближенной факторизации уравнения (8.43) получается следующий двухэтапный алгоритм, заменяющий (8.39)* (8.40):
Первый этап
岡-(7?^Г)% ";尼=RHS〃, (8・45) тде
RHS” = [аМ(Му ® С» + МХ0 Lyy) Т* 月 + уМ* ® Му^9 J/(l + 丫)・ (8.46)
Второй этап
[^-(TTW)LJAr^ 5,左. (&47)
Для уравнений, формируемых в точках вблизи границ, нуж- «о задать граничные значения величин АТ* в (8.45) и AT〃+i в (8.47). Надлежащий вид этих граничных значений проще всего определить путем свертывания (8.45) и (8.47) в одну комбинированную схему, получаемую за счет исключения А^*・ Тогда становится ясно, что требуемые для решения (8.47) граничные значения АТ* могут быть получены непосредственно из формул (8.41), тогда как граничные значения для АТ* должны вычисляться также из (8.41) через посредство обращенного соотношения (8.47); например, в точке j = NX (х = 1) имеем
А^\х, & = [м“ — (^j^y) L^j ATnx,1^. (8.48)
Если граничные условия (8.41) не зависят от времени, то для АР и АТ〃+1 получаются нулевые граничные значения. Известные граничные значения зависимых переменных АТ* и АТ* переносятся в правые части уравнений (8.45) и (8.47) соответственно до решения уравнений.
Реализация вышеописанного алгоритма проводится с помощью программы TWDIF (рис. 8.4). На первом этапе соотношение (8.45) приводит к трехдиагональной системе уравнений, связанных с каждой из сеточных линий, идущих в направлении х. Эти уравнения решаются с помощью подпрограмм BANFAC и BANSOL (рис. 6.18 и 6.19). Вычисление по формуле (8.46) реализуется в подпрограмме REDIF (рис. 8.5). На втором этапе соотношение (8.47) служит средством получения трехдиагональной системы уравнений, связанных с каждой из сеточных линий, идущих в направлении у; система решается с использованием подпрограмм BANFAC и BANSOL. Основные параметры, используемые в программе TWDIF, описаны в табл. 8.1. Типовая выдача результатов для случая конечно-разностной схемы Кранка — Николсона на грубой сетке показана на рис. 8.6.
с с с с с с с с с 12345678901234567890123456789012345678901234567890123456789012 11111111112222222222333333333344444444445555555555666с с с с с с с с с 12345678901234567890123456789012345678901234567890123456789012 11111111112222222222333333333344444444445555555555666
с с с с с с с с с 12345678901234567890123456789012345678901234567890123456789012 11111111112222222222333333333344444444445555555555666
с с с с с с с с с 12345678901234567890123456789012345678901234567890123456789012 11111111112222222222333333333344444444445555555555666
TWDIF APPLIES APPROXIMATION FACTORISATION TO SOLVE THE UNSTEADY HEAT CONDUCTION PROBLEM FOR T(X,Y). REDIF EVALUATES THE RIGHT-HAND SIDE.
REAL*8 SUMT,RMST,DSQRT,AN
DIMENSION T(41,41),DT(41,41),R(41,41),EMX(3),EMY(3), 1B(5,41),RRT(41),DDT(41),SIX(41),SIY(41),丫(41),ERR(41,41>
COMMON DX,DY,EMX,EMY,NX,NY,R,T,DT OPEN(1,FILE=*TWDIF.DAT') OPEN(6rFILE='TWDIF.OUT*) READ(1,1)IBC,NX,NY,ME,GAM,BET READ(1,2)ALF,DTIM,DTMCH,TMAX
1 FORMAT(4I5,2F5.2)
2 FORMAT(4E10.3)
PI = 3.141592654 PIH = 0.5*PI NXS = NX + 1 NYS = NY + 1 NXP = NX - 1 NYP = NY - 1 IF(IBC.EQ.DNXN=NXP
IF(IBC.EQ.1)NYN=NYP
IF(IBC.EQ.2)NXN=NX
IF(IBC.EQ.2)NYN=NY
NXPP = NXN - 1 NYPP = NYN - 1 AN = NXPP*NYPP ANX = NXP DX = l./ANX ANY = NYP DY = l./ANY SX = ALF*DTIM/DX/DX SY = ALF*DTIM/DY/DY EMX(l) = 0.
IF(ME .EQ. 2)EMX(1) = 1./6. IF(ME .EQ. 3)EMX(1) = 1./12. EMX(2) = 1. - 2.*EMX(1) EMX(3) = EMX(l) DO 3 J = 1,3 3 EMY(J) = EMX(J)
WRITE(6,4)NXfNYfME,GAM,BET,SX,SY
FORMATC UNSTEADY HEAT CONDUCTION WITH NX,NY =',2I3", 1' ME =',I3J GAM =• fF5.2, • BETA =',F5.2J SX,SY =\2F6.3) IF(ME .EQ. 1)WRITE(6,5)EMX
FORMAT(* APPROX. FACT., 3PT FDM, EMX=*,3E10.3) IF(ME .EQ. 2)WRITE(6,6)EMX
FORMAT(' APPROX. FACT., LINEAR FEM, EMX=',3E10.3) IF(IBC .EQ. 1)WRITE(6,7) IFCIBC .EQ. 2)WRITE(6,8)
FORMAT(' DIRICHLET B.C.')
FORMAT(* DIRICHLET AND NEUMANN B.C.') WRITE(6,9)DTIM,DTMCH,TMAX
FORMATC DTIM =',E10.3r, PRINT INT. =',E10.3J TMAX =',E10.3,〃)
GENERATE INITIAL SOLUTION
DO 11 J = 1,NX AJ = J - 1 X = AJ*DX SIX(J) = SIN(PIH*X)
Рис. 8.4. Распечатка программы TWDIF (начало).
63
DO 10 К « 1,NY
64
65
66
АК = К - 1
Y(K) = AK*DY SIY(K) = SIN(PIH*Y(K))
67
10 T(K,J) = 8O.*(Y(K) - SIX(J)*SIY(K)) + 20.
68
69
70
11 CONTINUE IF (IBC .EQ. DGOTO 14 DO 12 J = 1,NX
71
72
12 T(NYS,J) = T(NYP,J) + 160.*DY DO 13 К » 1,NYS
73
13 T(K,NXS) = T(K,NXP)
74
75
76
77
78
79
80
81
82
83
84
14 CONTINUE GAMH = GAM GAM = 0. BETH = BET BET = 0.5 TIM = 0. TMCH = -0.00001 + DTMCH DIM = - 0.5*ALE*PI*PI DO 17 J = 1,NX DO 15 К = 1,NY DT(K,J) н 0.
85
86
15 R(K,J)= 0.
DO 16 К = 1,5
87
16 B(K,J) = 0.
88
17 CONTINUE
89
90
91
92 С
93
94 С
18 CCXA = BET*DTIM*ALF/DX/DX/(l.+GAM) CCYA = BET*DTIM*ALF/DY/DY/(1.+GAM) TFAC = EXP(DIM*(TIM+DTIM)) - EXP(DIM*TIM)
CALL REDIF(ALF r GAM r DTIM,NXN,NYN)
95 С
96 С
97
98
99
100
101
102
TRIDIAGONAL SYSTEMS IN THE X-DIRECTION
DO 21 К = 2,NYN
DO 19 J = 2,NXN
JM = J - 1
B«2,JM) = EMX(l) - CCXA
B{3,JM) = EMX(2) + 2ЛССХА
B(4,JM) м EMX(3) - CCXA
103
104
105
106
19 RRT(JM) н R(K,J)
B(2,l) = 0.
IF(IBC .EQ. I)DT(K,NX) = - 8O.*SIY(K)*TFAC
IF(IBC .EQ. l)DUM«(EMY(l)-CCYA)*SIY(K-l)+(EMY(2)+2/*CCYA)*SIY(K>
107
108
109
110
111
112 С
113
114
115 С
116
117
1 + (EMY(3)-CCYA)*SIY(K+1)
IF(IBC .EQ. l)RRT(JM) = RRT(JM) + В(4,JM)*80.*TFAC*DUM
IF(IBC .EQ. 2)DT(K,NXS) = DT(K,NXP)
IF(IBC .EQ. 2)B(2,JM) = B(2,JM) + B(4,JM) B(4rJM) = 0.
CALL BANFAC(B,NXPP,1)
CALL BANSOL(RRT,DDT,B,NXPP,1)
DO 20 J = 2,NXN
JM = J - 1
118
20 R(K(J) = DDT(JM)
119
120 С
21 CONTINUE
121 С
122 С
123
124
125
TRIDIAGONAL SYSTEMS IN THE Y-DIRECTION
DO 24 J = 2,NXN
DO 22 К = 2,NYN
KM = К - 1
126
B(2rKM) « EMY(l) - CCYA
127
В《3,КН) = EMY(2) + 2JCCYA
128
В(4,КМ) = EMY(3) - CCYA
129
22 RRT(KM) = R(K,J)
130
В(2,1) = 0.
131
IF(IBC .EQ. 1)DT(NY,J) = - 8O.*SIX(J)*TFAC
工*2
IF(IBC .EQ. l)RRT(KM) = RRT(KM) - B(4,KM)*DT(NY,J)
133
IF(IBC .EQ. 2)DT(NYS,J) = DT(NYP,J)
134
, IF(IBC .EQ. 2)B(2,KM) = B(2,KM) + B(4,KN)
135
B(4rKM) = 0.
136 С
137
CALL BANFAC(B,NYPP,1)
138
CALL BANSOL(RRT,DDT,В,NYPP r1)
139 С
140 С
INCREMENT T
141 С
142
DO 23 К = 2rNYN
143
KM = К - 1
144
DT(K,J) = DDT(KM)
145
23 T(K,J) = T(K,J) + DDT(KN)
146
24 CONTINUE
147
IF(IBC .EQ. 1)DT(NY,NX) = - 8O.*TFAC
148
IF(IBC .EQ. 2)DT(NYS,NXS) = DT(NYP,NXP)
149
TIM = TIM + DTIM
150
TFAC = EXP(DIM*TIM)
151
IF(IBC .EQ. 2)GOTO 26
152
DO 25 К = 1,NY
153
T(K,NX) = 20. + 8O.*(Y(K) - TFAC*SIY(K))
154
25 T(NY,K) = 20. + 8O.*(l. - TFAC*SIY(K))
155.
GOTO 29
156
26 DO 27 J = 1,NX
157
27 T(NYS,J) = T(NYP,J} + 160.*DY
158
DO 28 К = 1,NYS
▲59
28 T(K,NXS) = T(K,NXP)
160
29 GAM = GAMH
161
BET = BETH
162
IF(TIM .GE. TMCH)GOTO 30
163
IF(TIM ・LE・ THAX)GOTO 18
164
GOTO 37
165 С
166 С
COMPARE WITH EXACT SOLUTION
167 С
168
30 TMCH = TMCH + DTHCH
169
SUMT = 0.
170
DO 33 KA = lrNY
171
К * 1 + NY - KA
172
DO 31 J = LNX
173
ТЕ = 20. + 8O.*(Y(K) - TFAC*SIX(J)*SIY(K))
174
ERR(K,J) = T(K,J) - ТЕ
175
31 SUMT = SUMT + (T(K,J) - TE)**2
176
WRITER,32) (T(K, J) ,J=1,NX)
177
32 FORMATS T=',11F7・3)
178
33 CONTINUE
179
DO 34KA = 1,NY
180
К « 1 + NY - KA
181
34 URrrE(6,35)(ERR(K,J),J=1,NX)
182
35 Format(• e=・,iif7.3)
183
RMST = DSQRT(SUMT/AN)
184
WRITE(6,36)TIM,RHST
185
36 FORMATS TIME =\Е11.4,'RMST =',D11.4)
186
IF(TIM .LE. TMAX)GOTO 18
187
37 CONTINUE
188
STOP
189
END
с с с с с12 3 4 5 6 7 8 91011121314151617181920212223242526272829303132с с с с с12 3 4 5 6 7 8 91011121314151617181920212223242526272829303132DO 1 I = DMX(LD DMX(I,2) DMX(I,3) DMY(1,I) DMY(2,I) 1 DMY(3,I)DO 1 I = DMX(LD DMX(I,2) DMX(I,3) DMY(1,I) DMY(2,I) 1 DMY(3,I)
с с с с с
12 3 4 5 6 7 8 91011121314151617181920212223242526272829303132
с с с с с
12 3 4 5 6 7 8 91011121314151617181920212223242526272829303132
DO 1 I = DMX(LD DMX(I,2) DMX(I,3) DMY(1,I) DMY(2,I) 1 DMY(3,I)
DO 1 I = DMX(LD DMX(I,2) DMX(I,3) DMY(1,I) DMY(2,I) 1 DMY(3,I)
SUBROUTINE REDIF(ALF,GAM,DTIM,NXN,NYN)
EVALUATES RIGHT-HAND SIDE OF THE UNSTEADY HEAT CONDUCTION EQUATION
DIMENSION DT(41r41),T(41,41),R(41,41), 1DMX(3,3),DMY(3,3),EMX(3).EMY(3)
COMMON DX,DY,EMX,EMY,NX,NY,R,T,DT
CCX = ALF/DX/DX
CCY = ALF/DY/DY
1,3
=CCX*EMY(I)
=-2.*DMX(I,1)
=DMX(I,1)
=CCY*EMX(I) =-2.*DMY(lfI) =DMY(1,I)
DO 5 J = 2,NXN DO 4 К = 2,NYN RTD = 0. DO 3 M = 1,3 MJ = J - 2 + M DO 2 N = 1,3 NK = К - 2 + N 2 RTD = RTD + (DMX(NrM)+DMY(NrM))*T(NK,MJ)*DTIH 1 + GAM*EHX(M)*EMY(N)*DT(NK,HJ) 3 CONTINUE 4 R(K,J) = RTD/(1. + GAM) 5 CONTINUE
RETURN END
Рис. 8.5. Распечатка подпрограммы REDIF.
UNSTEADY HEAT CONDUCTION WITH NX,NY = 6 6 ME = 1 GAM = .00 BETA = .50 SX,SY = 1.000 1.000 APPROX. FACT., 3PT FDMr EMX= .000E+00 .100E+01 .OOOE+QO DIRICHLET AND NEUMANN B.C.
DTIM = .400E+04 PRINT INT. = .240E+05 TMAX = .250E+05
Т=100.000 92.370 85.487 80.024 76.517 75.309
Т=
84.000
76.743
70.197
65.002
61.667
60.517
Т=
68.000
61.827
56.259
51.839
49.002
48.024
Т=
52.000
47.515
43.469
40.259
38.197
37.487
т=
36.000
33.642
31.515
29.827
28.743
28.370
Т=
20.000
20.000
20.000
20.000
20.000
20.000
Е=
.ООО
-.067
-.127
-.174
-.205
-.216
Е=
.ООО
-.063
-.121
-.166
-.195
-.205
Е=
.ООО
-.054
-.103
-.141
-•166
-.174
E^
.ООО
-.039
-.074
-.103
-.121
-.127
Е=
.ООО
-.021
-.039
-.054
-・063
-.067
Е=
.ООО
.ООО
.ООО
.ООО
.ООО
.ООО
TIME = .2400Е+05RMST =.
1294D+0Q
Рис. 8.6. Типовая выдача результатов, полученных с помощью программыTWDIF.
Таблица 8.1. Параметры, используемые в программе TWDIF
Параметр
Описание
ALF
a = ax = ay в уравнении (8.1)
GAM, ВЕТ
Y, § в уравнении (8.43)
ЕМХ, EMY
Мх, Му в формуле (8.44)
ME
=1 — метод конечных разностей;
=2 — линейный метод конечных элементов
NX, NY
Максимальное число узловых точек в направлениях х и у
DX, DY
А%, ку
SX, SY
s* н Sg в уравнении (8.5)
DTIM
Д/
DTMCH
Интервал времени для выдачи на печать
TIM
Время
TMCH
Сравнительное время для принятия решения о выдаче на
печать
TMAX
Максимальное время
T
Узловое значение температуры Т;月 в уравнении (8.43)
ТЕ
Величина Г, соответствующая (8.42)
DT
в уравнении (8.46)
DDT
ЛГу 丸 и АТ 力钾 после возврата подпрограммы BAN SOL
В
Трехдиагональная матрица; левые части уравнений (8.45) и
(8.47)
R
RHS" в уравнении (8.46); также используется для хранений
в памяти АТ;尼 из уравнения (8.47)
RMST
\\Т-Т\\гт.'
Программа TWDIF используется для сравнения работы конечно-разностных схем Кранка — Николсона, двухслойной чисто неявной (ДСЧН) и трехслойной чисто неявной (ТСЧН) с работой конечно-элементной схемы Кранка — Николсона. Результаты сравнения суммируются в табл. 8.2. При использовании трехслойной чисто неявной схемы (ТСЧН) расчет первого шага проводится по схеме Кранка — Николсона. Кроме того, в табл. 8.2 приводятся данные о среднеквадратичных ошибках, полученных при применении модифицированной схемы Кранка—Николсона со значением 6 = 1/12 в формуле (8.44).
Конечно-разностные схемы Кранка — Николсона и ТСЧН обладают сравнимой точностью, особенно на мелкой сетке. Этого следовало ожидать, так как обе схемы имеют ошибки аппроксимации второго порядка. Очень точное решение по схеме
Таблица 8.2. Среднеквадратичные ошибки в случае граничных условий Дирихле при f = 24 000, а = 1 X Ю~5 и s* = Sg = 1.00
A jc == A у
Кранк—Николсон, метод конечных разностей (МЕ=1), Y=0, В==0.50
ДСЧН, метод конечных разностей (МЕ=1), Y=0, В = 1.00
тсчн, метод конечных разностей (МЕ=1), у = 0.5, В = 1.00
Кранк —Николсон, метод конечных элементов (МЕ = 2), Y=0, р=0.50
Кранк — Николсон, 6=1/12, Y=0, Р=0.5Ф
0.20
0.02682
0.40880
0.00306
0.03364
0.002820
0.10
0.00648
0.08874
0.00528
0.00686
0.000134
0.05
0.00157
0.02065
0.00150
0.00159
0.000082
ТСЧН, полученное на грубой сетке, рассматривается как аномалия. Двухслойная чисто неявная схема (ДСЧН) значитель« но менее точна, и это соответствует свойственной ей ошибке аппроксимации порядка О (А/, Дх2,厶外).Конечно-элементная схема Кранка — Николсона обладает ошибкой аппроксимации второго порядка и обнаруживает точность, сравнимую с точностью конечно-разностной схемы Кранка — Николсона. Однако схема Кранка — Николсона со значением 3=1/12 в формуле (8.44) приводит к значительно более точным решениям как на грубой, так и на мелкой сетках. Этого следовало ожидать, так как данная схема имеет ошибку аппроксимации порядка О (А/2, А%*
Схемы, перечисленные в табл. 8.2, классифицируются как девятиточечные. Однако расчет по подпрограмме REDIF для конечно-разностных схем будет более эффективным, если считать, что каждый из операторов Мх и Му содержит лишь по одному элементу, отличному от нуля. Следовательно, в подпрограмме REDIF ненулевые вклады в массивы DMX и DMY могут быть сгруппированы в трехкомпонентные векторы.
Несмотря на то что конечно-элементная схема является формально девятиточечной, симметрия массовых операторов (8.44) > а также тот факт, что расчет по формуле (8.46) необходима проводить только при прогонках в направлении %, позволяют воспользоваться описываемой ниже экономичной процедурой. Сначала формула (8.46) переписывается в виде
з
RHS = £ {Lxxr MYT『+ 必厂 LY1,}, (8.49>
где 月+ 1
MYTl (梯)£ 修他,(8.50) m=h — 1 fe+ 1左+ 1
1УТг=(Ю £ 5從7^ + (»^) £ Mg從 АТ;亠(8.51) tn = k — \m=k — \
и где, кроме того, mf = т —々 + 2, Г = / — j + 2. MYT и LYT — трехмерные массивы, связанные с узловыми точками У— 1, j и / + 1, когда выражение для RHS центрируется в узле (/,々).Структура формулы (8.49) следует из того, что в формуле (8.46) прежде всего рассчитываются все члены с операторами по у.
Однако расчет массивов MYT и LYT по формулам (8.50) и (8.51) остается одним и тем же, будет ли галёркинский узел расположен в точке /— 1, / или в точке j + 1. Следовательно, для большей эффективности целесообразно рассчитать только MYT3 по формуле (8.50) и только LYT3 по формуле (8.51). Значения MYT2 и MYTb нужные для подстановки в (8.49), будут получены путем сдвига значений MYT3 и MYT2, взятых из расчета на предыдущем галёркинском узле, т. е. путем введения /—1 вместо /. Аналогичным образом определяются LYT2 и LYT-
Вышеописанные приемы были использованы в работе [Fletcher, Srinivas, 1984] при решении задачи о течении несжимаемой вязкой жидкости вдоль обращенной назад ступеньки при использовании переменных функция тока ——вихрь, применение которых обсуждается в п. 17.3.3.
Граничные условия Неймана
В § 8.2 и 8.3 предлагается описание и реализация схем < расщеплением при граничных условиях Дирихле. Варианты реализации граничных условий Неймана для одномерного уравнения диффузии, соответствующие первому или второму порядку точности, рассмотрены в п. 7.3.1.
Здесь будут описаны процедуры для надлежащего сочетания граничных условий Неймана со схемами расщепления, рассмотренными в § 8.2 и 8.3. Характерная задача о многокомпонентной диффузии включает задание смешанных граничных условий Дирихле—Неймана. Чтобы дать конкретный пример, сохраним в прежнем виде первое и третье граничные уело- бия из (8.2), заменив, однако, второе и четвертое условия на
следующие:
黒•(】,% f) = g®, 0 и 專■(%, 1, t) = h(x, /),(8.52)
где g(y, t) и й(х, /)— известные функции.
. Конечно-разностная реализация
Различные схемы, рассмотренные в § 8.2 и 8.3, имеют второй порядок точности по пространству. Граничные условия Неймана (8.52), реализуемые со вторым порядком точности^ имеют вид
4"坛沁良=Sk (0,工叭田回 =% (О- (8.53)
Граничные условия (8.53) будут реализовываться в сочетании с применением обобщенной двухслойной схемы (п. 8.2.2).
Для точек, расположенных на границах h = 1 и у = 1, расчет правой части соотношения (8.23) может быть произведен после того, как при помощи формул (8.53) будут введены добавочные точки со значениями T,+i,左 и 7/,少+i, лежащие вне пределов вычислительной области как таковой. Однако операторы в левых частях соотношений (8.23) и (8.24) требуют построения поправок A7;+i,左 и АГ/Л+ь Это можно сделать с помощью применения формул (8.53) на последовательности интервалов по времени, т. е.
АГ;:/,月=AT?"月 + 2 Ах Ag/*(8.54а)
где
Ag#i = g/i-欧,(8.54b)
AT 陳 3 = ДГ^-1 + 2 A”/i 产.(8.54c)
Далее, чтобы провести расщепление двумерных операторов на неявные одномерные, требуется с помощью формул (8.54) модифицировать соответствующие компоненты операторов Lxx и Lyy. Так, при / = NX замена по формуле (8.54а) приводит к следующему соотношению, заменяющему на первом этапе соотношение (8.23):
(1 一 а%р A〃N) А7/,左=Af (a%J* + ayLQT;左一
—2A%(1J»。-a卢似%)他眈,(8・55>
где £北={2, —2, 0}/Дх2. Однако на втором этапе соотношение (8.24) используется без модификации. При 々=NY соотноше-
ние (8.23) используется на первом этапе в своем первоначальном виде. Однако на втором этапе (8.24) заменяется соотношением
(1-а^Р &L露 АТ;,* = А7;,尼一(1 一 а加 MLyy^ 2 Ny \hf+\ (8.56) где l^三{0, -2, 2}?/дy2.
Описанные выше процедуры были применены к расчету примера, рассмотренного в п. 8.3.2 при граничных условиях дТ/дх(1, у、/) = 0 и дТ/ду(х, 1, t) = 80, заменяющих соответствующие граничные условия Дирихле. Однако при таком специальном выборе граничных условий g н 九 в формулах (8.52) представляют собой константы, так что правые части соотношений (8.55) и (8.56) совпадают с правыми частями соотношений (8.23) и (8.24). Точное решение для рассматриваемого случая соответствует выражению (8.42). Решения были получены при помощи схем, указанных в п. 8.3.2; среднеквадратичные ошибки приводятся в табл. 8.3.
Таблица 8.3. Среднекв адр атичн ые ошибки в случае граничных условий Дирихле/Неймана при f = 24 000, а = 1 X Ю~5 и s% = Sy = 1.00
Ах (=»Ад)
Кранк —Николсон, метод конечных разностей (МЕ=1),
Y=0, 6=0.5
дсчн, метод конечных разностей (МЕ=1), Y=0, 0 = 1.0
ТСЧН, метод конечных разностей (МЕ = 1),
Y=0-5, Р = 1.0
Кранк —Ни・ КОЛСОН, метод конечных элементов (МЕ=2), у=0, 6=0・5
Кранк—Николсон, 6 = 1/12,
Y=0, 6=0.5
0.20
0.12940
1.58100
0.03985
0.15720
0.01341
0.10
0.03199
0.41120
0.02640
0.03358
0.00070
0.05
0.00779
0.10080
0.00744
0.00788
0.00021
Наблюдаемые тенденции аналогичны тем, которые относились к граничным условиям Дирихле (табл. 8.2), если не считать того, что при использовании всех методов уровень среднеквадратичных ошибок оказывается больше того, когда должны удовлетворяться граничные условия Неймана. Типичное распределение ошибок показано на рис. 8.7. Видно, что наибольшие ошибки возникают на границах, где применяются граничные условия Неймана, или вблизи таких границ. Аналогичный эффект наблюдался в случае одномерного уравнения диффузии (табл. 7.9), а также при решении задачи Штурма — Лиувилля (§ 5.4). В тех случаях, когда все граничные условия относятся к типу Дирихле, наибольшие ошибки возникают внутри области в точках, наиболее удаленных от границ.
Интересная особенность результатов, приводимых в табл. 8.3, относится к высокой точности данных, связанных со схемой «четвертого порядка» для внутренних точек, когда в формуле (8.44) имеем 6 = 1/12. Нелишне напомнить, что в случае одномерного уравнения диффузии введение граничного
UNSTEADY HEAT CONDUCTION WITH NX,NY =6 6
ME = 2 GAM =.00 BETA = .50 SX,SY = 1.000 1.000
APPROX. FACT., LINEAR FEM, EMX= .167E+00 .667E+00.167E+00
DIRICHLET B.C.
PTIN = .400E+04 PRINT IMT. =.160E+05 TMAX =・ШЕ+05
Т»100.000 88.775 78.650 70.614 65.455 63.677
Т=
84.000
73.351
63.742
56.109
51.193
49.455
т=
68.000
58.954
50.790
44.300
40.109
38.614
т=
52.000
45.433
39.505
34.790
31.742
30.650
т=
36.000
32.549
29.433
26.954
25.351
24.775
т=
20.000
20.000
20.000
20.000
20.000
20.000
Е=
.000
.000
・03
.000
.000
.000
Е=
.000
.026
• 047
.057
.047
.000
Е=
.000
• 035
.063
.074
.057
.000
Е=
• 000
.031
.054
• 063
.047
.000
Е*
•000
.017
.031
• 035
.026
.000
Е«
• 000
.000
.000
.000
.000
.000
TIME « .1600Е+05 RMST :
=.4710D-01
Рис. 8.7. Распределение ошибок с граничными условиями Дирихле и Неймана, условия со вторым порядком точности ограничивало суммарную точность даже при использовании схемы повышенного порядка для внутренних точек.
Конечно-элементная реализация
При наличии определяющих уравнений, подобных уравнению (8.1) и содержащих вторые производные, реализация граничных условий Неймана оказывает существенное влияние на процесс дискретизации. В п. 5.4.1 это было проиллюстрировано на примере решения одномерной задачи Штурма — Лиувилля.
Применение метода Галёркина с конечными элементами к уравнению (8.1) приводит к нижеследующему интегральному соотношению с весовыми функциями (§ 5.1):
Н 小加尊d%dy = a\, Bzn(%霖+ %幫)dxdy. (8.57)
В отличие от рассмотрения, проведенного в § 5.1, в соотношение (8.57) не вводилось приближенное решение для Т. Функция фш представляет здесь собой весовую функцию, связанную с
галёркинским узлом. В связи с реализацией граничных условий Неймана представляют интерес два случая. Первый из них относится к узлу т, расположенному на границе х = I (рис. 8.1); второй случай, когда узел т расположен на границе у = 1. Мы будем предполагать, что фщ представляет собой билинейную интерполяционную функцию (§ 5.3), хотя данный подход справедлив по отношению к интерполяции любого порядка. Вследствие локального характера функции ^ (х, у) в окончательную оценку членов уравнения (8.57) ненулевые вклады вносятся только двумя элементами. Два случая, представляющие интерес, демонстрируются на рис. 8.8.
Элемент ОЭлемент ОЭлемент СЭлемент СLLLLв7в7/п•访(галёркинский) узел/п•访(галёркинский) узел(Ь)(Ь)I /n-й (галёркинский) Элемент С Элемент D узелI /n-й (галёркинский) Элемент С Элемент D узел
Элемент О
Элемент О
Элемент С
Элемент С
L
L
L
L
в
7
в
7
/п•访(галёркинский) узел
/п•访(галёркинский) узел
(Ь)
(Ь)
I /n-й (галёркинский) Элемент С Элемент D узел
I /n-й (галёркинский) Элемент С Элемент D узел
(a) W(a) WХ=1Х=1
(a) W
(a) W
Х=1
Х=1
Рис. 8.8. Реализация метода Галёркина с конечными элементами у границ..
(а) Граница % = 1; (Ь) граница у = 1.
В правой части уравнения (8.57) можно провести интегрирование по частям. Иначе говоря, будем иметь
^m^dxdy^[^dy-^^dxdy, (8.58)
\仇器dxdg=汕紀产—V芻^dxdg. (8.59》
Если говорить о границе %= 1, то лишь вычисление линейных интегралов в (8.58) и (8.59) дает ненулевой вклад в каждый элемент на границе R. Весовая функция 力俏 равна нулю на границах В и L элемента С, а также на границах L и Г элемента D. Вклад в линейный интеграл от границы В элемента D тождественно погашает вклад от границы Т элемента С.
Для функций Г, фигурирующих в интегралах по площади, вводятся общепринятые приближенные выражения
「= 2仇(招 f/)Tz・(8.60>
На основании (8.52) имеем dT/dx\x=i = g(0- Одномерная интерполяция функции g(f) вводится по формуле
g(『多聘®)gjf).(8.61)
В случае интерполяции пр Лагранжу ф1 (х, у) = ^ (х) ^ (у). Вычисление различных интегралов в соотношениях (8.57)— (8.59), выполненное на однородной сетке, после деления на Ах А у дает
=& (響 + Му ® LxxTlt J + %Мх ® 4£, J.(8.62)
Соотношение (8.62) имеет такую же структуру, как и соотношение (8.29) для внутренних точек, если не считать добавочного члена axMygk/\x9 связанного с граничным условием Неймана.
Если учесть, что вклады дают только два элемента, то операторы Мх и Lxx принимают вид
^ = {T* %,。},厶l{石,一^,。},(8・63)
Операторы Му и Lyy совпадают с теми, которые определены формулами (8.30) и (8.31).
Реализация граничного условия Неймана при у = 1 проводится аналогичным путем, если не считать того, что линейные интегралы в (8.58) и (8.59) дают ненулевые вклады только на границах Т элементов С и D (рис. 8.8(b)). Результат, эквивалентный (8.62), принимает вид
[м% ® М“ 前]/ 月=[а*М? ® LXXT九 k + % ("ду - + М% ® LyyT八月)].
,(8.64)
В соотношении (8.64) операторы Мх и Lxx задаются согласно (8.30) и (8.31), а операторы Му и Lyy имеют вид
%产{&4*,4"}' 5 = {и, _$,击}'(8・65)
Интересно сравнить, как осуществляется реализация граничных условий Неймана при использовании методов конечных разностей и конечных элементов. Конечно-разностная форма, эквивалентная (8.29), записывается в виде
月=a江%为7了,在 + ajy尸3 h, (8.66)
где операторы Lxx и Lyy соответствуют формулам (8.31). Введение условий (8.53) на границе х = 1 позволяет получить следующую локальную форму выражения (8.66):
濁 1,「2% (農 + 厶厶,0 + ауЗ/э ь (8.67)
где Lxx задается теперь согласно (8.63), a Lyy — согласно (8.31)> как и прежде.
Как уже было замечено при введении понятия о массовых операторах (§ 5.5 и п. 8.3.1), эквивалентная конечно-разностная формулировка может быть построена за счет модификации массовых операторов. Таким образом, массовые операторы в соотношении (8.62) примут при этом вид
М? = {о, 0 5, о}, 乂記={0, 1, of (8.68)
Окончательная форма соотношения (8.62) совпадает с (8.67). Следовательно, в случае билинейной лагранжевой интерполяции на прямоугольных конечных элементах оказывается возможным реализовать граничные условия Неймана при помощи метода Галёркина с конечными элементами путем введения набора значений в добавочных точках Tj+i} k и「,计卜 соответствующих формулам (8.53), применяя при этом повсюду формулу для внутренних точек типа (8.29). Следует подчеркнуть, что хотя такой подход целесообразен с точки зрения эффективности программирования, его следует применять после того, как будет доказана эквивалентность.
Типичные результаты, полученные при помощи метода конечных элементов с граничными условиями Неймана дТ/дх(19 у, /) = 0 и дТ/ду (х, 1, t) = 80, приводятся в табл. 8.3. Общие тенденции подобны тем, которые имели место при граничных условиях Дирихле, за исключением того, что при наличии граничных условий Неймана ошибки, как правило, становятся больше. Та же тенденция очевидна и по отношению к методу конечных разностей.
Метод дробных шагов
В применении к тем неявным методам, которые описывались в данной главе, общая стратегия состояла в том, чтобы провести дискретизацию, а затем переформулировать или модифицировать полученные алгебраические уравнения с целью построения «одномерных» алгоритмов, подобных (8.27), (8.28).
Стратегия, альтернативная вышеописанной, состоит в расщеплении исходного уравнения, например (8.1), на пару уравнений, каждое из которых является локально одномерным.
Тогда взамен (8.1) вводятся уравнения
0.5 器一<Хд 寻=0,(8.69)
0.5尊-% 票■ =(8.70)
Эти уравнения подвергаются дискретизации и решаются последовательно на каждом шаге по времени. Этот класс методов был разработан советскими математиками и его подробное описание дается в книгах [Н. Н. Яненко, 1971] и [Г. И. Марчук, 1974]. В книге [Mitchell,. Griffiths, 1980] эти методы относятся к классу локально одномерных методов.
Явное представление уравнений (8.69) и (8.70) имеет вид
T^l2 = (l+ayMLyy)Tlk9(8.71)
Т晖=(1 + a% NtLQ 丁隈/2.(8.72}
Если а = ах = ау, то данная схема совпадает со схемой (8.8), (8.9). Алгоритм (8.71), (8.72) имеет ошибку аппроксимации порядка О (А/, Ах2, А^) и при Ах = Ду является устойчивым, если s W 0.5.
Неявная реализация (8.69) и (8.70) по Кранку — Николсону имеет вид
(1 一 0.5^MLyy)T^/2 = (1+ 0.5арXLQTi 左, (8.73) (1 — 0・5出 А〃》)Г;% = (1 + 0.5ax MLxx)T^l\ (8.74)
Соотношения (8.73) и (8.74) приводят к трехдиагональным системам уравнений вдоль сеточных линий, параллельных у и х соответственно; это значит, что решение может продвигаться по времени экономичным образом с использованием алгоритма Томаса. Схема (8.73), и (8.74) имеет второй порядок точности по времени и пространству при надлежащем задании граничных условий и безусловно устойчива как в двух, так и в трех измерениях.
Уравнения (8.73) и (8.74) могут быть объединены в одну составную схему за счет исключения Г;,%"?, если только операторы Lxx и Lyy являются коммутативными; иначе говоря, если одна и та же формула получается как за счет ЬххЬууТ^к2^ так и за счет 厶^厶口夕干〃. Полученная таким образом составная схема совпадает с составной схемой НПН, являющейся результатом исключения Г* 月 из уравнений (8.12) и (8.13).
Однако принципиальное отличие данного подхода возникает при выполнении граничных условий. Если метод дробных
23 К. Флетчер, т. 1
шагов применяется к двумерной области, показанной на рис. 8.1, то условие Дирихле на границе % = 1, 7(1, у、/)= b(yt /) принято реализовать на промежуточном временном слое в виде
т 岐册= Ьп+"2 (8.75) и аналогичные соотношения для граничных условий на других границах. Такой путь выполнения граничных условий фактически приводит к снижению точности схемы в целом до первого порядка по времени.
В работе [Dwoyer, Thames, 1981] исследуется проблема корректной реализации граничных условий в применении к двумерному уравнению переноса (§ 9.5). Как показано в книге [Mitchell, Griffiths, 1980], корректное граничное условие при х = 1, если используются уравнения (8.71) и (8.72), имеет вид
T^ = (l+ayMLyy)bl (8.76)
Это наводит на мысль о том, что при использовании схемы (8.73), (8.74) подходящая форма промежуточных граничных условий Дирихле при х = 1 может быть получена, если решить уравнение
(1 - 0・5先竝 Lyy)T^ = (1+ 0.5а^ &L 爾或 (8.77)
Можно отметить, что метод дробных шагов не позволяет построить экономичный алгоритм путем введения поправок АТ;,%* как можно было сделать с приближенной факторизацией (п. 8.2.2 и дальнейший текст). Кроме того, метод дробных шагов не дает возможности непосредственного вычисления невязки по отношению к стационарному состоянию (см. формулу (8.25)), что играет важную роль при решении стационарных задач с помощью псевдонестационарной формулировки (§ 6.4).
Заключение
Для многомерных параболических дифференциальных уравнений в частных производных, например для уравнения диффузии, неявные схемы являются более эффективными, чем явные, в первую очередь благодаря присущему им более устойчивому поведению. Кроме того, неявная формулировка обеспечивает большую гибкость при построении схем повышенного порядка [Mitchell, Griffiths, 1980].
Желая сохранить экономичность, свойственную алгоритму Томаса, при переходе к многомерной неявной формулировке, необходимо ввести ту или иную форму расщепления по на-
правлениям. Рекомендуемое построение сводится к тому, чтобы представить уравнения в форме линейной системы по отношению к поправке 厶7農 и ввести приближенную факторизацию, например (8.22), чтобы иметь возможность воспользоваться многоэтапным алгоритмом, каждый из этапов которого требует решения трехдиагональной системы уравнений.
Приближенная факторизация эффективна при применении как конечно-разностного, так и конечно-элементного методов. Появление массовых операторов по направлениям в конечноэлементном алгоритме приближенной факторизации (8.39), (8.40) дает возможность построения схемы, более точной по пространству, путем выбора 6 = 1/2 в формуле (8.44). Повышенная точность достигается как с граничными условиями Дирихле (§ 8.3), так и с граничными условиями Неймана (§ 8.4).
Однако для сохранения точности второго порядка по времени необходимо уделить особое внимание реализации граничных условий для промежуточной поправки к решению АГ* 々, появляющейся в процессе приближенной факторизации. Несмотря на то что методика реализации граничных условий Неймана имеет концептуальные различия в зависимости от того, применяется ли метод конечных разностей или метод конечных элементов, форма соответствующих уравнений после дискретизации нередко оказывается структурно-эквивалентной.
Приемы расщепления (или приближенной факторизации), разработанные в данной главе, после небольшой модификации могут быт применены к двумерному уравнению переноса (§ 9.5), двумерным уравнениям Бюргерса (§ 10.4), а также к уравнениям, определяющим различные классы течения жидкости, особенно в тех случаях, когда необходимо решать уравнения Навье — Стокса (см., например, п. 17.2.1 и 17.3.3, § 18.3 и § 18.4).
Задачи
Двумерное уравнение диффузии (§ 8.1)
Примените анализ устойчивости по Нейману к схеме (8.7) и покажите, что эта схема устойчива, если 0 V s W 0.5
Для случая Ах = Ау определите ошибку аппроксимации для схемы (8.7), если s = 1/6.
Модифицируйте программу TWDIF так, чтобы она была применима к схеме (8.7) и проверьте путем расчетов теоретические результаты, соответствующие задачам 8.1 口 8.2.
Методы расщепления для многомерных задач (§ 8.2)
Примените анализ устойчивости по Нейману к трехмерным эквивалентам схемы НПН (8.14), (8.15) и схемы приближенной факторизации (8.23), (8.24). Покажите, что трехмерная схема НПН является условно устойчивой, а схема приближенной факторизации ——безусловно устойчивой
Модифицируйте программу TWDIF так, чтобы она была применима к схеме НПН (8.14), (8.15) и сравните точность и экономичность этой схемы с аналогичными качествами схемы приближенной факторизации для ME = 1, у = О, Р = 0.5.
Повторите сравнение, показанное в табл. 8.2, для случаев s* = s^ = =0.5 и 1.5, объясните полученные результаты. Для варианта s* = s^ = 0.5 сравните результаты с данными для схемы, рассмотренной в задаче 8.3.
Схемы расщепления и метод конечных элементов (§ 8.3)
Модифицируйте программу, составленную при решении задачи 8.5, так, чтобы применить ее к конечно-элементному варианту схемы НПН (8.35), (8.36), и сравните точность результатов с точностью решений, отраженных в табл. 8.2.
Покажите, что схема (8.43), (8.44) при у = 0, р = 0.5 эквивалентна схеме
[1 -(0.5а Af - 6 Ах2) Lxx\ 7;月=[1 +(0.5а Af + 6 厶力)Lyy] T;尼,
[1 一(0.5а Af — 6 A『)厶"г;% = [1 +(0.5а Af + 6 Ar2) J J T* 肌
Для специального случая 6 = 1/12 эта схема совпадает со схемой, имеющей четвертый порядок по пространству и предложенной в работе [Mitchell, Fairweather, 1964].
В программе TWDIF замените соотношение (8.48) за счет вычисления значения AT NX k по формулам (8.41) при tn+\/^ Сравните точность решения с результатами, приведенными в табл. 8.2.
Граничные условия Неймана (§ 8.4)
Модифицируйте программу TWDIF так, чтобы отразить реализацию граничных условий Неймана в соответствии с данными, приведенными в табл. 8.3. С помощью методов, указанных в табл. 8.3, получите решения для случаев s% = s^ = 0 5 н 1.5.
Модифицируйте программу, составленную при решении задачи 8.3, так, чтобы получить решение с граничными условиями Неймана, сравнимое со случаем, рассмотренным в табл. 8.3, но при s* = s^ = 0.5.
Модифицируйте программу, составленную при решении задачи 8.5 для схемы НПН, так, чтобы получить решение для контрольного случая, на основе которого составлена табл. 8.3. Сравните точность этого решения с точностью, приведенной в табл. 8.3.
Метод дробных шагов (§ 8.5)
Модифицируйте программу, составленную при решении задачи 8.5, так, чтобы применить ее к схеме (8.73), (8.74), и проверьте работу программы для данных, по которым составлена табл. 8.2.
Модифицируйте программу, составленную при решении задачи 8.12, так, чтобы получить решение с условием Дирихле на границе х = 1, используя соотношение (8.77), и сравнить точность этого решения с точностью метода дробных шагов.
Глава 9
Линейные задачис преобладающим влиянием конвекции
Для большинства задач обтекания движение жидкости является важным фактором, определяющим общий характер потока. В уравнениях гидродинамики (гл. И) движение жидкости характеризуется составляющими скорости 〃, t\ w по направлению декартовых координат х, у, 2. В одномерном уравнении импульсов по направлению оси х
Р("黑)+“器 (9」)
составляющая скорости и входит в инерционный член (du/dt + иди/дх), а также в член, характеризующий вязкую диффузию [id2u/dx2. Другими искомыми величинами являются плотность р, давление р и вязкость 诔.
Ранее при рассмотрении уравнения диффузии мы изучали поведение таких членов, как д2и/дх2. Теперь мы рассмотрим конвективные члены типа иди/дх и обсудим, как с ними лучше всего обращаться с вычислительной точки зрения.
Конвективный член обладает двумя не зависящими друг ют друга особенностями, которые необходимо принять во внимание. Во-первых, этот член содержит первые производные по пространственной переменной. При использовании для аппроксимации члена ди/дх симметричной трехточечной формулы в решении возникают колебания нефизического характера, если вязкий член оказывается малым в сравнении с конвективным. Такое поведение связывают с воздействиями дисперсионного типа (§ 9.2), проявляющимися через ошибку аппроксимации. В применении к установившемуся течению мы исследуем это явление в § 9.3.
Если при моделировании ди/дх используется несимметричная алгебраическая формула, то, несмотря на нередко достигаемое улучшение гладкости получаемого решения, точность аппроксимации ди/дх обычно оказывается на один порядок ниже по сравнению с соответствующим представлением с помощью симметричной алгебраической формулы, охватывающей то же самое число узловых точек. При использовании
несимметричных формул низкого порядка в ошибку аппроксимации могут быть привнесены такие слагаемые, которые по своей величине будут сравнимы с величиной важных физических членов, учитываемых здесь.
Этот аспект решения будет принят во внимание в § 9.2 при рассмотрении уравнения, описывающего чисто конвективный процесс, в § 9.3 для уравнения стационарной конвекции — диффузии, а в § 9.4 для уравнения переноса. Уравнение переноса получается из уравнения (9.1) путем линеаризации конвективного члена (т. е. путем замены иди/дх на еди/дх), пренебрежения членом с градиентом давления др/дх и предположения о том, что величины е и р известны.
Второй важной особенностью конвективного члена является его нелинейность по отношению к искомой переменной. В случае сверхзвукового невязкого потока (п. 11.6.1) нелинейный характер конвективных членов приводит к тому, что становится возможным появление ударных волн. Этот нелинейный характер конвективных членов мы будем обсуждать главным образом в связи с уравнением Бюргерса в гл. 10.
Одномерное линейное уравнение конвекции
Для исследования задач, связанных с конвекцией, рассмотрим следующее линейное уравнение:
дТ . дТ с
(9・2)
где и — известная скорость, а Г — пассивная скалярная величина, например температура. Уравнение (9.2) гиперболическое. Его можно интерпретировать как некую модель для конвективной части уравнения энергии (11.44).
Если величина и постоянна и положительна, то общее решение уравнения (9.2) можно записать в виде
7(х,方)=尸(无一以),(9.3)
где начальное условие задается выражением
歹(招 0) = F(x),(9.4)
причем функция F(x) известна. Если эта функция определена во всем диапазоне изменения х, —оо W % W 8, то решение в некоторой заданной точке (хь 介)плоскости (х, t) совпадает с решением для точки с координатой Xi — 〃乙 в момент времени f = 0, т. е.
t (хb 厶)=尸(%i — "厶)=亍(修一"厶,0).
Это показано графически на рис. 9.1. Решение Т оказывается постоянным вдоль таких линий, как линия ЛВ, служащая характеристикой для этого уравнения (рис. 2.5).
Схема с разностями вперед по времени , и центральными по пространству (ВВЦП)
Простейший алгоритм для решения уравнения диффузии связан с использованием схемы ВВЦП согласно уравнению (7.5). Соответствующее представление уравнения (9.2) с ис-
Рис. 9.1. Зависимость решения от начальных данных.Рис. 9.1. Зависимость решения от начальных данных.
Рис. 9.1. Зависимость решения от начальных данных.
Рис. 9.1. Зависимость решения от начальных данных.
пользованием разностей вперед по времени и центральных по пространству будет иметь вид
史户+乌乡」 (9.5)
Т产=Т; 一 об。(г* —「*),Т产=Т; 一 об。(г* —「*),(9.6)(9.6)Разностное уравнение (9.5) может быть представлено в форме •алгоритма
Т产=Т; 一 об。(г* —「*),
Т产=Т; 一 об。(г* —「*),
(9.6)
(9.6)
(9.7)(9.7)аппроксимирующего уравнение (9.2) с ошибкей порядка О (АЛ А%2). Величина С, входящая в формулу (9.6), называется числом Куранта и определяется выражением
(9.7)
(9.7)
e = u 下/
Если применить к алгоритму (9.6) анализ устойчивости по Нейману, то для m-й компоненты начального распределения ошибки получится коэффициент усиления в виде
(9.8)(9.8)G = 1 — /С sin 0.
(9.8)
(9.8)
Ясно, что I G| ^ 1 при любых 0, так что алгоритм (9.6) является безусловно неустойчивым. Можно вспомнить, что
Таблица 9・1・ Алгебраические схемы (дискретизация)
Схема
Алгебраическая форма
Ошибка аппроксимации Е * (главные члены)
ввцп
F +у=0
e“ (萼)磐+
+ " (^F)(1 + 2С2)爵
Вверх по потоку
А/А%
(萼)(i)鋁 +
+ 〃(響)(1_3C +2c2)詳
1
«Чехарда»
.一厂
2 А/1
+ %т7 = о
〃(粤О" g嘗
Лакса — Вендроффа
—0.5〃С Дх£ххТу
"(等)(J0)备 +
+ 〃效笥)(1-0談
Кранка — Николсона
АТ;+1
笈 1 uLx X
x(д+;产)=。
"(等)0+0.50)第
для уравнений конвекции дТ/dt + и дТ/дх = О
Коэффициент затухания G (0=тл Ах)
Условие устойчивости
Замечания
1 — iC sin 0
Неустойчивая
Lx=t^{~x' a D
1 — С (1 — cos 8) — iC — sin 9
C< 1
-iC sin 0 ± (1 -C2 sin20)1/2
C< 1
1 - zC sin 0 - 2c2 sin2 售)
C< 1
(1 - 0.5/C sin 8)/(1 + 0.5iC sin 0)
Нет
Схема
Алгебраическая форма
Ошибка аппроксимации Е *(главные члены)
Трехслойная, полностью неявнаяТрехслойная, полностью неявная+ "l%+ "l%-^~ +-^~ +А/ !■А/ !■"曾一%)"曾一%)ДхДх=0,=0,(9.9)(9.9)
Трехслойная, полностью неявная
Трехслойная, полностью неявная
+ "l%
+ "l%
-^~ +
-^~ +
А/ !■
А/ !■
"曾一%)
"曾一%)
Дх
Дх
=0,
=0,
(9.9)
(9.9)
〃(嘗)(1+2c2)誥〃(嘗)(1+2c2)誥3 АТ;+〔1 АТ;
〃(嘗)(1+2c2)誥
〃(嘗)(1+2c2)誥
~2~Ki W
+ "厶 77+1= 0
Линейная КЭ/Кран- ка — Ник ол- сона
или в алгоритмическом представлении
77+1 = (1 -С^ + СТ^.,(9.10)
Таблица 9.1 (продолжение)
Коэффициент затухания О (0=тл А%)
Условия устойчивости
Замечания
1 ± 4- нз + /8С sin 8)1/2 2(1 + *等 sin е)
Нет
(2 + cos 8 — L5iC sin 8) (2 + cos 0 + 1.5/C sin 9)
Нет
модифицированных уравнений (п. 9.2.2). Таким образом, алгебраическое представление
В случае отрицательного и вместо (9.10) применяется формула 7产1 = (1 -|С|)т7 + |С|Т7+[. Согласно формуле (9.10), решение Т;+‘ определяется информацией из области, расположенной вверх по потоку от узла (/, п). Следовательно, схема (9.10) будет упоминаться в дальнейшем как схема с разностями против потока (табл. 9.1). Численные решения, полученные на основе разностной схемы против потока, будут изложены в п. 9.1.5.
Если применить к схеме (9.10) анализ устойчивости по Нейману, то получится коэффициент усиления, показанный в табл. 9.1. Решения получаются устойчивыми, если
e=唸&1・ (9.11)
Неравенство С W 1 называют обычно условием Куранта — Фридрихса — Леви (КФЛ). Вообще говоря, это условие применимо ко всем явным схемам для дифференциальных уравнений в частных производных гиперболического типа. С физической точки зрения условие КФЛ означает, что частица
жидкости за один шаг по времени А/ не должна продвигаться более чем на один пространственный шаг Дх.
В частном случае при С = 1 формула (9.10) дает Т;+】 =「;_], что является точным решением уравнения (9.2); это иллюстрируется на рис. 9.1.
Разложение точного решения в ряд Тейлора в окрестности узла (/, л), подставленное в формулу (9.10), дает результат
Н + 〃为 + °・5 & 詁一 °・5〃 А% 翡 + О (А*, А%》=0 (а%),
Следовательно, формула (9.10) не противоречит уравнению (9.2), но содержит в себе ошибку аппроксимации, главные члены которой имеют порядок О (А/, А%). Из уравнения (9.2)Следовательно, формула (9.10) не противоречит уравнению (9.2), но содержит в себе ошибку аппроксимации, главные члены которой имеют порядок О (А/, А%). Из уравнения (9.2)получаемполучаемдТdtдТdtдТдТ一"而一"而д2Т 2 @2戸д2Т 2 @2戸
Следовательно, формула (9.10) не противоречит уравнению (9.2), но содержит в себе ошибку аппроксимации, главные члены которой имеют порядок О (А/, А%). Из уравнения (9.2)
Следовательно, формула (9.10) не противоречит уравнению (9.2), но содержит в себе ошибку аппроксимации, главные члены которой имеют порядок О (А/, А%). Из уравнения (9.2)
получаем
получаем
дТdt
дТdt
дТ
дТ
一"而
一"而
д2Т 2 @2戸
д2Т 2 @2戸
и, следовательно, уравнение (9.12) можно переписать в виде
•^ + “ 票—0・5〃 А% (1 — С) ^^ +。(А/2, Ах2) = 0.
Если считать, что ошибка аппроксимации при использовании формулы (9.10) имеет порядок О (А/2, А%?), то вместо уравнения (9.2) эта формула будет соответствовать уравнению
雾十雾十дТ ,aдхдТ ,aдхд2Т дх2д2Т дх20.0.(9.13>(9.13>
雾十
雾十
дТ ,a
дх
дТ ,a
дх
д2Т дх2
д2Т дх2
0.
0.
(9.13>
(9.13>
Это значит, что использование двухчленного конечно-разностного представления дТ/дх со сдвигом_вверх по потоку в сочетании с разностной формулой для дТ/dt при сдвиге по времени вперед вносит искусственную (численную) диффузию с коэффициентом а'= 0.5〃Ах(1 — С). Ясно, что коэффициент искусственной диффузии обращается в нуль, когда С = 1; это и не удивительно, поскольку формула (9.10) в таком варианте соответствует точному решению.
Может показаться, что выбор А/, дающего С = 1, позволит обойти проблему искусственной диффузии. Хотя это и действительно так в применении к линейному уравнению конвекции, однако при рассмотрении нелинейных уравнений, подобных уравнению Бюргерса (§ 10.1), когда скорость и (входящая в выражение для С) изменяется в пространстве, невозможна обеспечить равенство С = 1 во всех точках.
Схема «чехарда» и схема Лакса — Вендроффа
Применяя подход, использовавшийся ранее к уравнению диффузии, попытаемся построить более точную модель уравнения (9.2) с помощью введения центральных разностей как по времени, так и по пространству. Это приводит к схеме «чеПрименяя подход, использовавшийся ранее к уравнению диффузии, попытаемся построить более точную модель уравнения (9.2) с помощью введения центральных разностей как по времени, так и по пространству. Это приводит к схеме «чехарда»:харда»:2 А/2 А/1— и1— и(9.14)(9.14)
Применяя подход, использовавшийся ранее к уравнению диффузии, попытаемся построить более точную модель уравнения (9.2) с помощью введения центральных разностей как по времени, так и по пространству. Это приводит к схеме «че
Применяя подход, использовавшийся ранее к уравнению диффузии, попытаемся построить более точную модель уравнения (9.2) с помощью введения центральных разностей как по времени, так и по пространству. Это приводит к схеме «че
харда»:
харда»:
2 А/
2 А/
1— и
1— и
(9.14)
(9.14)
и соответствующему ей алгоритму
7产=7;-1 - С (「;+1 一「*). (9.15)
Формула (9.15) соответствует уравнению (9.2) с ошибкой аппроксимации, имеющей порядок О (А/2, Ах2). Применение к (9.15) анализа устойчивости по Нейману дает коэффициент усиления G, представленный в табл. 9.1. Как можно видеть, I GI = 1.0, если С W L однако при некоторых значениях 0 получим IGI > 1.0, если С〉1. Следовательно, если удовлетворяется условие КФЛ, схема «чехарда» будет нейтрально устойчивой. Это и желательно, так как в этом случае решение не затухает с течением времени; отметим, что на то же самое указывает и физический характер процесса конвекции согласно (9.2). —
Как нетрудно видеть, решение Т;+ , обеспечиваемое формулой (9.15), как бы перепрыгивает через решение Гу; отсюда и название — схема «чехарда». Однако структура формулы (9.15) указывает на то, что вычислительная сетка уподобляется здесь шахматной доске; решение, строящееся для «черных» полей», оказывается совершенно независимым от решения для «белых полей». Это обстоятельство может приводить к появлению двух «расщепившихся» решений. Роуч [Roache, 1972] обсуждает различные варианты стратегии для преодоления данного затруднения, одним из которых является осреднение решения по двум временным слоям, а именно /г и /г + 1.
Халтнер и Уилльямс [Haltiner, Williams, 1980] провели анализ применения схемы «чехарда» (9.15) к задаче с гармоническим начальным условием, т. е. когда функция в правой части формулы (9.4) принимает форму Л (х) = exp (Z/mAx), где m ——волновое число (§ 9.2). Они получили для (9.15) аналитическое решение, состоящее из двух волн или двух мод, происхождение которых связано с тем, что формула (9.15) коррелирует между собой три временных слоя. Одна из этих мод соответствует физическому решению, а вторая — это паразитная «вычислительная» мода, распространяющаяся в направлении,
противоположном моде физического решения, причем величина этой моды меняет свой знак на каждом шаге по времени.
В случае линейного уравнения конвекции вычислительную моду решения можно подавить за счет выдлежащего выбора добавочного слоя начальных данных, т. е. задавая не только Тп, но и Г"-】. Однако в применении к нелинейным задачам вычислительная мода, присущая решению по схеме «чехарда», может неограниченно развиваться и ухудшить перспективу разделения решения на соседних временных слоях, о которой упоминалось ранее. Стратегии такого типа, как осреднение, существенно подавляют вычислительную моду, не оказывая заметного воздействия на физическую моду.
Схема «чехарда» является трехслойной, и поэтому при ее применении требуется некий альтернативный подход для реализации первого шага по времени. Эту схему рекомендуется применять [Morton, 1971] для решения гиперболических задач, например задач, описываемых уравнением конвекции (9.2); заметим, что эквивалетная схема Ричардсона для уравнения диффузии является неустойчивой.
Схема Лакса — Вендроффа представляет собой весьма эффективный (и популярный) алгоритм для решения уравнений, описывающих течение невязкой сжимаемой жидкости (§ 10.2 и п. 11.6.1). В применении к уравнению конвекции (9.2) схема Лакса — Вендроффа совпадает с методом Лейза [Leith] (см. [Roache, 1972]). Оба метода основаны на построении приближения второго порядка для члена с помощью разложения в ряд Тейлора, в результате которого получается представление
дТ—д2то д2Т
• *тт0.5 А/ а в =д70.5 А/"?内 2 •
dtAfdrА/dx2
После введения представления для д2Т/дх2 с применением центральных разностей мы приходим к конечно-разностной модели для уравнения (9.2) по Лаксу — Вендроффу в форме
Т产=Т; - о», (г*】一 г; ) + О 5С2 (「;_] 一 2?7 + ?7+1)・ (9.16)
Схема Лакса — Вендроффа согласуется с уравнением (9.2) при ошибке аппроксимации порядка 。(厶产,Дх2) и является устойчивой, если удовлетворяется условие КФЛ С W 1.0 (табл. 9.1). Численные решения с использованием схемы Лакса —Вендроффа приводятся в п. 9.1.5.
Схемы Кранка — Николсона
Схема Кранка ——Николсона оказывается весьма эффективной в применении к одномерному уравнению диффузии. В данном разделе конечно-разностные и конечно-элементные схемы
Кранка — Николсона применяются к одномерному уравнению конвекции (9.2).
Конечно-разностная схема Кранка — Николсона может быть записана в виде
(9.⑺(9.⑺T九+1прп
(9.⑺
(9.⑺
J「+ и(°・5厶獨 + О.бЛхТГ1) = О,
где LxTj =(Г/+1 — Г/_1)/2Дх. Из уравнения (9.17) получается следующий трехдиагональный алгоритм:
-0.25С7?寸 + Т^Х + 0.25СТ7 気=0.25СГ/-1 + 7? — 0.25СГ/+1,
(9.18)
для которого можно построить эффективное решение с помощью алгоритма Томаса (п. 6.2.2). Схема Кранка — Николсона согласуется с уравнением (9.2) и обладает погрешностью порядка О(А^2, А%2) Анализ устойчивости по Нейману дает коэффициент усиления G, показанный в табл. 9.1. Ясно, что схема Кранка — Николсона является безусловно устойчивой.
Если к уравнению (9.2) применить метод конечных элементов Галёркина с нелинейной интерполяцией по пространству, то получается следующая система обыкновенных дифференциальных уравнений:
此聞/ +〃屮=0,(9.19)
в которую входит массовый оператор М% = *,告,^}・ Введение разностного представления dT/dt по Кранку — Николсону приводит к схеме
мх+ uLx [0.5 (Т; + 7产)]=0,
которую можно сравнить со схемой (9.17). Массовый оператор можно представить в более общем виде, аналогичном формуле (8.44), а именно
必三{6, 1 —23, 6},(9.21)
где значение 6=1/6 дает конечно-элементную форму, а значение 6 = 0 — конечно-разностную форму. После подстановки (9.21) в уравнение (9.20) получается трехдиагональный алгоритм
(6 - 0.25С) 77tli + (1 - 26) 7产 + (6 + 0.25С)哨=
=(6 + 0.25С)Г-_1 + (1 - 26) 7? + (6 — 0.25。)7?+i. (9.22)
Реализацию этого алгоритма дает программа TRAN (рис. 9.8).
Конечно-элементная форма (9.20) обладает ошибкой аппроксимации порядка О(А^2, Ах4). Следовательно, при достаточно
малых шагах по времени, когда погрешность решения определяется преимущественно пространственной дискретизацией, конечно-элементная схема Кранка — Николсона дает более точные результаты, чем конечно-разностный метод, построенный по аналогичной схеме. Происхождение ошибки аппроксимации второго порядка, показанной в табл. 9.1, связано с трактовкой члена А/2 на основе модифицированного уравнения (п. 9.2.2). Если величины Сии имеют порядок 0(1), то член А/? играет преобладающую роль при определении ошибки аппроксимации. Конечно-элементная схема Кранка — Николсона (9.20) является безусловно устойчивой (табл. 9.1). Как видно из табл. 9.1, при применении к уравнению диффузии типичные неявные схемы являются безусловно устойчивыми. Однако применение неявных схем к гиперболическим уравнениям не обязательно обеспечивает их преимущество. При использовании неявной схемы на заданном временном слое п + 1 получается некая система связанных между собой уравнений. Поэтому любое возмущение, связанное, например, с округлением и возникающее в одном из узлов (/, п), влияет на решение во всех узлах (/,龍+l) на следующем временном слое. Такое поведение физически соответствует дифференциальному уравнению в частных производных параболического типа (п. 2.3.2), подобному уравнению диффузии.
В противоположность вышесказанному возмущения в решениях для уравнений в частных производных гиперболического типа (п. 2.2.2) распространяются с конечными скоростями. При решении дифференциальных уравнений в частных производных гиперболического типа с помощью неявных схем обычно возникают существенные неточности, если только величина А/ (или величина С) достаточно велика. Если же величина А/ мала, т. е. если для уравнения конвекции С W 1.0, то применение неявных методов не обеспечивает преимущества в устойчивости, хотя оно и может дать некоторое преимущество в точности, как это имеет место с конечно-элементной схемой Кранка —Николсона.
Линейная конвекция усеченной синусоидальной волны
Чтобы проиллюстрировать особенности применения различных схем при решении уравнения (9.2), рассмотрим распространение синусоидальной волны. Это значит, что уравнение (9.2) должно решаться при начальном условии
—(=sin (Юлх) при 0<х<0.1,, с
Т(х, 0){八' у n;/;in 9.23) 'при 0.1 < х ^ 1.0
и при граничных условиях
Г (0, 0 = 0, Т(1, /) = 0.
Точное решение, справедливое вплоть до Z = 0.9/〃,имеет вид
'=0,0《%《山,
Т< = sin [Юл (х — ut)]t и/ < х < и/ + 0.1,(9.24)
、=0,ut + 0Л < х < 1.0.
Кривые точного решения для значения 〃 = 0.1, определенные при / = 0 и 8, показаны на рис. 9.2. Синусоидальная волна распространяется без уменьшения амплитуды со скоростью 〃 = 0.1.
Рис. 9.3. Решение уравнения конвекции по схеме Лакса — Вендроффа при С = 0.8.Рис. 9.3. Решение уравнения конвекции по схеме Лакса — Вендроффа при С = 0.8.(Точное ^решение i Е8 ・0(Точное ^решение i Е8 ・09.2 8.4 8.6 6.81.09.2 8.4 8.6 6.81.0i.e т
Рис. 9.3. Решение уравнения конвекции по схеме Лакса — Вендроффа при С = 0.8.
Рис. 9.3. Решение уравнения конвекции по схеме Лакса — Вендроффа при С = 0.8.
(Точное ^решение i Е8 ・0
(Точное ^решение i Е8 ・0
9.2 8.4 8.6 6.81.0
9.2 8.4 8.6 6.81.0
е.8
g.z
Рис. 9.2. Решение уравнения конвекции с помощью схемы с разностями против потока.
Различные схемы, описываемые в п. 9.1.2—9.1.4, реализуются в программе TRAN, распечатка которой показана на рис. 9.8, при а = 0. Эта программа обеспечивает построение численных решений одномерного уравнения переноса и описана в п. 9.4.3. В применении к данной конкретной задаче точное решение (9.24) рассчитывается с помощью подпрограммы EXSOL (рис. 9.9).
Численные решения были получены для 41 точки, расположенной равномерно в пространстве на интервале 0 & % & 1.0, при числе Куранта С = 0.8. Решение, полученное с помощью программы TRAN при f = 8.0 (т. е. после 40 шагов по времени) в результате применения схемы (9.10) с разностями против потока, показано на рис. 9.2. Численное решение имеет гладкую форму, однако в сравнении с точным решением оно оказывается
24 К Флетчер, т. 1
нее точного решения, а такженее точного решения, а такжеРис. 9.4. Решение уравнения конвекции по схеме Кранка — Николсона при С = 0.8.Рис. 9.4. Решение уравнения конвекции по схеме Кранка — Николсона при С = 0.8.
нее точного решения, а также
нее точного решения, а также
Рис. 9.4. Решение уравнения конвекции по схеме Кранка — Николсона при С = 0.8.
Рис. 9.4. Решение уравнения конвекции по схеме Кранка — Николсона при С = 0.8.
размазанным (или диффузно сглаженным); это обстоятельства соответствует введению членов с искусственной вязкостью, подобно тому, как это имеет место в уравнении (9.13).
Решение с помощью схемы Лакса — Вендроффа (9.16) показано на рис. 9.3 для значений t = 8.0 и С = 0.8. Можно напомнить, что структура схемы Лакса — Вендроффа эквивалентна структуре схемы ВВЦП (являющейся неустойчивой) при добавочных диффузионных членах, соответствующих формуле ^add — 0.5С〃А%.
Решение Лакса — Вендроффа характеризуется первичной волной уменьшенной амплитуды, распространяющейся медлен
появлением вторичных волн в «спутном следе» первичной волны. Если начальное условие (9.23) представить в форме ряда Фурье, а индивидуальные слагаемые (моды) решения восстановить так, чтобы получить решение Лакса —Вендроффа при / = 8.0, то упомянутый «спутный след» соответствовал бы коротковолновым слагаемым, распространяющимся медленнее» чем основное слагаемое. Вол- новой пакет, следующий за основным решением, принято называть «дисперсионным следом». Эта дисперсия будет обсуждаться в § 9.2.
Можно отметить, что при С = 1.0 как схема с разностями против потока, так и схема Лакса — Вендроффа воспроизводят точное решение. В то же время неявные схемы, подобные конечно-разностной схеме Кранка — Николсона, этого не делают. Конечно-разностное решение Кранка — Николсона при / = 8.0 и С = 0.8 показано на рис. 9.4. Это решение содержит
первичную волну, распространяющуюся медленнее точного ре шения, а также существенный дисперсионный след.
Соответствующее конечно-элементное решение Кранка — Николсона несколько точнее, чем решение, показанное на рис. 9.4; его максимальная амплитуда несколько больше, а дисперсионный след—меньше. Однако при С = 0.8 и 〃 = 0.1 преобладающее влияние на ошибки оказывают члены, пропорциональные А/2. при С = 0.1 и при больших значениях и более важную роль начинают играть члены четвертого порядка по простран-
<тву и конечно-элементная схема Кранка — Николсона оказывается значительно точнее других схем.
Особенности течения, показанные на рис. 9.2—9.4, будут еще раз рассмотрены в конце § 9.2. Следует подчеркнуть, что .для лучшего выявления некоторых проблем расчета течений с преобладающим влиянием конвекции здесь были использованы сравнительно грубые сетки (Ах, Af), а также относительно «трудное» начальное условие. Однако остается в силе утверждение о том, что построение численных решений чисто диффузионного уравнения значительно проще, чем такого же уравнения с конвективным членом.
§ 9.2. Численная диссипация и дисперсия
Многие явления в гидродинамике описываются системами уравнений, которые обладают свойствами «гиперболичности», т. е. у них либо совсем отсутствуют диссипативные члены, либо они имеют малый порядок. Для решений таких уравнений характерным являются волновые пакеты, которые распространяются с постоянной либо слабо меняющейся амплитудой. Очень важно, чтобы численные схемы не вносили нефизическую диссипацию, как, например, при решении уравнения (9.10) (рис. 9.2). Важно также, чтобы численные схемы не влияли на скорость распространения волн, т. е. численные схемы не должны вносить искусственную дисперсию, приводящую к результатам, показанным на рис. 9.4.
(9.25)(9.25)Решение, описывающее бегущую плоскую волну с диссипацией и дисперсией, можно представить в виде
(9.25)
(9.25)
f=Re「ampC-P(向①师【“У {m}]',
q(m) — скорость распространенияq(m) — скорость распространениягде 7amp — вещественная положительная величина, т — волновое число, связанное с длиной волны 九 соотношением 九=2л/т. В выражении (9.25) величина р(/п) определяет скорость зату-
q(m) — скорость распространения
q(m) — скорость распространения
волны (9.25) описывается линей- то р(т) и q(m) принимают зна- т. е. волны любой длины распро*волны (9.25) описывается линей- то р(т) и q(m) принимают зна- т. е. волны любой длины распро*хания амплитуды волны, а волны.
волны (9.25) описывается линей- то р(т) и q(m) принимают зна- т. е. волны любой длины распро*
волны (9.25) описывается линей- то р(т) и q(m) принимают зна- т. е. волны любой длины распро*
Если движение плоской ным уравнением конвенции, чения р(пг) = 0 и g(m)=〃,
страняются с постоянной скоростью и не затухают.
Весьма поучительно рассмотреть два уравнения, которые близко связаны с уравнением конвекции (9.2), а именно
(9.26)(9.26)(9.27)(9.27)дТ . дТ 尹干
(9.26)
(9.26)
(9.27)
(9.27)
匹+ "匹
h+"前+0年=°・
Уравнение (9.26) представляет собой уравнение переноса, ко- торое будет рассматриваться в § 9.4, а уравнение (9.27) является линейным уравнением Кортевега де Вриза. Для плоских волн, описываемых уравнением (9.26), входящие в решение (9.25) параметры принимают вид
р (tn) = am2, q (т) = u, (9.28> т. е. затухание амплитуды волны определяется диффузионным членом, а скорость распространения постоянная. Так как m = 2冗/九,то короткие волны затухают быстрее, чем длинные. Для плоских волн, описываемых уравнением (9.27), имеем
р (т) = 0, g(m) = 〃一 0俏2, (9.29} т. е. амплитуда волны не меняется, а скорость ее распространения зависит от длины волны. Если имеются волны с разной длиной, то они распространяются с различными скоростями, т. е. диспергируют. Более значительным изменениям подвергается скорость распространения коротковолновых возмущений (большие т\. Так, если 0 положительна, то короткие волны движутся намного медленнее.
Формально теперь мы можем определить диссипацию как затухание амплитуды плоских волн, а дисперсию как распро- странение плоских волн различной длины с разными скоростями 9(т). Говоря о роли старших производных в уравнениях типа (9.26) и (9.27), можно связать положительную диссипацию с появлением пространственных производных четного порядка, умноженных на коэффициенты переменного знака. Аналогично уменьшение скорости распространения волны можно связать с появлением пространственных производных нечетного порядка, умноженных на коэффициенты переменного знака.
При исследовании пригодности (§ 4.2) дискретизированного уравнения, например (9.9), кажется, что разностный алгоритм такой, как (9.10), эквивалентен исходному уравнению в частных производных плюс ошибка аппроксимации на разностной сетке. Но ошибка аппроксимации обычно связана со старшими производными четного и нечетного порядков. Связь между диссипацией, дисперсией и старшими производными в ошибках аппроксимации будет обсуждаться в п. 9.2.2.
921. Разложение в ряд Фурье
Количественные оценки диссипации и дисперсии численной схемы, вносимые тем или иным вычислительным алгоритмом, могут быть получены путем разложения точного и численного решений в ряд Фурье. Так, для частного примера, рассмотрен-
ного в п. 9.1.5, фурье-разложение начального условия (9.23) имеет вид
Г(х, 0)= £ Т1・
/П=-оо
Используя метод разделения переменных (п. 2.5.2), точное решение в любой момент времени можно представить в виде ряда
£ Tmeim^~ut\(9.30)?
/П= — ОО
который восстанавливает точное решение (9.24). Фурье-компоненты в (9.30) имеют постоянную скорость и амплитуду, так как уравнение (9.2) не содержит диффузионных членов.
Аналогичным образом можно записать фурье-представление и для решения конечно-разностного алгоритма, например схемы против потока (9.10), в виде
7(%,f)= X 7/-"(向3优[%7的)".(9.31);
/П= — ОО
Поскольку рассматриваемое алгебраическое уравнение (9.10) является линейным, фурье-компоненты его решения могут рассматриваться независимо.
На одном шаге по времени Af волна, описываемая m-й компонентой приближенного решения, пройдет расстояние q(in)\t с уменьшением амплитуды, которое определяется множителем ехр [—p(m)\t]. В течение того же промежутка времени т-я волна пройдет расстояние 〃Af с постоянной скоростью. Если к вычислительному алгоритму предъявляется требование отсутствия искусственной вязкости или дисперсии, то должно быть р(т) = 0, a q(m)= и.
Выражения для р(т) и q(m) можно получить подстановкой (9.31) в (9.10) и вычислением отношения амплитуд т-н компоненты фурье-представления на одном шаге по времени, т. е.
Gm =Gm =Tme~p^m^t+^eim 1%—g (俏)(f+Af)】Tme~p^m^t+^eim 1%—g (俏)(f+Af)】tте一р(тнеtm[*一9(力)‘】tте一р(тнеtm[*一9(力)‘】—q- [p (m) + imq (m)] Af—q- [p (m) + imq (m)] Af(9.32)(9.32)
Gm =
Gm =
Tme~p^m^t+^eim 1%—g (俏)(f+Af)】
Tme~p^m^t+^eim 1%—g (俏)(f+Af)】
tте一р(тнеtm[*一9(力)‘】
tте一р(тнеtm[*一9(力)‘】
—q- [p (m) + imq (m)] Af
—q- [p (m) + imq (m)] Af
(9.32)
(9.32)
Подстановка в (9.10) дает отношение амплитуд
(9.33)(9.33)Gw = 1 + С [cos (mAx) — 1] — iC sin (mAx).
(9.33)
(9.33)
He удивительно, что оно в точности совпадает с выражением (табл. 9.1), полученным при оценке устойчивости по Нейману разностной схемы с разностями вверх по потоку (9.10).
Из соотношений (9.32) и (9.33) получаем
I Gk = e-pw)а/ = 1 — 4С(1 一 С) sin2(0.5mA%)・(9.34)
.Для устойчивого решения p(〃z)》O неустойчивость может быть связана с отрицательной диссипацией. Кроме того, выражение (9.34) может служить мерой диссипации алгоритма (9.10). Параметр диссипации р(т) зависит как от С, так и от множителя т\х, определяемого волновым числом. Коэффициент затухания будет наибольшим при т\х = л, т. е. для более коротких волн.
Скорость распространения волн q(m) связана с фазой 力巾 относительного затухания амплитуды Gm соотношением
加=-mq (m)削=arctg】工謙翡怨夕二耳‘(9.35)
где ^m — изменение фазы m-й волны на одном временном шаге. Для точного решения
Вех = —muNt = —Ст Ах.
Таким образом,
фщ — д(/п) — / —1 、( —С Sin (mA%)、 7Q одч
0ех^~ — ( Ст^х 丿 * ( 1 + С [cos (mAx) — 1] / (')
Скорость волны (или эквивалентное изменение фаз) разностного решения тем ближе к точному решению, чем меньше величина тДх, и ошибка растет при т^х -> л.
Если 0 < С < 0.5, то q (m) < и для больших т\х.
Если 0.5 < С < 1.0, то q(m)>〃 для больших тАх.
Различные разностные схемы, рассмотренные в § 9.1, приводят к различным выражениям в правой части (9.33), что в свою очередь приводит к различным значениям р(т) и q(m) в (9.32).
Вводя фурье-разложение для точного и приближенного решений и рассматривая относительное изменение параметров m-й гармоники, можно получить выражения для диссипации и дисперсии численной схемы для любого значения величины тАх. Мортон [Morton, 1971] использовал такой подход для численных схем, рассмотренных в § 9.1.
Наименьшая длина волн, которую может представлять разностное решение 九 = 2А% что равносильно тДх = л. Длинные волны соответствуют т\х -> 0. Если разностная схема вносит какую-либо диссипацию или дисперсию, то, как следует из (9.26) — (9.29), можно ожидать, что короткие волны будут иска- _жаться значительнее, чем длинные. С физической точки зрения
предпочтительней моделировать длинноволновые характеристики (малые /пА%) точно и проверять, чтобы любые искусственно вводимые коротковолновые характеристики затухали физически и численно. Такая стратегия совпадает с анализом, приведенным в п. 3.4.2.
2.2. Метод модифицированного уравнения
Как мы уже видели, диссипацию и дисперсию можно связать с наличием вторых и третьих пространственных производных, как это было в уравнениях (9.26) и (9.27). Это предполагает, что из анализа ошибки аппроксимации можно определить диссипативные и дисперсионные свойства частного^ вычислительного алгоритма. Однако ошибка аппроксимации должна интерпретироваться специальным образом.
Предположим, что £(Т)= 0 — дифференциальное уравнение, a La(T)= 0 — алгебраическое уравнение, например (9.9). Следовательно, в свете вышеприведенных рассуждений об ошибке аппроксимации Е; можно написать
厶(Г) = La^)-由①=0. (9.37卜
Откуда для ошибки аппроксимации получаем
書(7) = £(「) + £ (7) = 0, (9.38), где алгебраическое уравнение представлено в виде разложения приближенного решения в ряд Тейлора. Уравнение (9.38) преобразуется таким образом, чтобы выражение Е(Т) содержало^ только пространственные производные. С этой целью уравнение (9.38) неоднократно дифференцируется для исключения производных по /, а также смешанных производных. Это несколько другая ситуация, чем в уравнении (9.37), где ошибка аппроксимации может улучшаться преобразованием L(7)= 0.
Уравнение £(Т)+Е(7)=0 представляет собой дифференциальное уравнение с бесконечным числом членов. Оно называется модифицированным уравнением [Warming, Hyett, 1974],. решение которого будет строиться с помощью алгебраического уравнения при наличии соответствующих граничных условий.. Как и выше, это модифицированное уравнение можно использовать для демонстрации точности вычислительного алгоритма. В модифицированном уравнении производные нечетного порядка связаны с дисперсией, производные четного порядка — с диссипацией. Следовательно, рассматривая члены с производными наименьших четного и нечетного порядков в модифицированном уравнении, мы можем судить о диссипативных и.
дисперсионных свойствах алгебраической схемы, но только для больших длин волн. Это происходит в силу того, что модифицированное уравнение получено на основе разложения в ряд Тейлора, что предполагает малые значения А/ и А%. Однако, как отмечалось выше, именно длинноволновые характеристики представляют наибольший интерес.
С помощью модифицированного уравнения можно показать, что при использовании схемы Лакса — Вендроффа (9.16) для решения уравнения (9.2) главный член в ошибке аппроксимации имеет вид
(?Я 〃( 1 g 礬十(粤)1 g 醬・
Как отмечалось выше, схема Лакса — Вендроффа аппроксимирует (9.2) с точностью до О (А/2, Ах2). Из приведенного выше выражения для ошибки аппроксимации видно, что дисперсия имеет второй порядок, а диссипация — третий. Модифицированное уравнение было использовано при получении выражений для ошибки аппроксимации в табл. 7.1, 9.1 и 9.3, так что можно оценить диссипацию и дисперсию численной схемы, связанные с длинноволновыми возмущениями (малые тДх).
Анализ разностных схем с помощью модифицированного уравнения имеет еще и то преимущество, что он распространяется и на нелинейные уравнения, в то время как фурье- анализ (п. 9.2.1) применим только к линейным уравнениям. В работе [Klopfer, McRae, 1983] используется метод модифицированного уравнения для построения обобщенных схем Лакса — Вендроффа при исследовании одномерного нестационарного распространения ударных волн, описываемых уравнениями Эйлера (10.40).
При исследовании численных схем для уравнений гидродинамики (гл. 11) с помощью модифицированных уравнений требуется проведение существенных алгебраических преобразований. В этом случае формульные преобразования с помощью ЭВМ, например MACSYMA, могут оказаться очень эффективными. Возможность формульных преобразований в вычислительной гидродинамике обсуждается в работе [Steinberg, Roache, 1985].
.3. Использование разложений 6 ряды Фурье
Рассмотрение ошибок аппроксимации, приведенных в табл. 9.1 для разностной схемы со сдвигом против потока, схемы Лакса — Вендроффа и Кранка — Николсона в применении к примерам, рассмотренным в конце § 9.1, очень упрощается,
если обратиться к фурье-компонентам, входящим в решение. Результаты, указанные на рис. 9.2—9.4 и в табл. 9.1, показывают, что значительная диссипация численной схемы эффективно компенсирует малую дисперсию для разностной схемы против потока и ослабляет часть дисперсионной ошибки в решении Лакса — Вендроффа. В схеме Кранка — Николсона преобладают дисперсионные ошибки, которые приводят к значительному замедлению распространения каждой из фурье-гармоник. Хотя все схемы Кранка — Николсона устойчивы, с увеличением числа Куранта ошибка растет как С2 (табл. 9.1). Для малых С и, следовательно, малых А/ дисперсионная ошибка схемы Кранка — Николсона в конечных элементах (табл. 9.1) значительно меньше, чем у других схем, рассмотренных в § 9.1.
Использование разложений в ряды Фурье и модифицированных уравнений позволяет построить более точные численные схемы, уменьшающие ошибки диссипации и дисперсии. Это можно проиллюстрировать на методе Тейлора — Галёркина с конечными элементами [Donea, 1984]. Согласно этому методу, сначала проводятся дискретизация по времени, которая для уравнения (9.2) дает
T九+1 一 T九T九+1 一 T九А/А/. дТ 八+ "務". дТ 八+ "務"(9.39>(9.39>
T九+1 一 T九
T九+1 一 T九
А/
А/
. дТ 八+ "務"
. дТ 八+ "務"
(9.39>
(9.39>
Однако более точное слое можно записать вОднако более точное слое можно записать впредставление dT/dt на n-м временнбмг видепредставление dT/dt на n-м временнбмг виде
Однако более точное слое можно записать в
Однако более точное слое можно записать в
представление dT/dt на n-м временнбмг виде
представление dT/dt на n-м временнбмг виде
дТдТ=—一3「一半調”…=—一3「一半調”…
дТ
дТ
=—一3「一半調”…
=—一3「一半調”…
Из (9.2) имеем
d2f .,2 а?戸@з戸2 / дТ
Следовательно, более точная (чем (9.39)) полудискретизация уравнения (9.2) дается выражением
а2ДГ d2 1 Tn+i - Тп . дТ А д2Г сG
-戸」--a/Н " 我-°・5" Af 击=0.(9.40»
Использование сетки с постоянным шагом и метода Галёркина с конечными элементами и линейной интерполяцией (§ 5.4) приводит уравнение (9.40) к виду
[以一等a九;|(7产-Г;) + CNxL』;-0.5С2Дх2£ххГ- = 0,
(9.41>
которое является обобщением схемы Лакса — Вендроффа (9.16). Вид массового оператора М% = {千,告,春} вытекает из формулировки метода конечных элементов. Член (С2/б) Lxx(Г/+1 — Г/) возникает из-за сохранения дополнительных слагаемых в разложении производной дТ/дх в ряд Тейлора. Уравнение (9.41) содержит ошибку аппроксимации порядка О (А#, Ах3), что можно сравнить со вторым порядком точности схемы Лакса — Вендроффа (9.16). В работе [Donea, 1984] с помощью разложения в ряды Фурье исследованы дисперсия и диссипация схемы; найдено, что уравнение (9.41) превосходит схему Лакса — Вендроффа для всех длин волн и чисел Куранта в интервале О V С V 1.
Приведенная выше схема может быть обобщена введением дополнительных членов в рядах Тейлора для управления (анти-)диссипацией и (анти-)дисперсией. В работе [Baker, Kim, 1987] выведена такая общая схема и названа формулировкой Тейлора — Вика (ФТВ) метода Галёркина с конечными элементами. ФТВ-алгоритм содержит четыре произвольные постоянные. Специальный выбор этих постоянных дает 17 хорошо известных численных схем, сформулированных в методах конечных разностей и конечных элементов. Оптимальный выбор может быть сделан в принципе и для линейного уравнения конвекции (9.10). Однако для более общих гиперболических уравнений сохранения, например уравнений Эйлера (10.40), оптимальным будет решение, которое обладает хотя и желательной диссипацией, но и значительной дисперсией.
Мы можем сделать общий вывод о том, что следует избегать аппроксимационных формул первого порядка для производных. Аппроксимация первого порядка для п и производной в исходном уравнении будет порождать пространственные производные порядка (九 + 1) и выше в модифицированном уравнении (которое является эквивалентным решаемому исходному уравнению). Это особенно важно для конвективных членов (п = 1), так как введение фиктивных производных второго и третьего порядков может существенно изменить характер решения.
Стационарное уравнение с конвекцией и диффузией
Для многих задач обтекания диссипативные механизмы являются существенными только в узком слое, обычно вблизи границы обтекания. Численные решения, построенные на сетках, приспособленных к основному потоку, часто начинают осциллировать в пограничном слое, где точное решение претер-
певает резкое изменение. Стационарное уравнение конвенции —диффузии является полезным модельным уравнением, с помощью которого можно проиллюстрировать это явление.
Это уравнение в безразмерных переменных имеет вид df d2T сс
〃右(9・42>
Оно выражает стационарный баланс между конвекцией и диффузией. Время не играет никакой роли. Если к (9.42) добавить граничные условия
7(0) = 0 и Г(1)=1.0,(9.43>
то в интервале О W % W 1 точное решение можно представить в виде
Г = [е〃%/а — 1.0]/[е〃/а - 1.0].(9.44)
Это решение, приведенное на рис. 9.5, характеризуется постоян-
Рис. 9.5. Влияние числа Рейнольдса ячейки на решение уравнения конвек、 ции — диффузии.
ным распределением Т почти на всем интервале, кроме тонкого пограничного слоя в окрестности % = 1.
/. Влияние сеточного числа Рейнольдса
Если использовать трехточечные центральные разности для производных в (9.42), то получим следующий алгоритм:
一(1 + 0・5&е11) А」+ 2厶 一 (1 一 0.5Rceii) T/+i = 0, (9.45)
где Rceii = 〃А%/а, т. е. /?Сеп ——число Рейнольдса (строго говоря. Пекле), построенное на характерной длине ячейки А%.
Разложение уравнения (9.45) в ряд Тейлора около /-го узла показывает, что оно аппроксимирует уравнение (9.42) с точностью до О (Ах2). Разностная схема (9.45) является неявной, но если выписать уравнение для всех узлов, то получается система уравнений с трехдиагональной матрицей, для решения которой могут быть использованы экономичные способы (п. 6.2.2).
Для относительно простого случая точное решение (9.45) можно представить в виде
%=4。+ 8。[:謊:]%=4。+ 8。[:謊:](9.46)(9.46)
%=4。+ 8。[:謊:]
%=4。+ 8。[:謊:]
(9.46)
(9.46)
где До и Во выбираются таким образом, чтобы удовлетворялись граничные условия (9.43). Для случая 〃/а = 20 и Ах = 0.05, 0.1 и 0.02 решение (9.46) приведено на рис. 9.5. При Ах = 0.05, что эквивалентно /?Сеп = 1, решение довольно хорошо согласуется с точным. При Rceii = 2 (Ах = 0.1) решение совпадает с точным везде, кроме пограничного слоя в окрестности % = 1. Для более грубой сетки при /?Сеп = 4 решение не только является неточным, но и носит колебательный характер.
Из (9.46) видно, что колебательных решений не будет, если /?ceii W 2. Полезно также связать поведение решения, показанное на рис. 9.5, с собственными числами матрицы системы уравнений (9.45), записанных с граничными условиями (9.43). Эта система имеет вид
(9.47а)
т е.
а b са b с
а b с
а b с
(9.47b)
00
0
0
где а = —(1 + 0.5Rceii), b = 2 и с = —(1—0.5/?Ceii). Собственные числа вышеприведенной трехдиагональной матрицы связаны с а, b и с следующими соотношениями:
九 / = b + 2 (ас)"? cos (/ Л / = 1, 2, — 2. (9.48)
Видно, что для того, чтобы собственные числа были вещественными, необходимо удовлетворить условию ас》0:
(1 + 0.5/?се11)(1 — 0.5/?се11)>0 ИЛИ Rcell&2. (9.49)
Таким образом, появление осциллирующих решений связано с появлением комплексных собственных чисел.
Для матрицы А в (9.47а) общею вида ограничение на собственные числа 九 дается теоремой круга Гершгорина (см. [Jennings, 1977])
丨九一а» I & Z I aij
Таким образом, собственные числа матрицы А лежат в кругах, связанных с каждым рядом матрицы А. Центр каждого круга определяется диагональю с элементами а”, а радиус—суммой внедиагональных элементов каждого ряда. В работе [Carey, Sepehrnoori, 1980] применялась теорема круга Гершгорина для анализа уравнений вида (9.47а) при различных значениях Rceii・ В интервале 0 V Rceii W 2 центр круга Гершгорина лежит в точке {—2а/А%2, 0} комплексной плоскости, имеет радиус 2а/Ах2 и все собственные числа расположены на отрицательной части вещественной оси. С увеличением Rceii, т. е. с уменьшением а, радиус круга уменьшается, а центр перемещается к началу координат. При /?Сен = 2 центр круга расположен в точке (—〃/Ах, 0), радиус равен 〃/Ах = =2а/А%2. При Rceii > 2 радиус остается постоянным, но центр движется к началу координат и собственные значения являются комплексными. При /?Сеп = 8 центр круга совпадает с началом координат, а собственные значения становятся чисто мнимыми величинами.
Ограничение /?Ceii W В для получения неосциллирующих решений применимо и к другим методам, в частности к методу конечных элементов. В работе [Finlayoon, 1989] получено значение В для метода конечных элементов и метода ортогональной коллокации. Однако обычно В меньше 10.
Следует подчеркнуть, что осциллирующие решения могут появиться, если /?Сеп > В, а появятся ли они на самом деле, зависит от геометрии потока и граничных условий. Например, замедление потока перед препятствием часто порождает осциллирующее решение при Асей > В. Однако для равномерного или ускоряющегося потока можно построить неосциллирующее решение и при Rce】i > А _
Как и следовало ожидать, если для представления дТ/дх в (9.42) использовать не центральные разности, а разности против потока (Tj — Г/-1)/Ах, то осциллирующие решения не
возникают. Разностная схема со сдвигом против потока дает вместо (9.45) следующий алгоритм:
一(1 + Rceu)厶一1 + 2(1+ 0.5/?cei!)/ -Г/+1 = 0.(9.50)
Рис. 9.6. Решение уравнения конвекции — диффузии против потока.Рис. 9.6. Решение уравнения конвекции — диффузии против потока.Из (9.48) видно, что схема против потока имеет вещественные собственные числа при всех значениях /?Сен. Решение с использованием разностной схемы против потока для 〃/а = 20 и А% = 0.2 показано на рис. 9.6. Как и следовало ожидать, осцил-
Рис. 9.6. Решение уравнения конвекции — диффузии против потока.
Рис. 9.6. Решение уравнения конвекции — диффузии против потока.
по схеме с разностями
ляции в решении отсутствуют, но решение не является достаточно точным.
Разложение уравнения (9.50) в ряд Тейлора показывает, что оно аппроксимирует (9.42) только с точностью О (Дх). С точностью О(А%2) (9.50) аппроксимирует уравнение
〃"^а(1 + 0.5Rceii)^r = 0,(9.51>
т. e. использование разностей против потока приводит к появлению искусственной диффузии 0.5/?Сена, аналогично тому, как при использовании конечных разностей против потока для уравнения конвекции тоже возникала искусственная диффузия (см. (9.13)). Практически для получения достаточно точного решения из (9.51) вытекает ограничение 0.5 /?Ceii "С 1, которое является более жестким, чем (9.49).
Если при % = 1.0 вместо условия Дирихле поставить граничное условие Неймана, то характер решения существенно не изменится. Для больших значений 〃/а схема центральных разностей (9.45) приводит к решениям с еще большими осцилляциями, чем показанные на рис. 9.6.
9.32 Схемы с разностями против потокаповышенного порядка точности
Именно колебательный характер решений, получаемых при использовании трехточечных центральных разностей для представления dT/dx в (9.42), и диссипативная природа двухточечной схемы с разностью против потока (9.50) наводят на мысль, что для получения более точного решения необходимо использовать четырехточечное представление для dT/dx. При 〃>0 таким представлением может быть следующее:
靠 * 叫一2 + ЬТ^ + 叫 + Tj + 1・(9.52)
'Следуя процедуре п. 3.2.2, получаем следующую схему:
黑=丄尹 +也三3上3 +。(",М3)
Для отрицательных значений и соотношение (9.53) заменяется яа
* -乙+1 - 厶-1 I 9(7/-1 -3力 + 37什[-力+2)2)
Уравнение (9.53) умышленно записано в виде модификации трехточечной схемы центральных разностей. Параметр q определяет степень модификации.
Разложение в ряд Тейлора около /-го узла дает
7/_2 — 37/_i + 37\・一Т/ + 1 = [—А%з^^ + 0.5Дх4^^ + • • •]•
Таким образом, модификация может быть использована для нейтрализации отдельных членов разложения в ряд Тейлора для полного уравнения. В частности, при выборе q = 0.5 исключается член Ax2d3T/dx3 и схема (9.53) становится схемой порядка О (Ах3). В свете сказанного выше о связи раскачки решения с дисперсией и производными четного порядка можно ожидать, что использование (9.53) с q = 0.5 и вместе с соответствующей дискретизацией для Z2T/d%2 приведет к более точному решению с меньшей раскачкой, чем (9.45).
Использование формулы (9.53) при дискретизации (9.42) приводит к следующему неявному алгоритму:
等 RcellT/-2 — U + (g + 0.5) Rcell]「/_[ + (2 + qRcell)「/ —
—[1 + (告一0.5)Rc&i]Tf+[ = 0,(9.54)
который сводится к (9.45) при g = 0. Структура (9.54) приводит к решению более сложной четырехдиагональной матрицы.
Для этой цели эффективным является использование обобщенного алгоритма Томаса (п. 6.2.4) с / = 0. Требующиеся для этого дополнения к подпрограммам BANFAC (рис. 6.18) и BANSOL (рис. 6.19) указаны на распечатках программ рис. 9.8 в строках 126—133.
Численное решение уравнения (9.54) с граничными уело- виями (9.43) можно сопоставить с точным решением, данным формулой (9.44). Типичные результаты, полученные на грубой сетке с Дх = 0.2, /?сеп = 4, для различных значений q приведены в табл. 9.2. Случай g = 0 совпадает с решением по трехточечной схеме центральных разностей (9.43), которая приводит к осциллирующему решению, изображенному на рис. 9.5 и 9.6.
Таблица 9.2. Решение уравнений (9.42), (9.43) с использованием (9.54) и грубой сетки
0.0
0.2
0.4
0.6
0.8
1.0
Точное решение
0.0
0.0000
0.0000
0.0003
0.0018
1.0000
g
=0
0.0
0.0164
—0.0328
0.1148
-0.3279
1.0000
g
=0.5
0.0
0.0000
-0.0003
0.0058
-0.0760
1.0000
g
=1.0
0.0
0.0000
0.0002
0.0036
0.0597
1.0000
g
=1.5
0.0
0.0004
0.0032
0.0222
0.1491
1.0000
Случай q = 0.5 приводит к значительно более точному решению, хотя все еще слегка осциллирующему. Видно, что с увеличением q решение становится более гладким, но с увеличением диффузии, подобно решению, полученному по двухточечной схеме против потока (9.50), показанному на рис. 9.6. На мелкой сетке при q = 0.5 получаются наиболее точные решения (не показаны).
Эквивалентное дифференциальное уравнение, в действительности решаемое по схеме (9.54), можно получить разложением в ряд Тейлора в окрестности узла /. В результате 空—上立£色
dx &ell d%2 十 H6d%3 十
+ (吁焉)箒誓+(一。9)覆祭…=。・(9.55)
Для практических задач, для которых типичны малые значения а/〃, величина /?Сен имеет порядок 0(1) или больше. Это
означает, что формальная ошибка аппроксимации, вносимая представлением (9.42) для производных, может различным образом влиять на точность решения уравнения (9.54). Так, при ? #= 0.5 третий член в (9.55), по-видимому, будет оказывать наибольшее влияние на точность решения. Отсюда следует, что для задач с малым коэффициентом диффузии а конвективные члены, подобные udT/dx в (9.42), должны аппроксимироваться более точно, чем диффузионные.
Результаты, приведенные в табл. 9.2, согласуются с (9.55). Видно, что увеличение q ведет к положительной диссипации. Однако следует помнить (§ 9.2), что разложение (9.55) является более подходящим для описания длинноволновых возмущений. Из разложения (9.55) следует, что при q = 0.5 и Reel;= =1.0 разностная схема (9.54) формально является схемой четвертого порядка. Однако для нелинейных задач конвекции Rceii будет зависеть от локального решения, так что точности четвертого порядка невозможно достигнуть во всей вычислительной области. Частный случай q = 0.375 был рассмотрен в работе [Leonard, 1979] в связи с двумерной задачей, описанной в п. 17.1.5.
Из анализа, приведенного в § 9.2 и 9.3, следует, что пространственные производные нечетного порядка, входящие в ошибки аппроксимации, связываются с колебанием решения, а производные четного — с диссипацией или неограниченным ростом в зависимости от знака стоящего перед производной множителя. Тенденция вызвать колебания без потери амплитуды будет относиться к явлению типа дисперсии, хотя понятие дисперсии, строго говоря, имеет смысл только для нестационарных течений. Если данное стационарное течение рассматривать как предел нестационарного (со стационарными граничными условиями) на очень большом интервале времени, любые колебания типа дисперсии можно считать происходящими из-за баланса между влиянием дисперсии и наложением граничных условий.
Одномерное уравнение переноса
Одномерное уравнение переноса может быть записано в виде
дТ , дТ д2Т 八 с飞T +〃击-a丽=°, (9砌
где Т — пассивная скалярная величина (например, температура), подверженная конвекции с постоянной скоростью 〃(%,£) и диффузии (рис. 1.7). Если Т — температура, то а — коэффициент
25 К. Флетчер, т. 1
термодиффузии. Для анализа численного решения уравнения (9.56) будем предполагать, что и и а — постоянные величины. Как и уравнение диффузии (гл. 7), уравнение переноса является строго параболическим (§ 2.3) и для него требуются граничные и начальные условия того же типа, например (7.2)——(7.4), как и для уравнения диффузии.
Однако при больших значениях 〃/а можно ожидать, что в уравнении (9.56) будут преобладать первые два члена. Тогда уравнение переноса будет проявлять свойства, аналогичные уравнению конвекции (9.2). Следует напомнить, что точные решения уравнения конвекции обычно имеют вид бегущей незатухающей волны (без уменьшения амплитуды). Следовательно, при больших значениях и/a можно ожидать, что решения уравнения переноса (9.56) будут иметь вид волны со слабым затуханием.
На основе анализа уравнения конвекции с диффузией, которое является предельным для уравнения переноса, можно также ожидать, что в приближенных решениях уравнения (9.56) появятся пространственные волны, если будут использованы симметричные трехточечные алгебраические представления для конвективного члена при больших 〃/а.
В этом параграфе мы рассмотрим алгебраические схемы (ВВЦП, Дюфорта — Франкела и т. д.), исследованные ранее для уравнений диффузии и конвекции (§ 9.1), для того, чтобы понять, вносит ли какие-либо новые трудности в численную схему одновременное включение диффузии и конвекции в уравнение.
/. Явные схемы
О, (9.57)(9.58) па (/, п)О, (9.57)(9.58) па (/, п)Применение схемы ВВЦП для аппроксимации (9.56) приводит к алгебраическому уравнению
О, (9.57)
(9.58) па (/, п)
О, (9.57)
(9.58) па (/, п)
邛+1 —畔上〃(加一%) a(77.1 — 277 + 77+1)二 А? * 2АхДх2—
которое приводит к вычислительному алгоритму вида
7;+i = (s + 0.5С) Г/_1 + (1 — 2s) Г; + (s — 0.5С)「沁,
где s = аА〃А%2 и С =必〃А%.
Из разложения в ряд Тейлора в окрестности
следует, что схема (9.58) аппроксимирует уравнение (9.56) с погрешностью порядка O(Af, Дх2). Если алгоритм (9.58) рассматривать с точностью до членов порядка О (А/2, Дх2), то он
аппроксимирует уравнение
дТ . дТ д2Т . А/ д2Г с
т. е. в уравнение в частных производных, которое аппроксимируется алгоритмом (9.59), включается дополнительный член, интерпретируемый выше как главный член ошибки аппроксимации. Следуя методу модифицированных уравнений (§ 9.2), вторую производную по времени можно исключить, заменив ее производными по пространству, что дает
+ (О.бс^-а庐\* + о.25〃4А/з_а 筈+ 〃2 弊珞)簪=o,(9 б。)
где а' = а2А//2. Таким образом, видно, что использование разностной схемы первого порядка точности по времени вносит в уравнение переноса диссипацию и дисперсию первого порядка. Для больших значений 〃/а член искусственной диффузии afd2T/dx2 может оказаться сравнимым с физической диффузией, если не ограничить величину ДЛ Если величина д4Т/дх4 не является слишком большой, то маловероятно, что последний член в (9.60) будет существенным. Следовательно, ограничение на шаг по времени А/ дает
А/《醬 ИЛИ。2《2s ИЛИ Rcell (=-^*)《"I" •(9.61)
Ясно, что имеется веская причина использовать схему второго порядка точности по времени при решении уравнения переноса.
Напомним, что схема с разностями вперед по времени и центральными по пространству приводит к алгоритму, который условно устойчив для уравнения диффузии и всегда неустойчив для уравнения конвекции. В табл. 9.3 приведен коэффициент усиления G для уравнения переноса, полученный на основе анализа устойчивости схемы по Нейману. Для устойчивых решений |G|WL что приводит к следующим ограничениям:
0<C2<2s<l.(9.62)
Соотношение (9.62) включает в себя «диффузионный» предел (п. 7.1.1). Строго говоря, ограничение (9.62) допускает решения, для которых Rceii = 〃△工/а = C/s > 2.0, т. е. можно ожидать появления осциллирующих решений. Из (9.61) также следует, что такие решения будут недостаточно точными.
388 Гл. 9. Линейные задачи с преобладающим влиянием конвекции
Таблица 9.3. Алгебраические схемы (дискретизация)
Схема
Алгебраическая форма
Ошибка аппроксимации Е ♦ (главные члены)
ввцп
А ТЛ4-1
Z ■ + 〃厶7; — а厶J; = о
e〃(萼)需一
—[Са Ax — 〃 (^") X Х(1+2С2)]筹
Вверх по потоку
A7;+l(7;-%)
At 1 "Дх
一吗"片0
i (等)("e)粤一 _[caA—"(等)X X(1—3C +2c2)]霊
Дюфорт — Франкел
(Т 尸—т 尸)/2А,+%т7-
-备{Т;т-(77Т +
+ 邛+1)+ *]} = 0
心器+ (1-0)X
лзт
X[〃A^/6-2a2C2/〃]fF
Лакс — Вендрофф
丄
aT产"
-а*37 = 0:
где а* — а + 0.5〃С Ах
一 [Ca^x-u (Ax2/6) (1 -C2)]X
X詁+Q2/"。%/2)一
—a A%2/i2 — uC (Ax3/8) X
Л4Т
X(f*
Кранк — Николсон
〃(A%2/6)(i+o.5C2)誥一
A, 1 {〃厶aL%%} X
x{^^}=o
— a(A%2/i2)(l + 3C2)黑
для уравнения переноса dT/dt + идТ/дх — ад^Т/дх2 = О
Коэффициент затухания G (0=/пя Ах)
Условие устойчивости
Замечание
1 — 2s (1 — cos 0) — /С sin 0
0 < С2 < 2s < 1
Rcell《2/C для точности
1 — (2s + C) (1 — cos 0) — /С sin 8
С + 2s & 1
Rcell《2/(1-C) для точности
В ± [¥-8s(l +2s)p/2 (2 +4s)'
где В = 1 + 4s cos 9 — /2С sin 0
C《1
C2《l для точности
1 — 2s* (1= cos 0) — iC sin 8, где s* = а* Д//Лх2
0<C2<2s*<l
&е11 & 2, чтобы избежать пространственных осцилляций
1 — s (1 — cos 8) — 20.5c sin 8
1 + s (1 — cos 0) + /0 5C sin 9
Нет
RceII《2, чтобы избежать пространственных осцилляций
Схема
Алгебраическая форма
Ошибка аппроксимации E ♦ (главные члены)
3-слойная ЧИСТО ' неявная
1
3 АТ;+11 АТ;
2 А/2 Af 1
+ {〃J — a%}「产=0
〃(A%2/6)(i+2C2)_gl-
-a(A#/i2)(l + 12C2)爵
Линейная мкэ Кранк — Николсон
ГП
M% —^h uLx X
义{22孚 _a^{27jyr }=o
"C2。炉/12)務 +
+a0炉/12)(1-3С2)計
• Алгебраическая схема эквивалентна уравнению GT I Gt + и дТ IG* — aG?T I Ок? + Rcell =C/s=〃 A%/a.
Если для представления (9.56) использовать, как в схеме Ричардсона (7.8), центральные разности по времени вместе с центральными разностями по пространству, то полученный в результате алгоритм будет безусловно неустойчив, если не потребовать s = 0, что приведет к схеме «чехарда» (9.15) для уравнения конвекции (9.2).
Схема Дюфорта — Франкела для уравнения переноса имеет- вид
T产-T『一人加一心
2А/ 十〃 荻
a 储т —⑺;产产)+ Gi] J。.(9.63»
Анализ устойчивости по Нейману показывает, что если число Куранта С W 1, то не требуется ограничения на s. Из разложения в ряд Тейлора в окрестности узла (/, п) следует,, что в противоположность уравнению диффузии для аппрокси-
Таблица 9.3 (продолжение)
Коэффициент затухания G (0 = тл\х)
Условие устойчивости
Замечание
1 ± $ "3 + 16s (1 - cos 0) + i8c sin 0]1/2
Нет
Kell & 2, чтобы избежать пространственных осцилляций
2 (1 + 告[2s (1 — cos 0) + /С sin 0])
2 + 3 cos 8 — 3s (1 — cos 8) — il.5c sin 8
Нет
Kell《2, чтобы избежать пространственных осцилляций
2 + 3 cos 8 + 3s (1 — cos 0) + Z1.5C sin 9
歯(Т)аО,£%=出{一1, 0, 1},厶%% =出{1, 2, 1},М%={春,-|, ±}・C=u A〃A%,s=a А〃А炉,
мации схемы (9.63) уравнением (9.56) необходимо потребовать Af W А% ©》1 в табл. 9.3), а это очень строгое ограничение.
Если для представления дТ/дх использовать центральные разности вместо разностей против потока, то для положительных и получим алгоритм
Г/+1 = (s + С)Г/_1 + (1 — 2s - С) 7; + s?7+i・(9.64)
Разложение в ряд Тейлора показывает, что (9.64) аппроксимирует уравнение (9.56) с точностью О(Д^, Ах). Из выражения для ошибки аппроксимации для схемы с разностями против потока, приведенной в табл. 9.3, следует, что она вносит искусственную диффузию с коэффициентом 优=0.5必工(1 — С).
Такой же член возникает и для уравнения конвекции (табл. 9.1). Для получения точных решений уравнения переноса с помощью схемы с разностями против потока необходи; :мо потребовать, чтобы
2 优《а ИЛИ Rcell《1二彳•
Анализ устойчивости схемы (9.64) по Нейману дает коэффициент усиления G, который приведен в табл. 9.3. Необходимое условие устойчивости |G| & 1 приводит к требованию
2s + C《l,(9・65>
что эквивалентно неравенству
Мб»
которое является значительно более строгим ограничением, чем/ для уравнения диффузии (табл. 7.1).
В большинстве рассматриваемых до сих пор схем ограничения были связаны с тем, что необходимо получить достаточно точные решения, используя для производных аппроксимацион< ные формулы первого порядка точности. Схема Лакса — Вендроффа (9.16) обладает вторым порядком точности как по временной переменной, так и по пространственной. Для уравнения: переноса (9.56) схема Лакса — Вендроффа может быть интерпретирована как схема ВВЦП с модифицированной диффузией а* = а (1 + 0.5С/?Се11). При /?Ceii f оо ошибки аппроксимации^ и условия устойчивости вновь возвращаются к указанным в; табл. 9.1.
9.42 Неявные схемы
Использование неявных схем для уравнения диффузии более эффективно, поскольку для них не требуется выполнения' условия устойчивости s W 0.5. Наиболее эффективная одномерная двухслойная схема для уравнения диффузии, схема Кранка—Николсона, здесь будет рассмотрена в применении к уравнению переноса. Строго говоря, данную схему следует описывать как трапецоидальную схему, поскольку первоначальная^ схема Кранка — Николсона была развита для уравнения диффузии. Однако названия — схема Кранка — Николсона и двухслойная —будут применяться время от времени к любой двухслойной схеме, в которой пространственные производные вычисляются симметрично относительно слоя (〃+ 1/2) по времени..
Для уравнения переноса использование схемы Кранка — Николсона дает разностное представление
一 0.5a( % -節 + % + 咽二零土理)=0, (9.67方
которое можно переписать в виде алгоритма
—(s + 0.5С) Т;寸 + 2 (1 + s) Т^ - (s - 0.5С) Т抹;=
= (s + 0.5С)Г/_1 + 2(1 -s)?/+(s-0.5С) 丁九.(9.68)
Почленное разложение (9.68) в ряд Тейлора в окрестности узла (/, п) показывает, что этот алгоритм аппроксимирует уравнение (9.56) с погрешностью порядка О (А/2, Ах2). Таким образом, проблема искусственной диффузии, возникающая в схемах первого порядка, здесь отсутствует.
Анализ устойчивости алгоритма (9.68) по Нейману дает для .коэффициента усиления G приведенные в табл. 9.3 выражения, из которых видно, что они не накладывают никаких ограничений на критерий устойчивости для С или s. Но для отсутствия осцилляций решения по пространству требуется удовлетворить неравенство /?Сеп W 2.
Для длинноволновых компонент (малые ^Ах) решения о свойствах диссипации и дисперсии вычислительных алгоритмов для уравнения переноса можно судить, исходя из выражений для ошибки аппроксимации, приведенных в табл. 9.3. Юбычно неявные схемы в этом смысле являются удовлетворительными. Физическая диссипация в системе приводит к уменьшению больших дисперсионных ошибок, связанных с коротковолновыми возмущениями (тпАх->л), возникающими в решении уравнения конвекции. В частности, конечно-элементная •схема Кранка — Николсона, приведенная в табл. 9.3, обладает малыми ошибками, связанными с дисперсией и диссипацией, :при малых значениях С. Для получения информации о коротковолновых компонентах решения необходимо провести фурье- анализ схемы (п. 9.2.1). Это будет применено к задаче о кон。 ъекции температурного фронта в следующем пункте.
9.4.3. TRAN: конвекция температурного фронта
Рассмотрим некоторые из описанных в п. 9.4.1 и 9.4.2 схем применительно к задаче о конвекции со скоростью и температурного фронта в жидкости с коэффициентом термодиффузии а. Для больших значений числа Рейнольдса ячейки (строго говоря, числа Пекле), Rceii = 〃А%/а, ширина фронта ограничена несколькими шагами по пространству (рис. 9.11) и все схемы, -описанные в п. 9.4.1 и 9.4.2, порождают осциллирующие решения, в основном обусловленные дисперсионными ошибками ©семи (§ 9.2).
Попытаемся построить две новые схемы, которые будут обладать намного лучшими дисперсионными характеристиками.
Обе схемы основаны на разностных формулах Кранка — Николсона для производной по времени. Первая схема представляет собой обобщение схемы Кранка — Николсона (9.20) ь массовым оператором, которая применялась для линейного уравнения конвекции (п. 9.1.5). В случае одномерного уравнения переноса она дает
Мх ( О) + (〃厶 一 а%» 0.5(7? + ГГ1) = 0, (9.69>
где Мх = {6, (1—26), 6}, a Lxx — условное обозначение для трехточечных формул с центральными разностями. Параметр 6 будем выбирать таким образом, чтобы уменьшить дисперсионные ошибки схемы. Очевидно, что схема (9.69) приводит к трехдиагональной системе уравнений, которая может быть решена с использованием эффективных методов. Анализ устойчивости, по Нейману показывает, что схема (9.69) устойчива при.
б < 0.25..
Что касается длинноволновых характеристик схемы, то, используя метод модифицированных уравнений (п. 9.2.2), видим,, что система (9.69) эквивалентна следующему уравнению:
дТ . дТ 巒「/ 1c2、дзТ
—必*2(击 + ^—• • • = o- (9.70>
Формально схема (9.69) является схемой второго порядка точности. Очевидно, что выбором 6 = 1/6 + С2/12 можно подавить младший член с дисперсией в ошибке аппроксимации. Если尸 кроме того, С2 V 0.5, то младший диссипативный член будет вносить положительную диссипацию в ошибку аппроксимации^ Однако при оптимальном выборе 6 для устойчивости схемы требуется, чтобы С & 1.0.
Альтернативным средством для улучшения дисперсионных свойств схемы является использование четырехточечной схемы Кранка — Николсона с разностями против потока
R/ 7 + (〃七目一。厶1 0.5 ⑺ + ГГ1) = 0,(9.71>
где при 〃》0
或7 = 0.5或7 = 0.5(〃+1 —Tj i) g(T/2 - 3〃1 + 3〃 一「“ОАх *ЗАх
或7 = 0.5
或7 = 0.5
Соотношение (9.72) представляет собой четырехточечный конвективный оператор, введенный в связи с рассмотрением стационарного уравнения диффузии — конвекции в п. 9.3.2.
Подстановка (9.72) в (9.71) приводит к четырехдиагональной системе уравнений, которая должна решаться на каждом шаге по времени. Для этого требуется использовать обобщенный алгоритм Томаса (п. 6.2.4). В программе TRAN обобщение алгоритма Томаса достигается за счет дополнительной прямой прогонки (строки 126—133), сводящей систему к трехдиагональной форме. В данном случае обобщенный алгоритм Томаса требует выполнения почти на 80 % операций больше, чем ♦обычный алгоритм Томаса. Схема (9.71), (9.72) устойчива при q ^ —3/Rceii・ Практически это условие не является ограничением, поскольку обычно интерес представляют только положительные значения q.
Эквивалентное уравнению (9.71) модифицированное уравнение (п. 9.2.2) имеет вид
u a dx2十I 6 十12丿0炉
(9.73)(9.73)A炉丄 C2y4T
(9.73)
(9.73)
-12— + 丁丿苏+…=°•
В (9.73) uAx3//?ceii = aA炉.Видно, что для потоков с /?Сен》1 гчлен с дисперсией дает наибольший вклад в ошибку аппрокси-
Т
1.0
]I
-2.00-02,0
季нс. 9.7. Начальные условия в задаче о распространении температурногофронта.
мации. Этот член можно исключить выбором g = 0.5 + 0.25С2. При таком выборе q и больших значениях Rceii диссипативный член имеет наименьший порядок и вносит положительную диссипацию.
Приведенные выше схемы (9.69) и (9.71), а также схемы, рассмотренные в п. 9.4.1 и 9.4.2, были использованы для решения задачи о распространении фронта температуры, иллюстрируемой на рис. 9.7. При / = 0 задан скачок температуры в точке % = 0. В последующие моменты времени фронт движется со скоростью и вправо и его профиль размывается под действием термодиффузии с коэффициентом а. Следовательно, в
с с с с с с с 12345678901234567890123456789012345678901234567890123 11111111112222222222333333333344444444445555с с с с с с с 12345678901234567890123456789012345678901234567890123 11111111112222222222333333333344444444445555TRAN SOLVES THE LINEAR TRANSPORT EQUATION USING VARIOUS EXPLICIT AND IMPLICIT SCHEMES
с с с с с с с 12345678901234567890123456789012345678901234567890123 11111111112222222222333333333344444444445555
с с с с с с с 12345678901234567890123456789012345678901234567890123 11111111112222222222333333333344444444445555
DIMENSION R(65),T(65),TD(65),TEX(65),A(5,65) 1,D(4),X(65)
OPEN(1,FILE=・ TRAN•DAT') OPEN(6,FILE='TRAN.OUT') READ(1,1)ME,JMAX,NTIM,NEX,JPR,LN READ(1,2)C,U,S,Q,EM
1 FORMAT(615)
2 FORMAT(2F5.2,3E10.3)
IF(JPR ・EQ・ 1)NRITE(6,3) IF(JPR .EQ. 2)WRITE(6,4)
FORMAT(' PROPAGATING SINE-WAVE*)
FORMATS PROPAGATING TEMP-FRONT*) JMAF = JMAX - 2 JMAP = JMAX - 1 AMP = JMAP DX = 1.0/AMP IF(JPR ・EQ・ 2)DX = 4./АИР DT = JDX/U EL « LN ALPH = S*DX*DX/DT
IF(ALPH .LT..1.0E-10)ALPH 工 1.0E-10 RCEL = U*DX/ALPH 02 = Q*C/3.
IF(ME .LT. 3)QQ = 0.
HQ = 0 IF(ABS(QQ) ・GT・ 0.000DMQ = 1 ATIM = NTIM TIM = 0. TIMAX = DT»ATIM PI = 3.141592654
IF(ME .EQ. 1)VRITE(6,5)ME IF(ME ・EQ・ 2)VRITE(6,6)ME IF(ME .EQ. 3)WRITE(6,7)ME IF(ME .EQ. 4)WRITE(6,8)ME
5FORMAT('ME =',12,'FTCS DIFFERENCING*)6FORMAT('ME =112/LAX-VENDROFF*)7FORMAT СME =',12」EXPLICIT 4PT UPWIND'}8FORMATS ME =' Д2,' URITE(6,9)JMAX,NTIM,GENERAL CRANK-NICOLSON *) ,C,U,DX,DT1 NTIM=',I3,' C=',F5・2J9FORMAT('JMAX=‘,13 J5FORMAT('ME =',12,'FTCS DIFFERENCING*)6FORMAT('ME =112/LAX-VENDROFF*)7FORMAT СME =',12」EXPLICIT 4PT UPWIND'}8FORMATS ME =' Д2,' URITE(6,9)JMAX,NTIM,GENERAL CRANK-NICOLSON *) ,C,U,DX,DT1 NTIM=',I3,' C=',F5・2J9FORMAT('JMAX=‘,13 J1* DX=',F5.3,' DT=',F5.3)
5
FORMAT('
ME =',12,'
FTCS DIFFERENCING*)
6
FORMAT('
ME =112/
LAX-VENDROFF*)
7
FORMAT С
ME =',12」
EXPLICIT 4PT UPWIND'}
8
FORMATS ME =' Д2,' URITE(6,9)JMAX,NTIM,
GENERAL CRANK-NICOLSON *) ,C,U,DX,DT
1 NTIM=',I3,' C=',F5・2J
9
FORMAT('
JMAX=‘,13 J
5
FORMAT('
ME =',12,'
FTCS DIFFERENCING*)
6
FORMAT('
ME =112/
LAX-VENDROFF*)
7
FORMAT С
ME =',12」
EXPLICIT 4PT UPWIND'}
8
FORMATS ME =' Д2,' URITE(6,9)JMAX,NTIM,
GENERAL CRANK-NICOLSON *) ,C,U,DX,DT
1 NTIM=',I3,' C=',F5・2J
9
FORMAT('
JMAX=‘,13 J
WRITE(6,10)S,ALPH,RCEL,Q,QQ
URITE(6,11)NEX,LN,EM
10 FORMATS S=',F5.2,' ALPH=',E10.3, ' RCEL=,F6・3.
1* Q=',F5.2,' QQ=',F6.3)
11 FORMAT ('• NEX= 115」EL=',I5J EM=\E10.3)
54 55
56 57
58 59
60 61 62 63
64 65
66 67
68 69 7P 71
72 73
74 75
76 77 78 79
80 81 82 83
84 85
86 87
88 89
90 91 92 93
94 95
96 97
98 99 100 101 102 103 104
IF(ME .GT. 3)GOTO 12 ss = s
IF(ME .EQ. 2)SS = S + 0.5*C*C
AA = (0.5*C + SS) + 3.*g
BB = 1. - 2・*SS - 3・*QQ
CC = -0.5*C + SS + QQ
GOTO 13
AA = EM - 0.25*C - 0.5*S - 1.5*QQ
BB » 1.0 - 2.0*EM + S + 1.5*QQ
CC = EM + 0.25*C - 0.5*S - 0.5*QQ
AE = EM +0.25*C + 1.5*QQ + 0.5*S
BE « 1. - 2.*EM - 1.5*QQ - S
CE = EM - 0.25*C + 0.5*QQ + 0.5*S
URITE(6,14)AA,BBrCCrAE,BE,CE
FORMAT (' AA=',F8.5,‘ BB=',F8・5J CC=',F8・5J AE=',F8・5」BE= 1F8.5,' CE=',F8・5,/)
C
C INITIALISE T AND EVALUATE TEX C
CALL EXSOL(JPR,JMAX,X,T,TEX,NEX,DX,U,ALPH,TIMAX,EL)
C
DO 16 J = 1,JMAX
DO 15 К = 1,5
A(K,J) = 0.
CONTINUE VRITE(6,17)TIM
FORMAT(' INITIAL SOLUTION, TIM =\F5・3)
WRITE(6,18)(X(J)川=1,JMAX)
VRITE(6,19)(T(J),J=1,JMAX)
FORMAT (*X=112F6.3)
FORMAT(*T=',12F6.3)
C
C MARCH SOLUTION IN TIME
C
DO 26 N = 1,NTIM IF(ME .GT. 3JG0T0 21
C C EXPLICIT SCHEMES
C
D ⑴=T(l)
D(2) = T(l)
D(3) = T(2) DO 20 J = 2,JMAP IF(ME .EQ. 3)D(4) = D(l) D(l) = D(2) D(2) = D(3) D(3) = T(J+1)
T(J) = AA*D(1) + BB*D(2) + CC*D(3)
IF(ME .EQ. 3)T(J) = T(J) - QQ*D(4)
CONTINUE GOTO 26
Рис. 9.8 (продолжение).
105
С
106
С
TRIDIAGONAL SYSTEM FOR IMPLICIT SCHEMES
107
С
108
21
IF(MQ .EQ. 1)DIM = 1.
109
DO 22 J = 2,JMAP
110
,小=J - 1
111
A(l,JM) = 0.5*QQ
112
A(2,JM) = A久
113
A(3,JH) = BB
114
A(4,JM) = CC
115
R(JM) = AE*T(JM) + BE*T(J) + CE*T(J+1)
116
IF(MQ .EQ. 1 .AND. J .GT. 2)DIM = T(JM-l)
117
IF(EQ .EQ. l)R(JM) = R(JM) - 0.5*QQ*DIM
118
22
CONTINUE
119
Rd) = R(l) - A(2,1)*T⑴
120
IF(MQ .EQ. 0)GOTO 24
121
R(l) = Rd) - A(1,1)*T(1)
122
R(2) = R(2) - A(1,2)*T(1)
123
с
124
с
REDUCE A TO TRIDIAGONAL FORM
125
с
126
DO 23 JM = 3,JMAF
127
JMM = JM - 1
128
DUM = A(1,JM)/A(2,JMM)
129
A(2,JM) = A(2,JH) - A(3,JMM)*DUM
130
A(3,JM) = A(3,JM) - A(4,JMM)*DUM
131
A(1,JM) = 0.
132
R(JM) = R(JM) - R(JMM)*DUM
133
23
CONTINUE
134
A(1 J) = 0.
135
A(l,2) = 0.
136
24
A(2,l) = 0.
137
A(4,JMAF) = 0.
138
с
139
CALL BANFAC(A,JMAF,1)
140
CALL BANSOL(R,TD,A,JMAF,1)
141
с
142
DO 25 J = 2,JMAP
143
25
T(J) = TD(J-l)
144
26
CONTINUE
145
с
146
WRITE(6,27)TIMAX
147
27
FORMAT С FINAL SOLUTION,TIM =',F5・3)
148
WRITE(6,18) (X(J) , J=l, JMW
149
URITE(6,19)(T(J),J=1,JMAX)
150
URITE(6r28)(TEX(J),J=1,JMAX)
151
28
FORMAT(' TEX=‘,12F6.3)
152
SUM = 0.
153
DO 29 J = 2,JMAP
154
29
SUM = SUM + (T(J) - TEX(J))**2
155
RMS = SQRT(SUM/(AMP-1.))
156
VRITE(6,30)RMS
157
30
FORMAT(* RMS ERR=',E12.5)
158
STOP
159
END
1
SUBROUTINE EXSOL(JPR,JMAX,X,T,ТЕХ,NEX,DX,U,ALPH,TIMAX,EL)
2 С
3 С
SETS THE INITIAL T SOLUTION AND FINAL EXACT (TEX) SOLUTIOK
4 С
5
DIMENSION T(65),TEX(65),X(65)
6
JMAP = JMAX - 1
7
PI = 3.141592654
8
IF(JPR .EQ. 1)XST = 0.
9
IF(JPR .EQ. 2)XST = - 2.0
10
DO 1 J = 1,JMAX
11
AJ = J - 1
12
X(J) = XST + AJ*DX
13
T(J) = 0.
14 •
1 TEX(J) = 0.
15
IF(JPR .EQ. 2)GOTO 3
16 С
17 С
EXACT SOLUTION FOR PROPAGATING SINE-VAVE
18 С
19
JM = 0.1001/DX + 1.0
20
INC = U*TIMAX/DX + 0.001
21
DO 2 J = 1,JM
22
T(J) = SIN(10.*PI*X(J))
23
JP = J + INC
24
2 TEX(J?) = T(J)
25
RETURN
26 С
27 С
EXACT SOLUTION FOR PROPAGATING TEMP-FRONT
28 С
29
3 T(l) = 1.0
30
TEX(l) = 1.0
31
DO 5 J = 2,JMAP
32
IF(X(J) .LT. O.)T(J) = 1.0
33
IF(ABS(X(J)) .LT. 1.0E-04)T(J) = 0.5
34
DEM = 0.
35
DO 4 К = 1,NEX
36
AK = 2*K - 1
37
DUM = AK*PI/EL
38
SNE = SIN(DUM*(X(J)-U*TIMAX))
39
DIM = - ALPH*DUM*DUM*TIMAX
40
IF(DIM .LT. -20.)GOTO 5
41
4 DEM = DEM + (SNE/AK)*EXP(DIM)
42
5 TEX(J) = 0.5 - 2.*DEM/PI
43
RETURN
44
END
Рис. 9.9. Описание программы EXSOL.
каждый момент времени чем больше Rceii =必%/а, тем круче профиль температурного фронта.
Исходным уравнением в этой задаче является уравнение (9.56). Для достаточно малых значений t можно задать следующие граничные условия:
Г (-2, /) =1.0, Г (2, 0 = 0.0.(9.74)
Точное решение этой задачи, найденное методом разделения переменных, имеет вид
Т(х, /) = 0.5 _ 告 £ sin[儲—1) /*]ехр 上嘤三у 田心].
(9.75)
Различные схемы, которые заложены в программу TRAN, приведены в табл. 9.4. Распечатка программы TRAN дана на рис. 9.8, а основные параметры указаны в табл. 9.5. Точное решение дает подпрограмма EXSOL (рис. 9.9). Типичная выдача результатов программы TRAN при использовании схемы Лакса —Вендроффа показана на рис. 9.10.
PROPAGATING TEMP-FRONT
ME = 2 LAX-WENDROFF
ОМАХ» 21 NTIM= 10 C= .25 U= .50 DX» .200 DT» .100
S= .25 ALPH= .100E+00 RCEL= 1.000 Q= .00 QQ= .000
需EX= 100 EL= 20 EM= .000E+00
XA= .40625 BB= .43750 CC= .15625 AE= .00000 BE= .00000 CE= .00000
INITIAL SOLUTION, TIM = .000
Х»-2・ 000-1.800-1・ 600-1.400-1.200-1.000
-.800
-.600
-.400
-.200
.000
.200
Х=
.400
.600
.800
1.000
1.200
1.400
1.600
1.800
2.000
т=
1.000
1.000
1.000
1.000
1.000
1.000
1.000
1.000
1.000
1.000
.500
.000
т=
.000
.000
.000
.000
.000
.000
.000
.000
.000
FINAL SOLUTION,
TIM
*1.000
Х=-2・ 000-1.800-1・ 600-1.400-1.200-1.000
-.800
-.600
-.400
-.200
.000
.200
Х=
.400
.600
.800
1.000
1.200
1.400
1.600
1.800
2.000
т=
1.000
1.000
1.000
1.000
1.000
• 999
• 997
.991
.973
.934
・862
.747
т=
・593
.422
• 261
.137
.059
.020
.005
.001
.000
1.000
1.000
1.000
1.000
1.000
1.000
・998
.993
.978
.941
.868
.749
ТЕХ=
.588
.412
.251
.132
.059
.022
.007
.002
.000
RMS ERR= .44842E-02
Рис. 9.10. Типичная выдача по программе TRAN.
При ченныхПри ченных/?сеп = 1.0 в табл. 9.6 дано сравнение решений, полукак по явным, так и по неявным схемам. Все методы
При ченных
При ченных
приводят к гладким решениям, тогда как схема Лакса — Вендроффа оказывается наиболее точной из явных схем. Наиболее точной из неявных схем является схема (9.71) с q = 0.5, что соответствует 3-му порядку аппроксимации члена идТ/дх.
Расчеты по неявным схемам Кранка — Николсона для более высоких значений /?Ceii показаны в табл. 9.7 (Rce】i = 3.33) и табл. 9.8 (Rceii= 100). В качестве эталона принята конечноразностная схема Кранка — Николсона. Решение по этой схеме является осциллирующим и выявляет добавочный скачок за фронтом, который особенно хорошо виден при Rceii = 100 (табл. 9.8 и рис. 9.11). Видно, что две низкодисперсные схемы
Таблица 9.4. Различные схемы, реализуемые программой TRAN
MEОписание
Схема ВВЦП (9.58)
234444234444Схема Лакса—Вендроффа (9.58) с s* = s + 0.5С2
2
3
4
4
4
4
2
3
4
4
4
4
Явная 4-точечная схема с разностями против потока (9.57), (9.72); EX-4PU
Конечно-разностная схема Кранка — Николсона; 6 = 0, 9 = 0; CN-FDM
Конечно-элементная схема Кранка — Николсона; б = 1/6, g = 0; CN-FEM
Схема Кранка—Николсона с массовым оператором; 6 = 1/6 + + С2/12; CN-MO
4-точечная схема Кранка—Николсона с разностями вперед; 6 = 0, q = 0.5 + 0.25С2; CN-4PN
Таблица 9.5. Параметры, используемые в программе TRAN
Параметр
Описание
ME
=1; схема ВВЦП (9.58)
ME
=2; схема Лакса—Вендроффа (9.16)
ME
=3; явная 4-точечная схема с разностями вперед (9.57), (9.72)
ME
=4; обычная схема Кранка—Николсона (9.69), (9.71)
JMAX
Число точек в интервале 0 W 尤 & 1
NTIM
Число шагов по времени
26 К- Флетчер, т. 1
Таблица 9.5 (продолжение)
Параметр
Описание
TIMAX
Время, при котором выполняется сравнение с точным решением
JPR
=1; задача о распространении синусоидальной волны
JPR
=2; задача о распространении температурного фронта
NEX
Число слагаемых N в (9.75), используемых в программе EXSOL
LN
Число слагаемых L в (9.75), используемых в программе EXSOL
С
Число Куранта (9.11)
и
Значение и в (9.2), (9.56)
ALPH
Коэффициент термодиффузии а в (9.56)
S
s = аА〃А 尤2
RCEL
Число Рейнольдса ячейки, 〃А%/а, § 9.3
Q
q в (9.53), (9.72)
ЕМ
6 в (9.69)
DT, DX, X
Д/, Ах,力
Т
Зависимая переменная в (9.2), (9.56)
ТЕХ
Точное решение (9.24) или (9.75)
АА, ВВ, СС
Коэффициенты перед Т^р Т; и Т;+1В явных схемах
АЕ, BE, СЕ
Коэффициенты перед T^^t「;+〔 и Т洋| в неявных схемах
А
Элементы в трехдиагональной матрице (9.18)
BANFAC
Факторизация матрицы А к треугольному наддиагональному виду
BANSOL
Решение уравнения АТ = R для Ту+1
R
Правая часть трехдиагональной системы уравнений (9.22>
TD
Решение для 7;+〔,полученное в подпрограмме BANSOL
Таблица 9・6・ Решение задачи о С = 0.25, и =
температурном фронте при / 匸 0.5, А% = 0.2, Af == 0.05
"=1, ^cell =
i,
X
Схема
—0.40
-0.20
0.00
0.20
0.40
0.60
0.80
1.00
1.20
1.40
1.60
Среднеквадратичная ошибка
Точное решение
0.978
0.941
0.868
0.749
0.588
0.412
0.251
0.132
0.059
0.022
0.007
—
ВВЦП
0.981
0.947
0.877
0.760
0.598
0.414
0.245
0.121
0.047
0.014
0.003
0.006
Лакса-Вендроффа
0.973
0.934
0.862
0.747
0.593
0.422
0.261
0.137
0.059
0.020
0.005
0.004
Явная 4-точечная
0.976
0.940
0.872
0.762
0.609
0.431
0.258
0.123
0.040
0.005
-0.003
0.010
с разностями против потока (EX-4PU), g = 0.5
Кранка—Николсона
0.981
0.946
0.870
0.742
0.575
0.398
0.245
0.135
0.067
0.030
0.012
0.006
с конечными разностями (CN-FDM)
Кранка—Николсона
0.977
0.937
0.861
0.742
0.585
0.415
0.258
0.138
0.063
0.023
0.007
0.004
с конечными элементами
(CN-FEM)
Кранка—Николсона
0.976
0.939
0.865
0.746
0.586
0.411
0.253
0.135
0.062
0.024
0.008
0.002
4-точечная с разностями против потока (CN-4PU), q = 0.5
Таблица 9.7. Решение задачи о температурном фронте при f == L Rceu = 3.33, С = 1, 〃 = 1, Ах == 0.1, Af = 0.1
Схема
0.50
0.60
0.70
0.80
0.90
1.00
1.10
е 1.20
1.30
1.40
1.50
Среднеквадратичная ошибка
Точное решение
0.979
0.949
0.890
0.793
0.658
0.500
0.342
0.207
0.110
0.051
0.021
—
Кранка—Николсона с конечными разностями (CN-FDM)
1.016
0.981
0.894
0.760
0.601
0.443
0.306
0.200
0.123
0.073
0.041
0.018
Кранка—Николсона 4-точечная с разностями против потока (CN-4PU), q = 0.75
0.979
0.947
0.887
0.788
0.653
0.497
0.342
0.212
0.117
0.056
0.023
0.002
Кранка—Николсона с массовым оператором (CN-MO), 6 в 0.25
0.972
0.950
0.883
0.795
0.660
0.504
0.343
0.206
0.109
0.052
0.022
0.002
Таблица 9.8. Решение задачи о температурном фронте при / = 1, Ren = 100, С = 1, и = 1, Дх = 0.1, Д/ = 0.1
Схема
0.50
0.60
0.70
0.80
0.90
1.00
1.10
1.20
1.30
1.40
1.50
Среднеквадратичная ошибка
Точное решение
1.000
1.000
1.000
1.000
0.987
0.500
0.013
0.000
0.000
0.000
0.000
—
Кранка—Николсона с конечными разностями (CN-FDM)
1.217
1.253
1.093
0.825
0.553
0.335
0.187
0.098
0.048
0.022
0.010
0.113
Кранка—Николсона, 4-точечная с разностями против потока (CN-4PU), q = 0.75
1.010
1.050
1.056
0.958
0.741
0.466
0.223
0.065
-0.007
-0.024
-0.018
0.059
Кранка—Николсона с массовым оператором (CN-MO), 6 = 0.25
1.000
1.000
1.000
0.998
0.954
0.501
0.045
0.002
0.000
0.000
0.000
0.013
и (9.71) являются эффективными при /?сец = 3.33 в подавлении нефизических колебаний.
При Reii = 100 схема с массовым оператором при 6=1/6 + С2/12 дает крутой температурный фронт без осцилляций. Четырехточечная схема с разностями против потока приводит, однако, к более размытому фронту со слабыми колебаниями решения перед и за фронтом. Расчетные точки по схеме Кранка — Николсона с массовым оператором (CN-MO) показаны на рис. 9.11 только в тех случаях, когда они отличаются от точного решения.
Рис. 9.11. Решение задачи о температурном фронте при / = 1 и Rceii = 100 (обозначения см. в табл. 9.9).
Дополнительную информацию об относительных свойствах двух схем (9.69) и (9.71) можно получить на основе фурье-анализа, как это было сделано в п. 9.2.1. Начальные данные представляются в виде рядов Фурье, и затем из разностного уравнения находится отношение амплитуд Gm и фазового угла фт для каждой моды Фурье 0т. В случае схемы Кранка — Николсона с массовым оператором (9.69) получаем следующие выражения:
r ( [1 _ (26 + s) (1 _ cos 8小)卩 + (0.5C sin ^加产 丫/2
5n —- (26 — s) (1 — cos 呪)]2 +(° 5c $汨 8加2W。
小 ——C sin 呪[1 — 26 (1 — cos Ю1 /q 77}
g 一[1 —26(1 - cos 8.)]2 一 [0 5C sin 8用]2 一к(1 一 cos 8.)产. 卜
Соответствующие выражения для точного решения имеют вид
Gex, т = ехр [ —CAx2//?cell], tg 丸*, /п = ^g (—^0^).(9.78)
Таблица 9.9. Волновые характеристики решения при 7?Сеп = 3,33, С = 1,0, А 尤=0.1
Схема
0.05
0.25
0.50
0.75
1.00
Кранка—Николсона с конечными разностями (CN-FDM)
Gm/Gex, zn
0.996
0.858
0.619
0.389
0.251
Кранка—Николсона с массовым оператором (CN-MO)
Gm/Gex, m
0.996
0.841
0.573
0.683
1.003
Кранка—Николсона, 4-точечная с разностями против потока (CN-4PU)
Gm/Gex, zn
0.996
0.827
0.438
0.216
0.231
Точное решение
0ex, m
—9.00
-45.00
-90.00
-135.00
-180.00
Кранка—Николсона с конечными разностями (CN-FDM)
6tn
—8.94
-39.19
-56.58
-49.09
0.00
Кранка—Николсона с массовым оператором (CN-MO)
Фт
-9.00
-45.37
-100.21
-164.20
-180.00
Кранка—Николсона, 4-точечная с разностями против потока (CN-4PU)
Фт
-8 96
—40.65
-71.29
-130.14
— 180.00
Таблица 9.10. Волновые характеристики решения при Rceii = 100, С = 1
Дл = 0.1
Схема
%尸
0.05
0.25
0.50
0.75
1.00
Кранка—Николсона с конечными разностями (CN-FDM)
G/n/Gex, m
1.000
0.995
0.984
0.970
0.961
Кранка—Николсона с массовым оператором (CN-MO)
Gm/Gex, m
1.000
0.994
0.980
0.967
1.000
Кранка—Николсона, 4-точечная с разностями против потока (CN-4PU)
Gm/Gex, tn
1.000
0.958
0.674
0.277
0.010
Схема
%/3T
0.05
0.25
0.50
0.75
1.00
Точное решение
0ех, т
-9.00
-45.00
—90.00
-135.00
-180.00
Кранка—Николсона с конечными разностями (CN-FDM)
6т
-8.94
-38.94
-53.13
-38.95
0.00
Кранка—Николсона с массовым оператором (CN-MO)
Фт
—9.00
-45.00
-90.01
-135.08
-180.00
Кранка—Николсона» 4-точечная с разностями против потока (CN-4PU)
Фт
—8.96
-40.27
-61.30
-73.14
-180.00
В табл. 9.9 и 9.10 приведены значения Gm/GeXi т и 力由 для различных Вт и соответствующих условиям табл. 9.7 и 9.8.
Для четырехточечной схемы Кранка — Николсона с разностями против потока (9.71) для Gm и фт получаем выражения
(9.79)(9.80)(9.79)(9.80)「 一 U [1 一 s* (1 - cos 8加]2 + {osСsin m 口 + g (1 一 cos 8加)/6]}2 Y/2 Um — mi + s*(1 - cos em)]2 + {o.5c sin e;n [1 + ^(1 - cos e,n)/6]}2 丿
(9.79)
(9.80)
(9.79)
(9.80)
tg^m =tg^m =—C sin [1 + g (1 - cos %)/6]
tg^m =
tg^m =
1 - [s* (1 - cos m)产 一 {0.5C sin 8加[1 + g (1 - cos 电)/6]}2,
где s* = s + gC(l — cos8m)/3. Отношение амплитуд и фазовый угол в зависимости от 8加 при Rceii = 3.33 и 100 приведены в табл. 9.9 и 9.10 соответственно.
Видно, что при Rceii = 3.33 (табл. 9.9) конечно-разностная схема Кранка — Николсона плохо согласуется с точным решением по фазовому углу, особенно для коротких волн при 6т-> л;. Наоборот, схема с массовым оператором и четырехточечная схема дают хорошее согласие с точным решением по фазе. Обе схемы имеют тенденцию к диссипации для промежуточных длин волн (0m ^ 冗/2), а четырехточечная схема является диссипативной и для коротких волн.
При /?сеп = 100 (табл. 9.10) конечно-разностная схема Кранка — Николсона сохраняет амплитуду при всех длинах волн, но вносит значительные ошибки в величину фазового угла при малых длинах волн. Это совпадает с осцилляциями температурного фронта на рис. 9.11. Четырехточечная схема с разностями против потока дает ошибку в фазе для промежуточ-
ных длин волн, компенсируя ее значительным затуханием коротковолновых возмущений. Из приведенного на рис. 9.11 соответствующего решения для температурного фронта видно, что эта схема приводит к небольшим осцилляциям и сглаживанию профиля температуры. Схема Кранка — Николсона с массовым оператором сохраняет амплитуду, так же как и конечно-разностная схема, но, кроме того, дает хорошее согласование по фазовому углу. Следовательно, резкий профиль температур на рис. 9.11, соответствующий этой схеме, не является неожиданным.
Хотя вариация параметра б в схеме с массовым оператором и параметра q в четырехточечной схеме против потока являются довольно эффективным средством уменьшения дисперсионных ошибок, их влияние вытекает из дискретизации различных членов исходного ^уравнения (9.56). Массовый оператор связан с производной dT/dt, а четырехточечная разность против потока — с конвективным членом идТ/дх. Отсюда следует, что стратегия выбора оптимального массового оператора непригодна для одномерного стационарного уравнения конвекции — диффузии (§ 9.3). Однако в случае многомерных уравнений переноса массовый оператор появляется в методе конечных элементов в связи с недифференцируемыми пространственными направлениями. Следовательно, механизм изменения 6 в массовом операторе для уменьшения дисперсии имеет место как для нестационарных, так и стационарных многомерных уравнений переноса (§ 9.5).
Аналогичный приведенному выше фурье-анализ для обычных конечно-разностной и конечно-элементной схем выполнен в работе [Pinder, Gray, 1977] для одномерного уравнения переноса. Фурье-анализ схемы, основанной на использовании представлений Тейлора — Галёркина, в применении к одномерному уравнению переноса выполнен в работе [Donea et al., 1984].
В данном параграфе использовались различные аналитические методы, анализ устойчивости по Нейману, метод модифицированного уравнения и фурье-анализ для исследования некоторых общепринятых схем решения задач с преобладающим” влиянием конвекции, а также для построения улучшенных схем..
Двумерное уравнение переноса
Дополнительные трудности, возникающие при анализе многомерного уравнения переноса, сравнимы с теми, которые имеют место при переходе от одномерного уравнения диффузии к многомерному. В двумерном случае уравнение переноса имеет”
вид
дТ . дТ . дТ д2Т д2Т с
н + 〃тг + °百- %历L°・(9・81)
Явные схемы для уравнения (9.81) устойчивы при более жестких условиях, что было справедливо также и по отношению к явным схемам для двумерного уравнения диффузии. Так, например, двумерный вариант схемы ВВЦП (9.58) приводит к алгоритму
?隈=(s* + 0・5С J 7?一 с + (1 — 2s# — 2s〃) Tl 左 +
+ (s* — 0.5Cx) Пн,々 + 凡 + 0.5&) Tl 尼7 +
+ (Sy-0・5&)T7,E+i, (9.82) где
sx — %zW/A%2, cx = wA//Ax,sy = a“A〃Ay2, & = u&/Ay・
.Анализ устойчивости алгоритма (9.82) по Нейману дает следующие условия [Hindmarsh et al., 1984]:
(s* + sj < 0.5,^ + 缁 & 2.(9.83)
.Если sx = sy = s, то для устойчивости должно быть s W 0-25, что в два раза меньше, чем в одномерном случае.
Другой серьезной проблемой многомерного случая является введение искусственной диффузии, в частности искусственной перекрестной диффузии, вводимой схемами первого порядка. Как мы уже видели, использование разностей первого порядка по времени и разностей против потока для конвективных членов приводит к появлению членов с искусственной диффузией и дисперсией. В двумерном случае эквивалентная разностная схема вносит члены с искусственной диффузией с коэффициентами
а; = -0.5〃А% (Сх — 1), а; = —0.5иАу 3y — 1). (9.84)
Ошибки, вносимые этими членами, особенно велики, когда вектор скорости направлен под углом 45° к координатному направлению [de Vahl Davis, Mallinson, 1976]. Этот вопрос более подробно будет обсуждаться в п. 9.5.3.
Методы расщепления
При использовании неявных схем для двумерного уравнения переноса удается избежать трудностей выполнения условий устойчивости, присущих явным схемам, но возникает проблема получения эффективного решения неявных разностных уравнений, точно так же как и для уравнения диффузии.
Здесь мы рассмотрим типичный случай приложения метода расщепления к двумерному уравнению переноса. Применяя метод Галёркина с конечными элементами (§ 5.3) с билинейными прямоугольными элементами к уравнению переноса (9.81), получим
М% ㊁"у [~^~]丸=[—иМу ® Lx ■— vMx ® Ly + а%Му ® Lxx + “+ ayMx ® Lyy] ь(9.85>
где 厶三(—1, 0, 1)/2Дх, % 三(1, 0, —1)т/2Ау и 必=(?告,春) для равномерной сетки. Операторы Lxx, Lyy и Му даются формулами (8.30) и (8.31).
Уравнение (9.85) можно сравнить с (8.29). Дополнительный член в (9.85) возникает из-за наличия конвективных членов. Однако массовые операторы по направлению в конвективных членах ведут себя так же, как и для диффузионных членов. Другими словами, для метода конечных элементов они оказывают влияние на операторы Lx и Ly в перпендикулярном направлении. Это следует из тензорного произведения ® и формы операторов Мх и 臨.Уравнение (9.85) можно обобщить, если ввести определение
必=®, 1—2酸,6) 此=&, 1—2%, 6尸,(9.86) где 6х и 8У — параметры, которые могут выбираться из условий минимизации дисперсионных погрешностей аналогично тому, как это делалось в п. 9.4.3 при выборе 6 в уравнении (9.21). Выбор 6% = Зу = 0 дает трехточечную конечно-разностную схему, выбор 6% = бу = 1/6 приводит к линейной конечноэлементной схеме._
При использовании трехслойного представления для dT/dt уравнение (9.85) можно привести к виду
Мх® 此[(1 + у)^^ — 丫尊]=(1 — 6) RHS” + PRHSn+1,
~(9.87)
где
Ат九+iт九+iт九AT九 T九+i
RHS = — \My ® (〃£% — a%£%%) + Mx ® ®£y — °4/%川厶,左.
Та же самая схема была использована для разностного представления (8.26) уравнения диффузии.
Вводя то же расщепление, которое применялось к (8.29), получим следующий двухступенчатый алгоритм для решения двумерного уравнения переноса:
[必 + $削(%-%2] а7:为=(It7)Rhs” +
+(7^7)必8"厶T貝,(9.88)
[My + ($)△"〃” 一 %4田 АТ;% = А7;,麻 (9.89)
Ясно, что включение конвективных членов, т. е. uLx и 必力 не избавляет от необходимости эффективного разбиения (9.87) на совокупность трехдиагональных подсистем уравнений на каждом слое расчетной сетки.
Алгоритм (9.88), (9.89) аппроксимирует уравнение (9.81) с ошибкой О(Д/2, Дх2, Ду2); при этом для двухслойной схемы Y = 0, р = 0.5, а для трехслойной у = 0.5, 0=1. Та же точность достигается независимо от того, используется ли линейная конечно-элементная схема или трехточечная конечно-разностная схема для вычисления операторов MXf Му, L%, Lxx, Lyt Lyy. Однако коэффициенты в выражении для ошибок аппроксимации будут разными в разных случаях, причем конечно-элементный метод дает более точные решения.
Анализ устойчивости схем (9.88) и (9.89) по Нейману дает квадратное уравнение (в случае трехслойной схемы) для коэффициента усиления G, решение которого легко находится численно. Результат расчета показывает, что при р ^ 0 обе схемы безусловно устойчивы как в случае аппроксимации с помощью бесконечных элементов, так и с помощью конечных разностей.
THERM: задача о проникновении тепла
Метод расщепления, сформулированный в п. 9.5.1, здесь будет использован для решения задачи о втекании холодной жидкости в горячий двумерный канал с сечением очень большого удлинения. Вдали от боковых стенок канала распределение температуры существенно двумерное и описывается стационарной формой следующего уравнения энергии:
雾+峥+噜- %篇=°, (9・9°) где ах = ау = а — коэффициент термодиффузии. Уравнение (9.90) записано в нестационарном виде для использования
стратегии псевдостационарных решений (§ 6.4). Если компоненты скорости 〃 и и известны, то уравнение (9.90) представляет собой линейное двумерное уравнение переноса.
Уравнение (9.90) удобно решать в безразмерном виде, для чего вводятся следующие безразмерные переменные:
Т@ 一「о,Т@ 一「о,"=詣"=詣и Reи Re2.5〃加2.5〃加2.5"加/2.5"加/a Re 'a Re 'У =У =Рг = МРг = М(9.91)(9.91)
Т@ 一「о,
Т@ 一「о,
"=詣
"=詣
и Re
и Re
2.5〃加
2.5〃加
2.5"加/
2.5"加/
a Re '
a Re '
У =
У =
Рг = М
Рг = М
(9.91)
(9.91)
где То и Tw ——температура на входе и на стенке, ит — средняя осевая скорость, Re, Рг — числа Рейнольдса и Прандтля соответственно (п. 11.2.5). Такой выбор и других безразмерных
переменных удобен тем, что температурный профиль развивается почти на одном и том же интервале л/ для различных Re. Если указанные выше безразмерные переменные подставить в (9.90), то получим то же самое уравнение в штрихованых переменных с коэффициентами
101.6%= PrRe2' a^ = W101.6%= PrRe2' a^ = W(9.92)(9.92)
101.6
%= PrRe2' a^ = W
101.6
%= PrRe2' a^ = W
(9.92)
(9.92)
В дальнейшем штрихи у безразмерных переменных будут опускаться.
Для расчетной области, показанной на рис. 9.12, зададим следующие граничные условия:
Г (0, у) = 0 при х = 0,
= О при % = %тах,(9・93)
Т (х, ±1)=1 при у = ±1.
C THERM APPLIES APPROXIMATION FACTORISATION TO SOLVE C THE UNSTEADY THERMAL ENTRY PROBLEM FOR T(X,Y). C
DIMENSION T(41,42),DT(41,42),R(41,42),U(41,42),V(41,42), 1EMX(3),EMY(3),B(5,65),RRT(65),DDT(65),CX(3),CY(3),TEX(42) 2,ALF(10),DYFL(10),CXQ(4)
COMMON CX,CXQ,CY,CCX,CCY,EMX,EMY,NX,NY,R,T,DT,U,V DATA ALF/l.6815953,5.6698573,9.6682425,13.6676614,17.6673736, 121.6672053,25.6670965,29.6670210,33.6669661,37.666432〃
DATA DYFL/-0.9904370,1.1791073,-1.2862487,1.3620196,-1.4213257r 11.4704012,-1.5124603,1.5493860,-1.5823802,1.6122503/
C
OPEN(1,FILE='THERM.DAT') OPEN(6,FILE»'THERM.OUT*) READ(1,1)NX,NY,ME,ITMAX,GAM,BET,Q READ(1,2)DTIM,EPS,RE,PR,XMAX 1 FORMAT(415,3F5.2) 2 FORMAT(3E1O.3,2F5.2) C NXS = NX + 1 NXP = NX - 1 NYP = NY - 1 NYPP = NYP - 1 NYH = NY/2 + 1 ANX = NXP DX = XMAX/ANX ANY = NYP DY = 2./ANY ALX = 10./RE/RE/PR ALY = 1.6/PR CX(1) = -0.5/DX CX(2) = 0. CX(3) = 0.5/DX CY(1) = -0.5/DY CY(2) = 0. CY(3) = 0.5/DY CXQ(l) = Q/DX/3.
CXQ(2) = -3,*CXQ(1) CXQ⑶=-CXQ(2) CXQ(4) = -CXQ(l) CCX = ALX/DX/DX CCY = ALY/DY/DY IF(ME .N3. 2)Q = 0. EMX(l) = 0.
IF(ME .EQ. 3)EMX(1) = 1./6.
EMX(2) = 1. - 2.*EMX(1) EMX(3) = EMX(l) DO 3 J = 1,3 3 EMY(J) = EMX(J) C
IF(ME .EQ. 1)WRITE(6,4)NX,NY,ME,ITMAX
IF(ME .EQ. 2)WRITE(6,5)NX,NY,ME,ITMAX
IF(ME .EQ. 3)VRITE(6r6)NX,NY,ME,ITMAX
4 FORMAT('
THERMAL ENTRY PROBLEM:
3PT FDM,
NX,NY
= 3213」
ME =\
112/ ITMAX =* ,13)
5 FORMAT(' THERMAL ENTRY PROBLEM:
4PT UPHIND FDM,
NX,NY =*
,213,
1' ME =* 6 FORMAT(*
,12,' ITMAX=',I3) THERMAL ENTRY PROBLEM:
LIN FDM,
NX,NY
=',213,'
ME =',
112,* ITMAX=',I3)
WRITE(6r7)GAM,BET,DTIMrmXrPR,RE,Q
7 FORMAT (' GAM=',F5.2,' BETA =',F5.2,' DTD! =',F6.3,,XMAX =\ 1F5.2J PR=',F5.2,‘ RE=',F5・1,' Q=',F5.2,/)
C
C GENERATE INITIAL SOLUTION
DO 9K = 1,NY AK = К - 1 Y = -1. + AK*DY T(K,1) = Y**32 T(K,NXS) = 1. U(K,1) = 1.5*(1. - Y*Y) V(K,1) = 0. DO 8 J = 2,NXS U(K,J) = U(K,1) V(K,J) = 0.
IF(J .EQ. NXS)GOTO 8 AJ = J ・ 1 T(K,J) = T(K,1) + AJ*DX*(T(K,NXS)・T(K,1))/XMJ 8 CONTINUE 9 CONTINUE
DO 12 J = 1,NXS DO 10 К = l.NY DT(K,J) = 0.
R(K,J) = 0.
DO 11 К = 1,5 11 B(K,J) = 0. 12 CONTINUE
GAMH = GAM GAM = 0. BETH = BE1 BET = 0.5 ITER = 0 C
DBT w BET*DTIM/(1.+GAM) CXA = 0.5*DBT/DX CYA 士 0.5*DBT/DY CCXA = DBT*CCX CCYA = DBT*CCY
C
CALL RETHE(RMST,GAM,DTIM) C
IF(RMST .LT. EPS)GOTO 24
IF(RMST .GT. 1.0E+04)G0T0 24 C C TRIDIAGONAL SYSTEMS IN THE X-DIRECTION C
DO'19 К = 2,NYP DO 15 J = 2,NX JM = J - 1 B(2,JM) = EMX(l) - CCXA - CXA*U(K,JM) B(3,JM) = EMX(2) + 2.*CCXA B(4,JM) = EMX(3) - CCXA + CXAN(K,J+l) RRT(JM) = R(K,J) IF(ME .NE. 2)GOTO 15 LST = 1 IF(J .EQ. 2)LST = 2 B(1,JM) = 0.
DO 14 L=LST,4 LJ = J + L ~ 3 14 B(L,JM) = B(L,JM) + CXQ(L)*U(K,LJ)*DBT 15 CONTINUE B(2,l) = 0.
B(2,JM) = B(2,JM) + B(4,JM) B(4,JM) = 0.
IF(ME .NE. 2)GOTO 17
C c REDUCE TO TRIDIAGONAL FORM
130
DO 16 JM = 3,NXP
131
JMM = JM - 1
132
DUM = B(1,JM)/B(2,JMM)
133
B(2,JM) = B(2,JM) - B(3,JMM)*DUM
134
B(3,JM) = B(3,JM) - B(4,JMM)*DUH
135
B(1,JM) = 0.
136
RRT(JK) = RRT(JM) - RRT(JMM)*DUH
137
16 CONTINUE
133
B<1,2)二 0.
139 С
140
17 CALL BANFAC(B,NXP,1)
141
CALL BANSOL(RRT,DDT,B,NXP,1)
142 С
143
DO 18 J = 2,NX
144
JM = J - 1
145
18 R<K,J) = DDT(JM)
146
19 CONTINUE
147 С
148 С
TRIDIAGONAL SYSTEMS IN THE Y-DIRECTIOM
149 С
150
DO 22 J = 2,NX
151
DO 20 К = 2,NYP
152
KM = К - 1
153
B(2,KM) = EMY(l) - CCYA - CYA*V(KH,J)
154
B«3,KM) = EMY(2) + 2.*CCYA
155
B(4,KM) = EMY(3) - CCYA + CYA*V(K+1,J》
156
20 RRT(KM) = R(K,J)
157
B(2,l) = 0.
158
B(4,KM) = 0.
159 С
160
CALL BANFAC<B,NYPP,1)
161
CALL BANSOL(RRT r DDT r В e NYPP r1)
162 С
163 С
INCREMENT T
164 С
165
DO 21 К = 2,NYP
166
KM = К ・ 1
167
DT(K,J) = DDT(KM)
168
21 T(K,J) = T(K,J) + DDT(KM)
169
22 CONTINUE
170
DO 23 К = 2,NYP
171
T(KtNXS) = T(K,NXP)
172
23 DT(K,NXS) = DT(K,NXP)
173
ITER = ITER + 1
174
GAM = GAMH
175
BET = BETH
176
IF(ITER .LE. ITMAX)GOTO 13
177 С
178 С
COMPARE WITH SEMI-EXACT SOLUTIOH
179 С
180
24 SUM = 0.
181
DO 25 J = 2,NX
182
AJ = J - 1
183
X = AJ*DX
184 С
185
CALL TEXCL(X,TDX,PR,ALF,DYFL)
186 С
187
TEX(J) = TDX
188
IF(J .EQ. 2)GOTO 25
189
DIF = T(NYH,J) - TDX
190SUM = SUM + DIF*DIF
19125 CONTINUE
192RMS = SQRT(SUM/(ANX-D)
193WRITE(6,26)ITER,RMST,RMS
19426 FORMAT(' AFTER ',13,' ITERATIONS, RMS-RHS =',E10.3,
1951' RMS-ERR =',E10.3)
196WRITE(6,27)(T(NYH,J),J=2,NX)
197,WRITE(6,28)(TEX(J),J=2,NX)
19827 FORMAT(' C/L TEMP ='.11F6.3)
19928 FORMAT(' EX TEMP =',11F6.3)
200STOP
201END
Рис. 9.13 (окончание).
Применение группового метода конечных элементов (§ 10.3) [Fletcher, 1983] с линейной интерполяцией на прямоугольных элементах приводит к системе обыкновенных дифференциальных уравнений
мх ® 心[嘗],fe = M® [一厶 ”)+ axLxxT] +
+ Мх 0 [-4 (") + %4/*]}/,尼,(9.94) которая отличается от (9.85) только тем, что в конвективные операторы Lx и Ly входят u, v. Следовательно, двухступенчатый алгоритм (9.88), (9.89) реализуется с помощью программы THERM (рис. 9.13) с операторами Lx и Ly, действующими на иТ и vT соответственно.
Программа THERM работает при любых заданных распределениях скорости. Однако для проведения сравнения расчет^ ного профиля температуры с полуаналитическим решением [Brown, 1960] предполагалось, что профиль скорости имеет вид, характерный для полностью развитого течения:
〃=1.5(1 _/, и = 0.(9.95)
Чтобы избежать разрыва решения в точке Л, граничное условие в программе THERM задавалось в виде
Т(0,力=严.(9.96)
Это дает профиль температуры на входе, который равен нулю всюду, кроме угловых точек: х = 0, у = ± 1.
Вычисление величины RHSn в (9.88) выполняет подпрограмма RETHE (рис. 9.14). Основные параметры, использованные в программе THERM и подпрограмме RETHE, описаны в табл. 9.11. Типичная выдача результатов программы THERM приведена на рис. 9.15 для конечно-разностного метода с приближенной факторизацией.
Решение на центральной линии сравнивается с полуаналитическим решением [Brown, 1960], которое вычисляется
1234567890123456789012345678901234567890123456111111111122222222223333333333444444412345678901234567890123456789012345678901234561111111111222222222233333333334444444с с с сс с с сссSUBROUTINE RETHE(RMST,GAM,DTIM)
1234567890123456789012345678901234567890123456
1111111111222222222233333333334444444
1234567890123456789012345678901234567890123456
1111111111222222222233333333334444444
с с с с
с с с с
с
с
EVALUATES RIGHT-HAND SIDE OF THE TWO-DIMENSIONAL TRANSPORT EQUATION
REAL*8 RTD,SUMT,AN,DSQRT
DIMENSION DT(41,42),T(41,42),R(41,42)fU(41r42),V(41,42), 1DMX(3,3),DHY(3,3),EMX(3),EHY⑶,CX(3),CY(3),CXQ(4)
COMMON CX,CXQ,CY,CCX,CCY,EMX,EMY,NX,NY,R,T,DT,U,V NXP = NX - 1 NYP = NY - 1 DO 1 I = 1,3
DHX(I,1) = CCX*EHY(I)
DHX(I,2) = -2.*DMX(I,1)
DHX(I,3) = DMX(Irl)
DHY(1,I) = CCY*EMX(I)
DHY(2,I) = -2.*DMY(1,I)
DHY(3,工)=DHY(1,工)
SUNT = 0.
DO 6 J =2,NX
DO 5 К = 2,NYR
RTD = 0.
DO 4 N = 1,3
NK = К - 2 + N
DO 2 M = 1,3
MJ = J - 2 + M
DUN = DHX(N,H) + DMY(N,H) - CX(M)*EMY(N)*U(NK,MJ) 1 - CY(N)*EMX(M)*V(NK,MJ)
RTD = RTD + DUM*T(NK,MJ)*DTIM
+ GAM*EMX(M)*EMY(N)*DT(NK,MJ) MST = 1
IF(J .EQ. 2)MST = 2
DO 3 M = MST,4
MJ = J - 3 + M
RTD = RTD - CXQ(M)*EMY(N)*U(NKrMJ)*T(NK,MJ)*DTIM
IF(J .EQ. 2)RTD = RTD - CXQ(l)*EMY(N)*U(NKrl)*T(NK,l)*DTIM 4 CONTINUE
SUMT = SUNT + RTD*RTD
R(K,J) = RTD/(1. + GAM)
CONTINUE
AN = NXP*(NYP-1)
RMST = DSQRT(SUMT/AN)/DTIM RETURN
END
Рис. 9.14. Описание программы RETHE.
с помощью подпрограммы TEXCL (рис. 16.5, т. 2). Полуанали- тическое решение строится для приведенной формы уравнения (9.90), в которой предполагается, что членом осевой диффузии ахд2Т/дх2 можно пренебречь. Справедливость такого предположения обсуждается в п. 16.1.4. Следует заметить, что
§ 9.5. Двумерное уравнение переноса419
Таблица 9.11. Параметры, используемые в программе THERM
Переменная
Описание
ME
=1, приближенная факторизация, 3-точечный конечно-разностный метод, AF-FDM
=2, приближенная факторизация, 4-точечная схема с раз- ностями против потока, q = 0.5, AF-4PV
=3, приближенная факторизация, линейный метод конечных элементов, 6 = 1/6, AF-FEM
ITMAX GAM, BET q
Максимальное число итераций
Y,В в (9.88), (9.89)
Параметр в 4-точечной схеме с разностями против потока» qx в (9.97)
NX, NY DTIM EPS RE, PR XMAX, ALX, ALY CX, CY CXQ EMX, EMY T; U, V TEX TEXCL
Число точек в направлениях х и у
А/
Допустимая величина RHS" в (9.88)
Число Рейнольдса, число Прандтля
Протяженность расчетной области по 尤 ах, ау 8 (9.90), (9.92) 以,Ly в (9.98), (9.89)
Приращение Lx при построении 彳
Мх, Му в (9.88), (9.89)
Температура; компоненты скорости по х и у
Температура на центральной линии (полуточное решение)
Вычисляет ТЕХ при заданном 尤 и числе Прандтля Рг; требует задания ALF и DYFL; описывается в п. 16.1.4
DT
АТ;,左 в (9.88)
DDT
В
А7;左 и АТ;,* при возврате из BANSOL
4-диагональная и 3-диагональная матрицы; левая часть урав- нений (9.88) и (9.89)
R
RHS" в (9.88), вычисляемая в RETHE; используется также для запоминания А7;,卜 в (9.89)
RMS; RMST
\\rc/L-TCfL\\r^ IIRHS-||ms
центральной линии во всехцентральной линии во всехРис. 9.16. Сравнение решений для температуры вдоль центральной линии (обозначения см. в табл. 9.12).Рис. 9.16. Сравнение решений для температуры вдоль центральной линии (обозначения см. в табл. 9.12).
центральной линии во всех
центральной линии во всех
Рис. 9.16. Сравнение решений для температуры вдоль центральной линии (обозначения см. в табл. 9.12).
Рис. 9.16. Сравнение решений для температуры вдоль центральной линии (обозначения см. в табл. 9.12).
получающееся полуаналитическое решение хорошо аппроксимирует решение данной задачи везде, кроме окрестности входа (х = 0) и малых значений Re. Из-за ограничений, налагаемых на решение Брауна, оно будет называться посуточным в программе THERM и табл. 9.12.
THERMAL ENTRY PROBLEM: ЗРТ FDM, NX,NY = 11 11 ME » 1 ITMAX = 25 GAM = .50 BETA = 1.00 DTIM = .200 XMAX = 2.00 PR» .70 RE=100.0 Q = .00
AFTER 20 ITERATIONS, RMS-RHS = .857E-05 RMS-ERR » .180E-01
C/L TEMP =.459.744.881.945.975.988.995.998.999 1.000
EX TEMP =.493.786;909.962.984.993.997.999.999 1.000
Рис. 9.15. Типичная выдача из программы THERM.
В табл. 9.12 и на рис. 9.16 приведены решения на центральной оси для относительно грубой сетки. Среднеквадратичные •ошибки, приведенные в табл. 9.12, основаны на решении вдоль
х, кроме / = 2, так как вблизи входа % = 0 пригодность по- луточного решения становится сомнительной.
В табл. 9.12 и на рис. 9.16 приведены также результаты расчета, полученные с использованием дискретизации д(иТ)!дх четырехточечных разностей против потока вместо оператора Lx в уравнении (9.94) и эквивалентных ему (9.88) и (9.89). Это та же самая четырехточечная дискретизация с разностями против потока, которая обсуждалась в п. 9.3.2 и 9.4.3. Корректное рассмотрение двумерной задачи в целом означает, что четырехточечная дискретизация с разностями против потока бу
дет вводиться также и для d(vT)dy. Но это не было сделано в программе THERM, поскольку в данном примере и = 0, и, следовательно, член d(vT)/dy не влияет на решение. Четырехточечная схема с разностями против потока неприменима в точке j = 2 из-за трудностей задания подходящего значения То,左.
Ясно, что все методы дают хорошее согласие с полуточным решением ввиду грубости сетки. Особенно хорошо согласуется
Таблица 9.12. Решение задачи о проникании температуры, сетка i i X И, Re = 100, Рг = 0.7, у = °・5
Схема
0.000
0.200
0.400
0.600
0.800
1.000
1.200
1.400
1.600
1.800
2.000
(Полу)точное решение
0.000
0.493
0.786
0.910
0.962
0.984
0.993
0.997
0.999
1.000
1.000
Приближенная
факторизация—конечно-раз
ностный метод, AF-FDM
0.000
0.459
0.744
0.881
0.945
0.975
0.988
0.995
0.998
0.999
1.000
0.018
Приближенная
факторизация——4-точечная схема с разностями против потока, AF-4PU, q = 0.5
0.000
0.452
0.754
0.898
0.959
0.984
0.994
0.998
0.999
1.000
1.000
0.011
Приближенная факторизация—— метод конечных элементов, AF-FEM
0.000
0.462
0.794
0.910
0.963
0.984
0.994
0.997
0.999
0.999
1.000
0.003
линейный метод конечных элементов со стационарным модифицированным уравнением, решение которого в действительности и находилось.
Относительные характеристики построения массового оператора и четырехточечной дискретизации с разностями против потока для конвективных членов можно сравнить, если рассмотреть стационарное модифицированное уравнение для схемы», которая включает в себя свойства обоих вариантов. Запишем это уравнение
6(〃Т)6(〃Т)дхдх6(")_竺;_丄
6(〃Т)
6(〃Т)
дх
дх
ду % дх2 а^ ду2 '
+ (必炉/6){(1 一 2以 一 6SX)芸 +
+ [依 + (66% — 0.5)//?cell,力^^} + • • • +
+ (必力6) {(1 — 2gg — 6\)4f" +
(9.97)*(9.97)*+ iQy + (66y — 0.5)//?cell, у] 4^"} + • • • = О,
(9.97)*
(9.97)*
где qx и qy — свободные параметры, введенные в четырехточечную схему с разностями вперед, применяемую для дискретизации членов д(иТ/дх) и d(vT)/dy соответственно. Параметры 6% и б» заменяют б в определениях Мх и Му (9.94). Числа Рейнольдса ячейки определяются в виде
Rcell, % = Reel, у = ^^~ • (9.98),
В рассмотренном примере и = 0, так что Rceii, у = 0. В противоположность случаю для уравнения конвекции — диффузии Rceii, % является функцией координат.
Из (9.97) ясно, что при выборе qx = qy = 0.5, 6Х = б(/ = 0 либо qx = qy = 0, §х = §у = -^ производные третьего порядка,, дающие дисперсию, будут исключены. Однако последующее рассмотрение диссипативных членов с производными четвертого порядка несколько отличается, особенно для больших чисел Рейнольдса Ree” Оба метода дают положительную диссипацию, но в случае схемы с массовым оператором диссипация стремится к нулю с увеличением числа Рейнольдса ячейки, тогда как для случая четырехточечной схемы с разностями против потока это не имеет места. Результаты табл. 9.12 представляют' решение уравнения (9.97).
9.5.3. Поперечная диффузия
При использовании двухточечной схемы с разностями против потока для конвективных членов в одномерной задаче воз- сникает искусственная диффузия az = 0.5 иДх (табл. 9.1 и 9.3) .для одномерной задачи. В случае многих переменных влияние искусственной диффузии удобнее рассматривать в связи с локальным направлением потока. Так, в случае двух переменных коэффициенты искусственной диффузии вдоль потока и в поперечном к потоку направлении представляют больший физический интерес, чем коэффициенты искусственной диффузии вдоль координатных направлений.
При а = а% = а“ и и = v = const двумерное стационарное :уравнение конвекции — диффузии можно записать в виде
dt . дt亍 讲干、
(999)
Ъудем предполагать, что для дискретизации производных ^дТ/дх и АТ/。,используется двухточечная схема с разностями против потока, а для дискретизации д2Т/дх2 и d2T/dy2 — трехточечные центральные разности. Разложение в ряд Тейлора членов полученного в результате дискретизации разностного уравнения показывает, что оно с точностью О (Дх2, Ду2) аппроксимирует уравнение
дТ . дТ /62Tд2Т с m
"击+砂-e+吟丽一e+吟正^,(9/°。)
тде а; = 0.5〃А%, а; = 0,5必у.
Ясно, что уравнение (9.100) является непосредственным обобщением одномерного уравнения (9.51) с той разницей, что оно содержит искусственную диффузию по координатным направлениям.
В уравнении (9.100) удобно перейти к координатной системе, связанной с касательным и нормальным к потоку направлениями. В результате получим
ds \ ds3 дп2 / s as? sn ^s дп 九 дп2 '' 丿
где
《=0.5g (A% cos3 а + Ay sin3 а),
唸=0.5g (Ay sin а — A% cos a) sin 2a,
a; = 0.5g (A% cos a sin2 a + Ay sin a cos2 a).
В уравнении (9.101) s и n означают координаты по касательной и нормали к локальному направлению потока
соответственно. Кроме того, скорость равномерного потока q направлена под углом а к оси х, так что
〃 = gcosa и u = gsina. (9.102〉
Первые три члена в уравнении (9.101) являются результатом непосредственного преобразования уравнения (9.99). Последние три члена описывают искусственную диффузию. В случае А% = Ау видно, что а; будет максимальным при а = 45° и нулевым, если направление потока совпадает с осью % или ,И наоборот, искусственная диффузия вдоль линий тока максимальна при а = 0 или 90° и минимальна при а = 45°.
С первого взгляда может показаться, что искусственная диффузия вдоль линий тока представляет большой интерес, так. как при А% = Ау |《|》а; для всех а в интервале 0《а《 W 90°. Однако для большинства течений производная d2T/ds2 очень мала всюду, кроме окрестности точки торможения. И наоборот, для сдвиговых течений и пограничного слоя (гл. J6) д2Т/дп2》d2T/ds2 и производная д2Т/дп2 сравнима по величине с конвективным членом qdT/ds. Следовательно, поперечная искусственная диффузия может вносить значительную погрешность, если аппроксимация конвективных членов имеет недостаточно высокий порядок, а локальное направление потока не совпадает с координатными линиями. В противоположность- этому методы, которые приводят к искусственной диффузии только вдоль линий тока [Brooks, Hughes, 1982], весьма эффективны для построения неосциллирующих достаточно точных решений для многих гидродинамических задач.
Поперечная искусственная диффузия подробно изучалась теоретически и экспериментально в работах [de Vahl Davis, 1976; Mallinson, 1976; Raithby, 1976; Griffiths, Mitchell, 1979]..
§ 9.6. Заключение
В этой главе применялись последовательно различные численные методы, рассмотренные в гл. 7 для уравнения диффузии, к линейному уравнению конвекции, стационарному уравнению диффузии и уравнению переноса. Эти уравнения являются модельными различной степени сложности для уравнений (гл. 11), описывающих задачи гидродинамики. Соответствующие методы будут применены в гл. 14—18 к определяющим уравнениям гидроаэродинамики.
При исследовании модельных уравнений основное внимание уделялось тому, как выделить численную дисперсию и диссипа^
цию и по возможности ее регулировать. Это особенно важно при использовании алгебраических схем первого порядка точности в тех случаях, когда диффузия либо отсутствует, либо много меньше по порядку величины, чем конвекция. В другой ситуации, когда конвекция преобладет над диффузией, могут возникать нефизические осцилляции, если для дискретизации конвективных членов используется симметричная трехточечная алгебраическая формула на грубой сетке. Однако введение массовых операторов, которые привносят черты конечно-элементного метода, обеспечивает механизм контроля за колебаниями дисперсионного типа. При использовании метода расщепления введенного в § 8.3, массовые операторы оказались полезными при исследовании стационарных и нестационарных многомерных задач.
Альтернативные способы контроля за осцилляциями дисперсионного типа обеспечиваются введением четырехточечной дискретизации против потока для конвективных членов. Этот прием оказывается эффективным, хотя он часто вносит дополнительные диссипативные члены более высокого порядка, которые могут оказаться существенными на грубой сетке. Четырехточечная дискретизация против потока может быть введена и в неявные алгоритмы, но она приводит обычно к четырех- .диагональным системам уравнений, которые могут быть решены с помощью алгоритма Томаса после сведения системы к трехдиагональному виду. Это на 80 % увеличивает машинное время по сравнению с тем, которое затрачивается на решение ^самого алгоритма Томаса. Использование четырехточечных схем, кроме того, приводит к необходимости введения дополнительных граничных условий на входе или локального сведения к трехточечной схеме.
Сопоставление различных методов, использованных в данной главе, показывает и сравнительную цену эффективности метода модифицированных уравнений (п. 9.2.2) для построения улучшенных алгоритмов. Поскольку в его основе лежит разложение в ряды Тейлора, этот метод дает информацию только о длинноволновых характеристиках.
Для получения коротковолновых характеристик требуется анализ Фурье (п. 9.2.1), который используется также и при анализе устойчивости по Нейману (§ 4.3). Однако если метод модифицированных уравнений допускает непосредственное обобщение на нелинейные схемы и уравнения, то при использовании анализа Фурье требуется локальная линеаризация, которая может привести к ухудшению эффективности метода для нелинейных задач гидроаэродинамики (гл. 10, 11 и 14—18).
§ 9・7・ Задачи
Одномерное линейное уравнение конвекции (§ 9.1)
Получите выражение для погрешности аппроксимации, указанной в табл. 9.1 для схемы Лакса — Вендроффа.
Примените анализ устойчивости по Нейману к схеме Кранка ——Николсона (9.22) с массовым оператором и убедитесь в выполнении условия 6 W 0.25 для устойчивости схемы.
Примените программу TRAN для решения задачи о конвекции синусоидальной волны с помощью схемы Кранка ——Николсона с массовым оператором и сравните полученные решения с приведенными на рис. 9.2—9.4.
Численная диссипация и дисперсия (§ 92)
Примените анализ Фурье (п. 9.2.1) к одномерному уравнению конвекции для следующих схем: (1) схемы с разностями против потока, (2) схемы Лакса — Вендроффа, (3) конечно-разностной схемы Кранка — Николсона при С = 0.8 и Дх = 0.5. Получите результаты, эквивалентные приведенным в табл. 9.9, причем для этого рекомендуется составить программу расчета на ЭВМ. Проанализируйте решения, показанные на рис. 9.2——9.4,. относительно фурье-разложений.
Примените метод модифицированных уравнений: (1) к схеме с раз-- ностями против потока, (2) к схеме Лакса — Вендроффа, (3) к конечно-разностной схеме Лакса ——Вендроффа для анализа одномерного уравнения- конвекции и подтвердите результаты, приведенные в табл. 9.1. Сравните расчетные характеристики с анализом Фурье задачи 9.4 и результатами, показанными на рис. 9.2—9.4.
Постройте обобщенную трехслойную схему, эквивалентную (8.26),. для одномерного уравнения конвекции. Примените метод модифицированного уравнения с произвольными 丫 н § н определите, имеется ли возможность их оптимального выбора для минимизации ошибок, связанных с дисперсией и диссипацией. Внесите изменения в программу TRAN, включив в нее эту задачу, и проверьте ее действие на задаче о конвекции синусоидаль-- ной волны.
Стационарное уравнение конвекции — диффузии (§ 9.3)
Включите схему центральных разностей (9.45) и схему с разностями против потока (9.50) в программу расчета и подтвердите результаты,. приведенные на рис. 9.5 и 9.6.
Проведите расчет по программе, составленной в задаче 9.7 с граничным условием Неймана dT/dx = g при х = 1.0. Выберите g таким образом, чтобы точное решение было близко к решениям, приведенным на рис. 9.5 и 9.6. Сравните решения с полученными для случая, когда задано, граничное условие Дирихле.
Получите симметричные пятиточечные схемы для dT/dx и dPT/dx2, минимизируя ошибку аппроксимации, оставляя в каждом выражении по одному параметру. Примените эту схему к решению конвективного уравнения диффузии с граничным условием Дирихле (9.43). Используйте точное решение (9.44) для получения требуемого граничного условия. Измените подпр。- граммы BANFAC и BANSOL для решения системы с полученной в результате пятидиагональной матрицей. Полученные решения сравните с приведенными в табл. 9.2 и определите, будет ли выбор двух подходящих параметров приводить к более точным, но устойчивым решениям.
' Одномерное уравнение переноса (§ 9.4)
Примените метод модифицированного уравнения к дискретиза- .циям Лакса ——Вендроффа и Кранка ——Николсона_ для одномерного уравнения переноса и подтвердите результаты, приведенные в табл. 9.3.
Для явной четырехточечной схемы с разностями против потока, т. е. (9.71) с заменой 0.5(Т; + Т;+1) на Т; в пространственном операторе, воспользуйтесь методом модифицированного уравнения для определения оптимальной величины q. Примените анализ устойчивости по Нейману для определения критериев устойчивости. Проведите расчет по программе TRAN с оптимальным д, если схема устойчива, при условиях, данных в табл. 9.6, и •сравните полученные результаты.
Измените программу TRAN, включив в нее трехслойную чисто не- •явную схему (табл. 9.3). Решите задачу о распространении температурного -фронта (п. 9.4.3) для повышенных чисел Рейнольдса ячейки и определите эмпирически границу, до которой не появляются осцилляции решения. Повторите все расчеты по схеме Кранка — Николсона с конечными разностями и конечными элементами.
Лвумерное уравнение переноса (§ 9.5)
Примените метод модифицированного уравнения к схеме Кранка — .Николсона с массовым оператором для двумерного уравнения переноса (9.81) и определите оптимальные значения 6* н 6乡 в (9.86) для минимизации дис- шерсионных ошибок.
С помощью программы THERM сравните приближенную факТори- гзацию с помощью конечно-разностной схемы AF-FDM, четырехточечной схемы с разностями против потока (AF-4PU) (д = 0.5) и метода конечных .элементов (AF-FEM) для числа итераций, достаточных для сходимости. Про- .делайте это для трех маршевых алгоритмов: (а) у = 0, В = 0.5; (Ь) у = 0, В = 1; (с) y = 0,5, р = 1 и на сетках 11 X Н и 21 X 21.
На основе табл. 9.12, решения задачи 9.14 и дополнительных решений, полученных из программы THERM, сравните вычислительную эффективность трех методов приближенной факторизации: конечно-разностного метода (AF-FDM), четырехточечной схемы с разностями против потока (AF・ •4PU) и метода конечных элементов (AF-FEM).
Глава 10
Нелинейные задачис преобладающим влиянием конвекции
В гл. 9 были рассмотрены линейные задачи с преобладающим влиянием конвекции. Как было показано там, процесс дискретизации уравнений, и в особенности их конвективных членов, требует особой осторожности во избежание появления фиктивных членов с высшими производными (если иметь в виду модифицированное уравнение), которые по своей величине могут оказаться сравнимыми с членами определяющего уравнения, важными по своему физическому смыслу. Эта проблема особенно серьезна при введении двухточечных разностей со сдвигом вверх по потоку.
Установление связи производных высокого порядка в модифицированном уравнении (п. 9.2.2) с процессами диссипации и дисперсии позволяет построить более точные вычислительные алгоритмы. Например, четырехточечные системы со сдвигом- вверх по потоку позволяют избежать чрезмерных осцилляций, связанных с дисперсией (п. 9.3.2 и 9.4.3), без введения нежелательной диссипации, как в случае двухточечной схемы со сдвигом вверх по потоку.
Конвективные члены, входящие в уравнение энергии (п. 11.2.4), являются линейными, если известно поле скоростей. Однако конвективные члены уравнений импульсов (п. 11.2.2 и 11.2.3) существенно нелинейны. В данной главе рассматриваются дополнительные осложнения, связанные с нелинейной конвекцией. Подходящую для этой цели модель обеспечивает одномерное уравнение Бюргерса, так как оно обладает конвективной нелинейностью той же самой формы, что и уравнен?я Навье — Стокса для несжимаемой жидкости (§ 11.5), и допускает легко вычислимые точные решения для разнообразных комбинаций начальных и граничных условий.
В процессе применения анализа устойчивости по Нейману конвективную нелинейность необходимо нейтрализовать. Это осуществляется путем временного замораживания коэффициентов при производных, фактически зависящих от решения. При анализе нелинейных вычислительных алгоритмов можно воспользоваться методом модифицированного уравнения [Klopfer,.
McRae, 1983], однако появление произведений производных высшего порядка делает процесс построения схем повышенной точности менее конкретным и надежным (п. 10.1.4), чем это было для линейных уравнений (п. 9.4.3).
Нелинейный характер конвективных членов обусловливает появление больших градиентов зависимых переменных. Это наводит на мысль об использовании неоднородных сеток, локально измельченных в окрестности быстрых изменений решения. Влияние неоднородности сетки на ошибку аппроксимации и точность решения кратко анализируется в п. 10.1.5. Этот вопрос более подробно обсуждается в гл. 12.
Определяющие уравнения гидроаэродинамики (гл. 11) обычно имеют структуру систем, являясь при этом нелине访ними. Дополнительные осложнения, связанные с построением вычислительных алгоритмов для систем нелинейных уравнений, подвергаются предварительному рассмотрению в § 10.2.'
Как мы видели ранее (гл. 5), метод Галёркина с конечными элементами приводит к точным и экономичным алгоритмам для решения линейных задач с преобладающим влиянием конвекции (п. 9.1.4, 9.4.3 и § 9.5). Однако учет конвективной нелинейности является потенциально неэкономичным в условиях многомерности или при использовании интерполяции повышенного порядка. Недостаточная экономичность может быть преодолена за счет применения группового метода конечных элементов; описание этого метода дается в § 10.3.
Схемы расщепления, рассмотренные в § 8.2, 8.3 и 9.5, распространяются на двумерные уравнения Бюргерса в п. 10.4.2. Как и их одномерный вариант, двумерные уравнения Бюргерса допускают без труда строящиеся точные решения, по крайней мере для предельного стационарного состояния, позволяя тем самым осуществлять прямые оценки точности конкретных вычислительных алгоритмов (п. 10.4.3).
I§ 10.1. Одномерное уравнение Бюргерса
Одномерное уравнение Бюргерса [Burgers, 1948] имеет вид дй , _ дй、
前+—”寸=°・(1°・1)
Уравнение Бюргерса аналогично уравнению переноса (9.56), если не считать того, что здесь конвективный член является уже нелинейным. Это та же самая форма нелинейности, которая имеет место и в уравнениях импульсов (п. 11.2.2 и 11.2.3). Чтобы подчеркнуть упомянутую связь с уравнениями импульсов, коэффициент диффузии а из уравнения (9.56) был заменен
на коэффициент кинематической вязкости v в уравнении (10.1). Более глубокий анализ уравнения Бюргерса проводится в работах [Fletcher, k983a; Whitham, 1974].
Физическое поведение
Если из уравнения (10.1) удалить «вязкий» член, то в результате получим невязкое уравнение Бюргерса
(Ю.2)(Ю.2)дй . - дй 八万+"赤=°,
(Ю.2)
(Ю.2)
которое можно сравнить с уравнением (9.2). Наличие нелинейности в уравнении (10.2) позволяет развиваться непрерывным
Рис. 10.1. Формирование неоднозначного решения невязкого уравнения Бюргерса (10.2).Рис. 10.1. Формирование неоднозначного решения невязкого уравнения Бюргерса (10.2).
Рис. 10.1. Формирование неоднозначного решения невязкого уравнения Бюргерса (10.2).
Рис. 10.1. Формирование неоднозначного решения невязкого уравнения Бюргерса (10.2).
решениям. На рис. 10.1 дается схематическая иллюстрация того, как происходит этот процесс. Конвекция переносит волну слева направо, и на рисунке показаны решения для последовательности значений времени / = 0, Л, /2. Точки на волне, где значения й больше, подвергаются более быстрой конвекции и в конечном итоге опережают участки волны, конвектируемые с меньшими значениями ". Чтобы уравнение (10.2) имело единственное решение (и приносило результат, имеющий физический смысл), необходимо постулировать возникновение ударной волны (линия ab на рис. 10.1), при переходе через которую й изменяется разрывным образом.
Сравнимая с этой схемой эволюция волны для «вязкого» уравнения Бюргерса (10.1) показана на рис. 10.2. Вязкий член уд2й/дх2 производит двоякое воздействие. Во-первых, он уменьшает амплитуду волны при возрастании t (точно так, как и для уравнения переноса). Во-вторых, он предотвращает развитие многозначных решений, подобных показанным на рис. 10.1.
Вышеупомянутые особенности делают уравнение Бюргерса очень подходящей моделью для проверки работы вычислительных алгоритмов для описания таких течений, где предвидятся либо очень большие градиенты, либо ударные волны. Роль этого уравнения как средства для проверки действия вычислительных алгоритмов облегчается за счет применения преобразования Коула — Хопфа [Cole, 1951; Hopf, 1950], позволяющего строить точные решения уравнения Бюргерса для многих комбинаций начальных и граничных условий. Примеры использования уравнения Бюргерса с такими целями приводятся
Рис. 10.2. Эволюция решения уравнения Бюргерса (10.1).
в работе [Fletcher, 1983а]. В п. 10.1.4 с помощью уравнения Бюргерса демонстрируются различные вычислительные алгоритмы для расчета течений с преобладающим влиянием конвекции.
Существует альтернативный подход к обращению с нелинейным конвективным членом. Он требует, чтобы уравнение (10.1) было переписано в консервативной, или дивергентной, форме —
黑+黑-"费=。, (1。,3)
где 戸= 0.5 "2. Группы членов наподобие 戸 естественным образом возникают при выводе уравнений, определяющих течение жидкости (п. 11.2.1), и нередко подвергаются прямому моделированию в вычислительных алгоритмах, особенно при исследовании течения сжимаемой жидкости (§ 14.2 и 18.3). Та же идея используется и при формулировке группового метода конечных элементов (§ 10.3).
Наличие нелинейного конвективного члена в уравнении (10.2) способствует также вознкновению побочного эффекта
(aliasing). Если начальное условие й(х, 0), относящееся к (10.2), разлагается по соответствующим компонентам Фурье, как это было сделано при выводе уравнения (9.30), то последующая эволюция решения, определяемого уравнением (10.2), приведет к быстрому расширению спектра длин волн с заметными амплитудами, реализуемому через посредство произведений компонент Фурье, появляющихся из-за наличия нелинейного члена йдй/дх.
Когда решение строится на сетке с размером ячейки Ах, наименьшая длина волны, которую можно различить, равна 2Дх. Энергия, связанная с волнами, длина которых меньше 2Дх, выявляется в связи с волнами большой длины. Это явление называется побочным эффектом [Hamming, 1973]. К сожалению, коротковолновые вклады в решение, подвергнутые побочному эффекту, искажают истинный характер длинноволновой части решения и даже могут привести к неустойчивости (которую называют нелинейной неустойчивостью) в тех случаях, когда интегрирование уравнений проводится на очень больших интервалах времени, как, например, при численной реализации прогноза погоды.
Следует напомнить (§ 9.2), что при наличии любого вида диссипации — физической или численной — амплитуда коротковолновой части решения весьма существенно уменьшается; в этом случае ошибки, порождаемые побочным эффектом, оказываются минимальными. Именно такая ситуация складывается для большинства инженерных задач гидроаэродинамики, когда, как правило, имеет место физическая диссипация. Однако многие классы геофизической гидродинамики характеризуются конвекцией волновых пакетов при очень малой физической диссипации или ее отсутствии. В этих условиях побочный эффект, а также нелинейная неустойчивость, может представлять серьезную проблему.
Явные схемы
Конечно-разностное представление уравнения (10.1) в соответствии со схемой ВВЦП имеет вид
片+1-吟 片("储一〃*) "〃?一]-2"? + "储)
Дополнительный множитель 〃; у конвективного члена представляет собой локальное решение в узле (/, п). Это решение имеется в нашем распоряжении, а поэтому различные схемы (например, схема Дюфорта — Франкела и др.), предложенные
для решения линейного уравнения переноса (§ 9.4), могут быть применены и к решению уравнения Бюргерса.
Представления об ошибке аппроксимации и о модифицированном уравнении также могут быть распространены на нелинейные уравнения типа уравнения Бюргерса. При применении анализа устойчивости по Нейману дополнительный множитель “;у конвективного члена временно замораживается, нак как анализ устойчивости, строго говоря, применим только
Рис. 10.3. Точное решение уравнения Бюргерса.
к линейным уравнениям. Несмотря на то что применение анализа по Нейману к нелинейным уравнениям не поддается строгому обоснованию, выяснилось, что на практике такой анализ эффективен.
Вполне очевидный вариант применения схемы ВВЦП к уравнению (10.3), эквивалентный (10.4), принимает вид
w/+I-4 亠尸7+1-尸7-1“〃7—1-2吟+ 〃%[)_
武Д^ —(185)
Алгоритм, составленный на основе (10.5), является составной частью программы BURG (рис. 10.4) для случая ME = 1.
Потенциально более точная модель конвективного члена строится с помощью четырехточечной дискретизации со сдвигом вверх по потоку. Такая модель применялась к эквивалентному линейному конвективному члену в п. 9.3.2 и 9.4.3. Четырехточечная дискретизация dF/dx со сдвигом вверх по потоку вводится посредством замены (F;+i — F;_i)/2Ax в уравнении
28 К. Флетчер, т. 1
с с с с с с12 3 45.67890123456789012345578901234567890123456789012345678 工 1111111112222222222333333333 3,4 444444444555555555с с с с с с12 3 45.67890123456789012345578901234567890123456789012345678 工 1111111112222222222333333333 3,4 444444444555555555BURG SOLVES BURGERS EQUATION FOR A PROPAGATING * SHOCK*
с с с с с с
12 3 45.67890123456789012345578901234567890123456789012345678 工 1111111112222222222333333333 3,4 444444444555555555
с с с с с с
12 3 45.67890123456789012345578901234567890123456789012345678 工 1111111112222222222333333333 3,4 444444444555555555
DIMENSION R(65) ,U(65) ,3(65) ;UE(65) ,A(5r65)
1,EF(4) ,X(65) ,JUU2) ,BB(2) ,CC(2)
OPEN(1,FILE='BURG.DAT*) OPEN(6,FILE='BURG•OUT) READ(1J)HE,JMAX,KTIM,XMAX,AD READ(1;2)C,S,Q,EM
1 FORMAT(315,2E10.3)
2 F0RMAT(F5.2,3E10.3)
JMAF » JMAX - 2 JMAP « JMAX - 1 AMP « JMAP DX « 2JXMWAMP DT « C*DX SA « AD*C*C ALPH = S*DX*DX/DT IF(ALPH .LT. 1.OE-1O)ALPH = 1.0E-10 RCEL = DX/ALPH QQ '« Q*C/3.
IF(ME .LT. 3)QQ = 0.
MQ « 0
IF(ABS(QQ) ・GT・ 0.000DMQ = 1
ЛТ1М = NTIM
TIM = 0.
TIMAX = DT*ATIM PI » 3.141592654
VRITE(6f3)
3 FORMATC PROPAGATING SHOCK WAVE(BURGERS EQUATION)') 1Г(МЕ ・EQ・ l)VRITE(6r4)ME IF(ME .EQ. 2)VRITE(6r5)KE IF(ME .EQ. 3)VRITE(6r6)KE IF(ME .GE・ 4)VRITE(6r7)KE
4 FORMAT(5H ME =,I2,3XJ8H FTCS DIFFERENCING)
5 FORMAT(5H ME =,I2,3X,13H LAX-VEHDROFF)
6 FORMAT(5H ME =,I2,3X,20H EXPLICIT 4PT UPVIND)
7 FORMAT(5H ME =,I2,3X,23H GENERAL CRAMK-NICOLSON) 『RITE(6,8)JMAX,NTIMCDX,DT,XMAX
FORMAT (* JMAXa'J3,. NTIM«* ,13, * C=',F5・2, 1* DX«\r5.3, * DTn',F5・3J XMAX=\F5.2)
VRITE(6,9)S,ALPH,RCEL,Q,EH,SA
FORMAT (' SJ,F5・2,‘ ALPH«* ,E10.3, * RCEL=IF6・1J XLF5.2, 1* EM=',F6・3J SA=',E10.3)
IF(ME ・GT・ 3)GOTO 10
АЛ⑴ « 0.5*C + 3.*QQ
BB(1) «- 3.*QQ
CC(1) « -0.5*C + QQ IF(ME .NE. 2)GOTO 11 AA ⑴=0.
BB(1) = 0.5*C CC(1) = -0.5*C АЛ(2) = C BB(2) = -C CC(2) = 0.
Рис. 10.4. Распечатка программы BURG (начало).
*59
GOTO 11
6010
JUKI) « ЕМ + 0.5*S
61
ВВ(1) « 1.0 - 2.0*ЕМ - S
62
СС(1) « ЕМ + 0.5*S
6311
VRITE(642)AAfBBfCC
6412
FORMAT С AA«\2F8.5/ BB«\2F8.5/ CC»* ЛГ8.5,/)
65 С
66 С
INITIALISE U AND EVALUATE UEX
67 С
68
CALL EXSH(JMAX,X,U,UE,DX,XMXX,ALPH,TIMAX)
69 С
70
UD(1) « U(l)
71
UD(JMAX) = U(JMAX)
72
DO 14 J » 1,JMAX
73
DO 13 К = 1,5
7413
A(K,J) « 0.
7514
CONTINUE
76
WRITE(6Д5)TIM
7715
FORMATC INITIAL SOLUTION, TIM =',F5:3)
78
VRITE(6r16)(X(J),J»1,JMAX)
79
WRITE(6,17)(U(J),J«1,JMAX)
8016
FORMAT(* X=,J2F6.3)
8117
FORMATS U—12F6.3)
82 С
83 С
MARCH SOLUTION IN TIME
84 С
然
DO 27 N > 1ЛТ1М
名6
IF(ME ・GT・ 3)GOTO 21
»7 С
*8 С
EXPLICIT SCHEMES
89 С
90
IP « 1
9118
IF(IP ・EQ. l)EF(l) « 0.5*U(l)*U(l)
92
IF(IP ・EQ・ 2)EF(1) » 0.5*UD(l)*UD(l)
93
EF(2) = EF(1)
94
EF(3) « EF(2)
95
IF(IP .EQ. 1)EF(4) = 0.5*U(2)*U(2)
96
IF(IP .EQ. 2)EF(4) = 0.5*UD(2)*UD(2)
97
DO 20 J > 2fJMAP
98
IF(ME .EQ. 3)EF(1) » EF(2)
99
EF(2) = EF(3)
100
EF(3) « EF(4)
101
IF(IP .EQ. 1)EF(4) » 0.5*U(J+l)*U(J+l)
102
IF(IP .EQ. 2)EF(4) = 0.5*UD(J+l)*UD(J+l)
103
DUM = S*(U(J-1)・ 2.*U(J) + U(J+1))
104
IF(ME .NE. 2 .OR. IP .EQ. 2)GOTO 19
105
JP « J+l
106
IF(J .EQ. JMAP)JP 傘 J
107
DUM « O.5*DUM+O.5*S*(U(J)-2.*U(J+1)+U(JP+1))+O.5*(U(JP)-U(J))
10819
UD(J) « U(J) + AA(IP)*EF(2) + BB(IP)*EF(3) + CC(IP)*EF(4) + DSC
109
IF (ME .EQ. 3)UD(J) = UD(J) - QQfF(l)
11020
CONTINUE
111
IF(ME ・NE・ 2 .OR. IP ・EQ・ 2)GOTO 25
112
IP « IP ♦ 1
113
GOTO 18
Рис. 10.4 (продолжение).
114 С
115
С
TRIDIAGONAL SYSTEM FOR IMPLICIT SCHEMES
116
С
117
21 IF(MQ .EQ. DDIM = U(l)
118
DO 22 J = 2,JMAP
119
JM = J - 1
120
IF(JM ・NE・ DDIM = U(JM-l)
121
A(1,JH) = 0.5*QQ*DIM
122
A(2,JM) = EM - 0.5*S - (0.25*C +
l・5g*U(JH)
123
A(3,JM) = 1.0 - 2.0*EM + S + 1・5*QQ*U(J)
124
A(4,JH) = EM - 0.5*S + (0.25*C -
0.5*QQ)*U(J+l)»
125
IF(ME .NE. 5 )GOTO 22
126
A(2,JM) = A(2,JH) - 0.5*SA*U(JM)
127
A(3,JM) = A(3,JM) + SA*U(J)
128
A(4,JH) = A(4,JM) - O.5*SA*U(J+1)
129
22 R(JM) = AA⑴*U(JM) + BB(1)*U(J)
+ CC ⑴ AU(J+D
130
Rd) = R(L) - A(2,1)*U(1)
131
IF(HQ .EQ. O)GOTO 24
132
R(l) = R(l) - A(1,1)*U(1)
133
R(2) = R(2) - A(1,2)*U(1)
134
С
135
С
REDUCE A TO TRIDIAGONAL FORM
136
С
137
DO 23 JM = 3,JMAF
138
JMM « JM - 1
139
DUM = A(lrJM)/A(2fJMri)
140
JU2,』H) = A(2,JM) - A(3,JMM)*DUM
141
A(3,JM) = A(3,JM) - A(4,JHM)*DUH
142
A(1,JM) = 0.
143
R(J# = R(JM) - R(JMM)*DUM
144
23 CONTINUE
145
А(1Д)、= 0.
146
A(l,2) = 0.
147
24 A(2,l) = 0.
148
A(4,JMAF) = 0.
149
С
150
CALL BANFAC(ArJMAFrl)
151
CALL BANSOL(R,UD,A,JMAF,1)
152
С
153
25 DO 26 J = 2,JMAP
154
IF(ME .LE. 3)U(J) = UD(J)
155
IF(ME .GT. 3)U(J) = UD(J-l)
156
26 CONTINUE
157
27 CONTINUE
158
С
159
VRITE(6r28)TIMAX
160
28 FORMAT(' FINAL SOLUTION, TIM »',F5.3>
161
WRITE(6,16)(X(J),J=1,JHAX)
162
WRITE(6,17)(U(J),J=1,JMAX)
163
NRITE(6,29)(UE(J),J=1,JMAX)
164
29 FORMATC UE=‘J2F6.3)
165
SUM = 0.
166
DO 30 J = 2,JMAP
167
30 SUM = SUM + (U(J) - UE(J))**2
168
RMS = SQRT(SUM/(AMP7.))
169
VRITE(6,31)RMS
170
31 FORMAT「 RKS ERR=,,E12.5)
171
STOP
172
END
Рис. 10.4 (окончание).
437437(10.5) на оператор L^)F, имеет форму(10.5) на оператор L^)F, имеет формукоторый в случае положительного 〃который в случае положительного 〃ВВ或尸=或尸=f了+1 -尸了T2Лхf了+1 -尸了T2Лхg (尸_ з尸卜1 + 3尸/ 一尸介[)зД%g (尸_ з尸卜1 + 3尸/ 一尸介[)зД%(10.6>(10.6>случае отрицательногослучае отрицательногои выражение (10.6) заменяется наи выражение (10.6) заменяется на
437
437
(10.5) на оператор L^)F, имеет форму
(10.5) на оператор L^)F, имеет форму
который в случае положительного 〃
который в случае положительного 〃
В
В
或尸=
或尸=
f了+1 -尸了T2Лх
f了+1 -尸了T2Лх
g (尸_ з尸卜1 + 3尸/ 一尸介[)зД%
g (尸_ з尸卜1 + 3尸/ 一尸介[)зД%
(10.6>
(10.6>
случае отрицательного
случае отрицательного
и выражение (10.6) заменяется на
и выражение (10.6) заменяется на
§ 10.1. Одномерное уравнение Бюргерса
(10.7>(10.7>I 0(戶了一一3尸, + 3尸什]一尸-2) 十3а尤
(10.7>
(10.7>
Формулы (10.6) и (10.7) имеют ошибки аппроксимации порядка О,А%2)независимо от выбора q, за исключением случая q = 0.5, когда эти ошибки имеют порядок О (Ах3). Для рассматриваемой в п. 10.1.4 задачи о распространении ударной волны явная четырехточечная схема со сдвигом вверх по потоку, соответствующая формулам (10.6) и (10.7), включена как составная часть в программу BURG (рис. 10.4) для случая ME = 3.
Уравнения, определяющие неустановившиеся одномерные течения невязкой жидкости с ударными волнами (§ 10.2 и 14.2), по своей структуре аналогичны консервативной форме невязкого уравнения Бюргерса, т. е.
(10.8)
где 戶= 0.5〃2. Ранее к линейному аналогу уравнения (10.8) в форме (9.2) применялась схема Лакса — Вендроффа (9.16). Ввиду нелинейности функции 尸 замена д2й)д12 на эквивалент* ную производную будет значительно сложнее, чем это было в, п. 9.1.3. Так, из уравнения (10.8) следует
/汇 @2戶 a (dF\ dF л дй л dF
亦=一而万=一丽丿И方Г = 4Н = T后
где А = d戶/0". В случае уравнения Бюргерса А = й. Использование вышеприведенных соотношений дает
需=易(4等)需=易(4等)(10.9>(10.9>
需=易(4等)
需=易(4等)
(10.9>
(10.9>
Если _ ввести подходящую форму дискретизации для д(АдР/дх)/дх, то при применении схемы Лакса — Вендроффа к уравнению (10.8) получим
〃;+〔 = 〃7 — 0.5^-(尸储一K-i) +
+。・5(錯2[4+ 1/2 (尸;+i —尸7) — 4-1/2(呼一尸3)], (io.io>
где в применении к уравнению Бюргерса 4+"2=〃/+i/2 = =0.5(〃/+ 〃j+i) и т. д. Схема (10.10) обладает ошибкой ап- лроксимации порядка О (Д^2, Дх2) и устойчива при |〃тахА〃А%| ^^ 1.0.
С учетом явного появления якобиана А после полушагов У— 1/2 и / + 1/2 схема (10.10) является в вычислительном плане менее экономичной, чем эквивалентный алгоритм (9.16) для линейного уравнения конвекции. Более экономичный метод вычисления получается в результате замены схемы (10.10) на эквивалентный ей двухэтапный алгоритм
〃:+1/2 = 0.5(": + W/+1) 一 0.5"^(尸:+1 -f:),(10.11)
^ (尸;+ 1/2 — 尸;-1/2).(10.12)
Формула (10.11) дает возможность получить промежуточное ре・ ,шение 〃;_1/2,обычно на временном слое (п + 1/2) Д/, позволяющее вычислить 尸;+1/2 и т. д., подставляя результат в правую часть формулы (10.12). Двухэтапная схема (10.11), (10.12) эквивалентна схеме (9.16), если F = и. Для упрощения программирования значения F при / + 1/2 вводятся в память на место F(/). Это сделано в программе BURG (рис. 10.4) для варианта ME = 2.
В историческом плане [Richtmyer, Morten, 1967] двухэтапный алгоритм (10.11), (10.12) оказался весьма успешным для предсказания поведения невязкого сжимаемого потока. Попытки распространить его на изучение потока с вязкостью, сделанные, например, в работе [Thommen, 1966], были не столь удачными из-за формального снижения точности до порядка O(Af, Ах2). В итоге результаты для стационарного состояния были достаточно точными, но шаг по времени подвергался ограничению, связанному с условием устойчивости Куранта — Фридрихса — Леви. При решении нестационарных задач шаг по времени необходимо было подвергнуть еще более суровому ограничению, чтобы добиться приемлемой точности. Обобщение алгоритма (10.11), (10.12), сделанное Томменом и ставящее своей целью дискретизацию уравнения (10.3), можно представить в форме
^/ + 1/2 = 05( "7 + 苏+1) - 0.5 展(f7+1 -尸力 +
+ 0.5s [0.5 (唯[一 2号 + 明 1) + 0.5 ⑷一2"; + 吋+孙(10.13) 〃产=碎一言(尸3/2 一 f3/2)+ s (忆I - 2吋 + %),(10.⑷
где s = vAf/A%2. Эта схема включена в программу BURG (ME = 2). Из рассмотрения формулы (10.13) видно, что расчет члена с вязкостью охватывает четыре узловые точки; это вызывает необходимость задания добавочных граничных условий для вычисления 〃/+2・ Схема (10.13), (10.14) приводит к устойчивым решениям, если
А/(42&+ 2v)&A%2. (10.15>
Как указывается в книге [Peyret, Taylor, 1983], явный и практически приемлемый критерий получения устойчивого решения имеет вид А/ & Ax2/(2v + |Л | Ах).
Совокупность формул (10.13), (10.14) можно интерпретировать в качестве одного из членов семейства Sp, Y, введенного в работе [Lerat, Peyret, 1975]. Это семейство методов обсуждается в книге [Peyret, Taylor, 1983]. Родственное семейство Sp для расчетов по невязкому уравнению Бюргерса обсуждается в п. 14.2.2. Параметр у определяет пропорцию распределения при вычислении члена с вязкостью, который в формуле (10.13) центрируется в узловых точках j и / + 1. В случае схемы Томмена а = 0 = у = 0.5.
Общая классификация разностных схем для решения невязкого уравнения Бюргерса (10.2), включающая в себя и семейство Sp, дается в работе [Yanenko et al., 1983]. Эта классификация охватывает также и неявные схемы, причем отно* сится, в частности, к уравнениям Эйлера для одномерного- неустановившегося течения (10.40), (10.41). Яненко и его соавторы описывают и дают ссылки на работы в отношении многих схем советского происхождения, малоизвестных западным; авторам.
Неявные схемы
Применение неявных схем к нелинейным уравнениям типа уравнения Бюргерса не является столь же непосредственным^ как в случае линейных уравнений (гл. 9). Вариант неявной схемы Кранка — Николсона в применении к уравнению (10.3) принимает вид
«^^ = 一 0.5 点(尸7+ 居+1) + 0.5v 以% (域 + 壮+) (10.16>
где A〃;+i = 〃;+i —〃力 L% = (—1, 0, 1)/2 Ах и Lxx = (1, —2, 1)/Дх2. Чтобы воспользоваться чрезвычайно эффективным алгоритмом Томаса (п. 6.2.2), необходимо свести соотношение (10.16) к трехдиагональной линейной системе уравнений относительна
решения 辽;+) Наличие неявного нелинейного члена F/+1 ставит при этом серьезную проблему.
Указанную проблему можно, однако, разрешить таким же путем, который использовался при введении поправки к решению АТ;+\ когда рассматривались схемы расщепления (§ 8.2). А именно, проводится разложение F^ в ряд Тейлора в окрестности n-го временного слоя. Тогда
尸产=" + a"紀;+ 0.5 N…
ИЛИ
尸产=尸:+ 4 A〃产1 + 0 (卽2),
где Л = [dF/du]j + и} применительно к уравнению (10.3). В результате схему (10.16) можно превратить в следующий трехдиагональный алгоритм:
■^^ = 一 0.5厶(2严 + 心 A〃;+i) + 0.5vLxx (w/ + 〃产I) (10.17) или
讲+1 + 0.5 Д/ [Lx (ф/ + 1) 一 vLxxu^] = 〃7 + 0.5vA/Lxx^. (10.18)
В процессе вывода формулы (10.18) член L*F; сократился. Будучи преобразованным к трехдиагональной форме, соотношение (10.18) может быть записано в виде
力苏寸+讨曲+1 + с%#;=力,(10.19)
где
а; = — 0.25 (Д//Дх)辽;г — 0.5s,
6; = 1 + s,
с; = 0.25 '^~〃7+i — 0・5s,
d; = 0.5s〃;_ 1+(1 — s)〃7 + O・5s 力+i и s = vA〃A%2.
Очевидно, коэффициенты а; и с; являются функциями ип и поэтому на каждом шаге по времени должны вычисляться заново. Однако форма соотношения (10.19) позволяет осуществить непосредственное использование алгоритма Томаса (п. 6.2.2).
Неявная схема (10.18) имеет ошибку аппроксимации порядка О(А/2, Дх2) и является безусловно устойчивой в смысле Неймана. Линеаризованная схема Кранка — Николсона (10.17) может быть обобщена так, чтобы включить в нее массовые one-
раторы и четырехточечную дискретизацию конвективного члена со сдвигом вверх по потоку (п. 9.4.3). Следуя (9.69) и (9.71)v обобщенный вариант дискретизации уравнения (10.3) по схеме Кранка — Николсона записывают в виде
Мх (~^—) = — 0・5度)(2F/ + 辽7 Ди/+1) + 0.5vLXx (^/ + 〃产) (10.20> где Му = {б, 1—26, S}, a Lx}F определяется формулой (10.6) при положительном и. Ошибка аппроксимации для схемы (10.20) имеет порядок О (А/2, Ах2). В четырехдиагональной форме представление (10.20) сводится к соотношению
elu}-2 + 〃阻;t; + 6/^7+1 + c^Uj+l = d;,(10.21}
где
力=_ (0.25 + 0.5g) ^ 〃* + 6 — 0.5s,
疗=l+0.5g^ 力一26 + s,
с; =(0.25 — 普)"^ 〃;+i + 6 — 0.5s,
力=(6 + 0.5s) щ-х + (1 — 26 - s) 〃; + (6 + 0.5s) u/+i.
Четырехдиагональная система уравнений (10.21) может решаться с помощью обобщенного алгоритма Томаса (п. 6.2.4). На практике четырехдиагональная система (10.21) сводится к трехдиагональной форме (строки 134—144 на рис. 10.4), после чего подпрограммы BANFAC и BANSOL применяются обычным способом. Обобщенный алгоритм Кранка — Николсона (10.21) включается в программу BURG при условии, что ME = 4 или больше.
Устойчивые решения системы (10.21) получаются при б W 0.25 и g》0. Как можно было ожидать на основании изложенного в п. 9.4.3, выбор специальных значений 6ng будет уменьшать колебания, связанные с дисперсией. Этот вопрос затрагивается в п. 10.1.4.
BURG: сравнение численных результатов
В данном пункте различные явные (п. 10.1.2) и неявные (п. 10.1.3) схемы будут применены к решению задачи о распространении ударной волны, процесс которого определяется
«вязким» уравнением Бюргерса (10.3). При / = 0 ударная волна находится в точке х = 0. Начальные условия имеют вид
UQ(X)= U(Xf 0)= 1.0 при —%тах《%《0,
〃0(%)=。(%,0) = 0 при 0 < % < хтах.( •)
Следующие граничные условия задаются при % = 士%max: 。(一%max,/)=1・0,〃(尤max,%)=。・(10.23)
При указанной комбинации начальных и граничных условий уравнение (10.3) имеет точное решение, представляемое в виде j [(%-9/f]e-0・5ReGdE// j C-0・5ReGdW, (Ю.24) где g2
G低;x, /)=J 〃o^)c^ + °包&尸發и Re= 1/v.
о
Выражение (10.24) представлено на рис. 10.3 в форме графиков для двух значений Re. При использовании выражения (10.24) в качестве точного решения необходимо ввести ограничения на время и на наименьшее значение Re таким образом, чтобы граничные условия (10.23) были совместимы с точным решением.
Различные схемы, описанные в п. 10.1.2 и 10.1.3, включаются в программу BURG (рис. 10.4), причем реализация той или иной схемы осуществляется в зависимости от значения параметра ME в соответствии с табл. 10.1. Выбор параметров 6=1/6, д = 0 дает схему Кранка — Николсона, соответствующую групповому методу конечных элементов. Введение формулировки, связанной с этим методом (§ 10.3), необходимо для осуществления явной дискретизации независимой переменной F. Для построения решений уравнения (10.3) с малыми значениями вязкости V желательно ввести в правую часть соотношения (10.16) некий член с искусственной диссипацией; т. е. добавляется следующее выражение:
0.5vaMLxx^ + Fn
После линеаризации LxxFT' модифицированный вариант соотношения (10.20) представляется в форме
m为域+1 + 0.5 A"L?)(苏苏+i) - v以无心‘" 一 v« 削以m〃勿产"=
=Мхщ + 0.5v(10.25)
Таблица 10.1. Различные схемы, расчет по которым включен в программуBURG
ME12344445ME12344445Описание
ME
1
2
3
4
4
4
4
5
ME
1
2
3
4
4
4
4
5
Кранк—Николсон, конечно-разностная;6=о, ”=0 в(1020);обозначение CN-FDMКранк—Николсон, конечно-элементная; обозначение CN-FEM6:=1/6, q=0 в(10.20);.Кранк—Николсон, массовый оператор; обозначение CN-MO6 ==0.12, q=0 в(10.20)^Кранк — Николсон; 4-точечная, вверхпопотоку;6 = 0,q = 05Кранк—Николсон, конечно-разностная;6=о, ”=0 в(1020);обозначение CN-FDMКранк—Николсон, конечно-элементная; обозначение CN-FEM6:=1/6, q=0 в(10.20);.Кранк—Николсон, массовый оператор; обозначение CN-MO6 ==0.12, q=0 в(10.20)^Кранк — Николсон; 4-точечная, вверхпопотоку;6 = 0,q = 05Схема ВВЦП (10.5)Двухэтапная схема Лакса—Вендроффа (10.13), (10.14)Явная четырехточечная схема со сдвигом вверх по потоку (10.6)»(Ю.7)Схема ВВЦП (10.5)Двухэтапная схема Лакса—Вендроффа (10.13), (10.14)Явная четырехточечная схема со сдвигом вверх по потоку (10.6)»(Ю.7)в (10.20); обозначение CN-4PUОбобщенная схема Кранка—Николсона плюс добавочная диссив (10.20); обозначение CN-4PUОбобщенная схема Кранка—Николсона плюс добавочная диссипацияпацияПараметр va подбирается эмпирическим путем. Подключение- к программе схемы (10.25) реализуется при ME = 5.
Кранк—Николсон, конечно-разностная;
6
=о, ”
=0 в
(1020);
обозначение CN-FDM
Кранк—Николсон, конечно-элементная; обозначение CN-FEM
6:
=1/6, q
=0 в
(10.20);.
Кранк—Николсон, массовый оператор; обозначение CN-MO
6 =
=0.12, q
=0 в
(10.20)^
Кранк — Николсон; 4-точечная, вверх
по
потоку;
6 = 0,
q = 05
Кранк—Николсон, конечно-разностная;
6
=о, ”
=0 в
(1020);
обозначение CN-FDM
Кранк—Николсон, конечно-элементная; обозначение CN-FEM
6:
=1/6, q
=0 в
(10.20);.
Кранк—Николсон, массовый оператор; обозначение CN-MO
6 =
=0.12, q
=0 в
(10.20)^
Кранк — Николсон; 4-точечная, вверх
по
потоку;
6 = 0,
q = 05
Схема ВВЦП (10.5)
Двухэтапная схема Лакса—Вендроффа (10.13), (10.14)
Явная четырехточечная схема со сдвигом вверх по потоку (10.6)»
(Ю.7)
Схема ВВЦП (10.5)
Двухэтапная схема Лакса—Вендроффа (10.13), (10.14)
Явная четырехточечная схема со сдвигом вверх по потоку (10.6)»
(Ю.7)
в (10.20); обозначение CN-4PU
Обобщенная схема Кранка—Николсона плюс добавочная дисси
в (10.20); обозначение CN-4PU
Обобщенная схема Кранка—Николсона плюс добавочная дисси
пация
пация
Различные параметры, используемые в программе BURG, описываются в табл. 10.2. Вычисление точного решения по формуле (10.24) осуществляется в подпрограммах EXSH (рис. 10.5) и ERFC (рис. 10.6). Типовая форма выдачи результатов, полученных по программе BURG с применением схемы ВВЦП, показана на рис. 10.7.
Если коэффициент вязкости имеет значение v = 0.2, то характерное число Рейнольдса ячейки равно Rceu = u(l)Дх/v = =1.0. Это наводит на мысль о том, что конвективный и диссипативный члены уравнения (10.3) имеют одинаковый порядок. Решения для случая Ree】】=1.0, полученные с помощью различных явных и неявных схем, предложенных в и. 10.1.2 и 10.1.3, приводятся в табл. 10.3. Все методы дают гладкие результаты. Схема ВВЦП является наиболее точной из явных схем, а четырехточечная схема Кранка — Николсона со сдвигом вверх по потоку и со значением q = 0.5 является наиболее точной из неявных схем.
Характерные решения с вязкостью v = 0.03 (Rceii = 3.33) приводятся в табл. 10.4. Конечно-разностная схема Кранка —— Николсона дает решение, для которого заметны покачивания
Таблица 10.2. Параметры, используемые в программе BURG
Параметр
Описание.
.ME
=1, схема ВВЦП (IOS)
=2, двухэтапная схема Лакса—Вендроффа (10.13), (10.14)
=3, явная четырехточечная схема со сдвигом вверх по потоку (10.6), (10.7)
=4, обобщенная схема Кранка—Николсона (10.20)
=5, обобщенная схема Кранка—Николсона плюс добавочная диссипация
JMAX
NTIM
UMAX
Число точек В интервале ——尤max W 尤 W 尤max
Число шагов по времени
Время сравнения с точным решением
ХМАХ AD С ALPH S, SA RCEL Q EM DT, DX, X U EF
尤max В ( 10.22)
Искусственная диссипация va в (10.25) Характерное число Куранта, С = 〃⑴А〃А% Вязкость V в (10.3) s = vAf/A%2, Sa =屮北2 (табл. 10.5)
Характерное число Рейнольдса ячейки, и(1)Дх/v q в (10.6) 6 в (10.20) А/, Дх, х
Зависимая переменная, и в (10.3)
F в (10.3)
UE
• AA, BB, CC
Точное решение, й в (10.2Ф)
Коэффициенты-множители npHFy^j и т. д. в явных схемах; коэффициенты-множители при 〃;_ 】 и т. д. в неявных схемах
A R UD
Элементы четырехдиагональной матрицы (10.21)
Вектор, содержащий d^ в (10.21)
Промежуточное явное решение; первый этап решения по схеме Лакса—Вендроффа
UD
Предназначено для 〃:+】после возврата из подпрограммы
1
BANSOL
1
SUBROUTINE EXSH(JMAX,X,U,UE,DX,ХМАХ,ALPH,TIMAX)
С
С SETS THE INITIAL U SOLUTION AND FINAL EXACT (UEX) SOLUTION
C
DIMENSION U(65),UE(65),X(65)
JMAP = JMAX - 1
PI = 3.141592654
XST = -XMAX
. DO 1 J = lrJMAX
AJ =J- 1
X(J)=XST + AJ*DX
U(J)=0.
1 UE(J) « 0.
15U(l)=1.0
16UE(1) « 1.0
C
DO 2 J = 2,JMAP
19IF(X(J) .LT.O.)U(J)«1.0
20IF(ABS(X(J)).LT.1.0E-04)U(J) = 0.5
AJ«X(J)
XB=- AJ
XA=AJ - TIMAX
PQ=SQRT(0.25*PI)
PP«SQRT(PI*TIMAX*ALPH)
XB«XB*PQ/PP
XA«XA*PQ/PP
C
C ERFC CALCULATES THE COMPLEMENTARY ERROR FUNCTION
30 C
31CALLERFC(XA,EXA)
32CALLERFC(XB,EXB)
33 C
34SUMA »PP*EXA
35SUMB ■PP*EXB
36DUN» 0.5*(AJ-0.5*TIMAX)/ALPH、
37IF(DUN.GT. 2O.)DUM=20.
38IF(DUM.LT.-20.)DUM=-20.
39SUMC =EXP(DUN)
40WUJ) = SUMA/(SUMA+SUMEUMB)
412 CONTINUE
42RETURN
43END
Рис. 10.5. Распечатка подпрограммы EXSH.
дисперсионного типа, особенно за ударной волной. Схема Кран- ка — Николсона с конечными элементами и четырехточечная схема Кранка — Николсона со сдвигом вверх по потоку дают для указанного случая гладкие и точные решения. Ударная волна расползается примерно на девять узловых точек, так что численные алгоритмы могут без труда уловить наличие резкого градиента 〃.
Если V = 0.001 (Rceii=10), то ударная волна становится значительно более крутой (табл. 10.5 и рис. 10.8) и имеет тенденцию к возбуждению колебаний, связанных с дисперсией.
2 SUBROUTINE ERFC(X,ERC) 3 С
4 С COMPLEMENTARY ERROR FUNCTION 5 С
В « ABS(X)
IF(В .LT. 4)GOTO 1
D = 1.0
GOTO 2
1 C « EXP(・B*B)
T « l./(l. + 0.3275911*B)
D « 0.254829592*7 - 0・284496736*T*T + 1.421413741*T*T*T
1 - 1.453152027*T*T*T*T + 1.061405429*T*T*T*T*T
D = 1. - D*C
2 IF(X .LT. 0.)D « -D
ERC « 1. - D
RETURN
END
Рис. 10.6. Распечатка подпрограммы ERFC.
В принципе можно построить схемы с пониженной дисперсией, следуя при этом процедуре, изложенной в § 9.4 и связан-
PROPAGATING SHOCK VAVE(BURGERS EQUATION)
ME = 1 FTCS DIFFERENCING
JMAX= 21 NTIM= 20 C= .25 DX= .200 DT= .050 XMAJU 2.00
S=・25 ALPH= .200E+00 RCEL= 1.0 Q= .00 EM= .000 SA= .600E+00
AA= Л2500 .00000 BB= .00000 .00000 CO -.12500 .00000
.200.000/200.751・75&.200.000/200.751・75&INITIAL SOLUTION, TIM = .000
.200
.000
/200
.751
・75&
.200
.000
/200
.751
・75&
X^=-2.000-1.800-1.600-1.400-1.200-1.000 -.800 -.600 -.400 -.200 .000
X= .400 .600 .800 1.000 1.200 1.400 1.600 1.800 2.000
U« 1.000 1.000 1.000 1.000 1^000 1.000 1.000 1.000 1.000 1.000 .500
.000.000U= .000 .000 .000 .000 .000 .000 .000 .000
.000
.000
FINAL SOLUTION, TIM =1.000
X=-2.000-1.800-1.600-1.400-1.200-1.000 -.800 -.600 -.400 -.200 .000
X=.400.600.8001.0001.2001.4001.6001.8002.000
U=1.0001.0001.0001.0001.000.999.997.991.975.940 .869
U=・588.407.247Л32.063.027.010.003.000
UE= 1.000 1.000 1.000 1.000 1.000 .999 .996 ・989 .973 .937 .868
UE= .591 .409 .247 .132 .063 .027 .011 .004 .000
IMS ERR, .14106E>02
Рис. 10.7. Типичная выдача результатов, полученных с помощью программы BURG.
ной с формированием модифицированного уравнения (п. 9.2.2) > а также с таким выбором коэффициентов q или 6 в соотношении (10.20), который способствовал бы уничтожению коэффициента при производной наинизшего нечетного порядка. Нели-
Таблица 10・9・ Решёниё длй рйсйроётрйняющейся ударной ЁОЛйЫ хфн / = 1.66, %№*1・6, С ^ 0.2&, Ан = °£6, А/ =* 0.05
Схема
—0.40
-0.20
0.00
0.20
0.40
0.60
0.80
1.00
1.20
1.40
1.60
Среднеквадратичная ошибка
Точное решение
0.973
0.937
0.868
0.753
0.591
0.409
0.247
0.132
0.063
0.027
0.011
—
ВВЦП
0.975
0.940
0.869
0.751
0.588
0.407
0.247
0.132
0.063
0.027
0.010
0.0014
Лакс — Вендрофф
0.979
0.943
0.869
0.748
0.583
0.403
0.244
0.131
0.063
0.027
0.010
0.004
EX-4PU, g = 0.5
0.971
0.936
0.869
0.757
0.598
0.415
0.248
0.129
0.069
0.025
0.009
0.003
CN-FDM
0.975
0.939
0.867
0.747
0.582
0.403
0.246
0.135
0.067
0.030
0.013
0.003
CN-FEM
0.973
0.936
0.865
0.748
0.589
0.411
0.252
0.136
0.064
0.027
0.010
0.002
CN-4PU, q = 0.5
0.972
0.936
0.867
0.753
0.593
0.410
0.247
0.131
0.063
0.028
0.012
0.0007
Таблица 10.4. Решение для распространяющейся ударной волны при f=LOO, /?Сец =» 3.33, С « 1.00, Дх = 0.10, А/ = 0.10
х
Схема
0.00
0.10
0.20
0.30
0.40
0.50
0.60
0.70
0.80
0.90
1.00
Средне- квадра- тичная ошибка
Точное решение
1.000
0.999
0.995
0.969
0.847
0.500
0.153
0.031
0.005
0.001
0.020
—
CN-FDM
0.998
0.995
1.020
1.021
0.814
0.438
0.157
0.043
0.011
0.003
0.001
0.015
CN-FEM
1.000
1.000
0.999
0.986
0.846
0.491
0.153
0.023
0.002
0.000
0.000
0.003
CN-4PU, д = 0・5
1.000
1.000
1.000
0.980
0.847
0.501
0.144
0.022
0.004
0.001
0.000
0.003
Таблица 10.5. Решение для распространяющейся ударной волны при / = 2.00, /?сеу = 100, С = 1.00, sa = 0.25, Дх = 0.10, Д/ = 0.10
Схема
0.50
0.60
0.70
0.80
0.90
1.00
1.10
1.20
1.30
1.40
1.50
Средне- квадра- тичная ошибка
Точное решение
1.000
1.000
1.000
1.000
1.000
0.500
0.000
0.000
0.000
0.000
0.000
CN-FDM
1.004
0.984
0.987
1.086
0.996
0.413
0.028
0.000
0.000
0.000
0.000
0.020
С№МО, д = 0.12
1.000
1.001
0.995
1.010
1.011
0.522
-0.046
0.007
-0.001
0.000
0.000
0.009
CN-4PU, g = 0.5
1.000
1.000
1.000
1.009
0.983
0.572
-0.056
-0.007
0.000
0.000
0.000
0.015
нейный характер уравнения (10.3) приводит к появлению многих добавочных произведений, не укладывающихся в рамки дисперсионно-диссипативного образца, фигурирующего в п. 9.2.2. Если построить эквивалентную линейную схему за счет локального замораживания нелинейных коэффициентов, то получаются следующие оптимальные значения коэффициентов Вид:
5opt = T+-- - ■>(Ю.26)
(Ю.27)
Очевидно, эти значения представляют собой естественное обобщение оптимальных значений, полученных в п. 9.4.3 для тем-
Рис. 10.8. Распределение скорости при / = 2.00 и Rceii = 100. Обозначения см. в табл. 10.1.
пературного фронта с конвекцией. Однако использование значений (10.26) или (10.27) в данном случае не является столь же успешным, как в п. 9.4.3, преимущественно в силу влияния добавочных нелинейных членов, присутствие которых не отражено в нашем анализе.
На основании изложенного здесь была принята альтернативная стратегия. Она сводится к эмпирическому выбору б и д, а также к введению достаточно интенсивной искусственной диссипации, способной ликвидировать большую часть ряби без размазывания ударного фронта по чрезмерно большому числу узловых точек. Результаты, приводимые в табл. 10.5 и на
29 К. Флетчер, т. 1
рис. 10.8, свидетельствуют об успехе этой стратегии и о том, что даже конечно-разностная схема Кранка — Николсона дает достаточно точные результаты при условии разумного применения искусственной диссипации.
Однако рассматриваемый пример является весьма подходящим для использования искусственной диссипации, так как точное решение дает постоянство повсюду, кроме ударной волны. Следовательно, большое значение ▼« в соотношении (10.25) не влияет на решение нигде, кроме ближайшей окрестности ударной волны. Более разумный прием исследования состоит в том, чтобы сделать v“ функцией решения, принимающей существенно отличное от нуля значение только вблизи ударной волны. Этот прием обсуждается в п. 14.2.3.
Расчет одномерного уравнения Бюргерса применительно к внутреннему слою, подобному ударной волне (т. е. тонкому), может быть проведен с помощью спектральных методов (§ 5.6). Непосредственное применение спектрального метода Галёрки- на приводит к решению, обнаруживающему глобальные колебания для случая девятичленного решения с полиномами Лежандра при V = 0.01 [Fletcher, 1984]. В работе [Basdevant et al., 1986] построены решения при v = 0.01/л с использованием спектрального тау-метода и метода коллокаций (псевдо- спектрального, см. п. 5.6.3) на основе полиномов Чебышёва. Установлено, что без применения преобразования координат следует использовать 256 точек коллокаций и тем самым избежать появления решений колебательного типа. Делается вывод о том, что спектральные методы в силу их глобального характера не столь хорошо пригодны для расчета тонких внутренних слоев, как локальные методы типа метода конечных разностей или метода конечных элементов.
Неравномерная сетка
Когда во внутренней области течения или вблизи границ возникают очень большие градиенты, то для получения более точных решений требуется измельчение расчетной сетки. Однако если сетка остается равномерной во всей вычислительной области, то измельчение сетки может оказаться неэкономичным с точки зрения стоимости вычислений, в особенности для многомерных задач.
Очевидная альтернатива состоит в том, чтобы ввести сетку, измельчаемую только на тех участках вычислительной области, где ожидается появление резких градиентов. Техника построения подобного рода сеток обсуждается в гл. 13. Здесь мы изучим вопрос о применении неравномерных сеток к решению од-
номерных стационарных задач, в первую очередь ставя своей целью противопоставить ожидаемое улучшение точности решения благодаря локальному измельчению сетки возможному снижению порядка ошибки аппроксимации.
Уравнение конвекции — диффузии (§ 9.3)
dT d2T с /oq、
= " (1。・28)
в котором и и а — постоянные, а граничные условия имеют вид 7(0) = 0, Т⑴=1, при больших значениях 〃/а порождает очень большой градиент вблизи точки х = 1 (рис. 9.5).
Локальное измельчение сетки вблизи % = 1 может быть осуществлено за счет того, что размер ячейки изменяется по закону геометрической прогрессии. Иначе говоря,
勺+1 — ху =厶国一勺г) = rx\xh (Ю.29)
где гх — коэффициент изменения сетки. Для конкретного примера, показанного на рис. 9.5, значение гх меньше единицы^ что как раз и требуется, если желательно расположить больше узловых точек вблизи границы х = 1.0. Как правило, значение гх сохраняется постоянным либо во всей вычислительной области, либо в ее большей части. _
Трехточечное представление производной dT/dx общего вида для случая неравномерной сетки, приводящее к наименьшей ошибке аппроксимации, может быть построено с помощью методики, описанной в п. 3.2.2. Разложение в ряд Тейлора всех компонент этой трехточечной дискретной формулы в окрестности точки Xj дает
(〃+1— 力)/% + &(〃一力 т)—
+半0芸+ (等)力厶一1)4^+ (10・30)
где коэффициент гх выражается согласно (10.29) и где А/= =xj — %i Это представление имеет второй порядок, однако вносит добавочную ошибку третьего порядка, исчезающую в случае равномерной сетки (г% = 1.0).
Применение к уравнению (10.28) метода Галёркина с конечными элементами и с линейной интерполяцией (см. п. 5.3.1) приводит к «трехточечному» представлению dT/dx. Разложение в ряд Тейлора для комплекса, соответствующего конечно-
элементному трехточечному представлению dT/dx, имеет вид
T/+L 乙-1 = (1+%)А马-T/+L 乙-1 = (1+%)А马-(10.31)(10.31)
T/+L 乙-1 = (1+%)А马-
T/+L 乙-1 = (1+%)А马-
(10.31)
(10.31)
При таком представлении возникает диссипативный член первого порядка, знак которого зависит от того, возрастает или уменьшается размер ячейки сетки по направлению положительного отсчета х. Очевидно, если величины (г%—1) или А%/ не малы, то влияние этого диссипативного члена при больших значениях 〃/а может быть существенным, если сравнивать его с влиянием члена ad277dA:2 в уравнении (10.28).
Трехточечное представление d2T/dx2 в (10.28), минимизирующее ошибку аппроксимации, соответствует следующей форме разложения в ряд Тейлора в окрестности точки х;:
((J)竭)=
「d2T % 足Т 己 + 1 d4T ]=[声 + 毋(分一1)而 + 卞7^*而+ (1。•32)
Левая часть формулы (10.32) является также и результатом линейной галёркинской конечно-элементной дискретизации производной d2T/dx2. Очевидно, что применение неравномерной сетки ведет к появлению ошибки аппроксимации первого порядка.
Подстановка левых частей формул (10.30) и (10.32) в уравнение (10.28) приводит к следующей трехдиагональной схеме:
—(0.5Rce"x + l)T/—i + [o.5Rceii ~;J—h (1 +*)]t,+
+ (^L-±)Tf = o・ (1633)
Подстановка левых частей (10.31) и (10.32) в то же уравнение приводит к несколько более простой трехдиагональной схеме 一 (0.5/?ceii + 1) % + (1 + 靑)厶 +(0・5Rceii — ±) TJ+i = 0,
““(10.34)
где 7?ceii = uAxj/a. Решения, построенные на основе схем (10.33) и (10.34), были получены при 〃/a = 20 и 11 точках внутри интервала 0 W %《1 и приводятся в табл. 10.6 и 10.7.
В случае равномерной сетки, когда гх = 1, число Рейнольдса ячейки Rceii = 2; этот случай графически изображен на рис. 9.5.
Таблица 10.6. Изменение среднеквадратичной ошибки в зависимости от гх для решений уравнения (10.28) при 〃/а = 20
Среднеквадратичная ошибка
гх
0.70
0.80
0.99
1.00
(10.33)
0.0338
0.0276
0.0319
0.0455
(10.34)
0.0048
0.0080
0.0197
0.0455
Таблица 10.7. Решения уравнения (10.28)с использованием
неравномерной сетки,「% = 0.8, 〃/а = 20
0.753
0.827
0.885
0.932
0.970
1.00
Среднеквадратичная ошибка
Г, точное
0.0072
0.0312
0.1010
0.2584
0.5480
1.0000
一
Г, (10.33)
0-0006
0.0111
0.0615
0.205Э
0.5013
1.0000
0.0276
Т, (10.34)
0.0035
0.0229
0.0879
0.2439
0.5376
1.0000
0.0080
В данном случае среднеквадратичная ошибка определяется преимущественно локальными ошибками у узловых точек, близких к х = 1. Мы видим, что уменьшение гх уменьшает среднеквадратичную ошибку (табл. 10.6), причем решения по схеме (10.34) оказываются значительно точнее, чем по схеме (10.33). В силу того что rx V 1.0, использование схемы (10.34) вносит положительную диссипацию. При использовании схемы (10.33) выбор значения「% = 0.80 приводит к минимальной среднеквадратичной ошибке решения. Это соответствует относительно однородному распределению ошибки (табл. 10.7). При коэффициентах изменения гх < 0.80 вблизи точки х = 1.0 локальная ошибка решения уменьшается, однако она возрастает при малых значениях х. Отметим, что для более сложных определяющих уравнений и многомерных задач надлежащие значения коэффициента изменения сетки обычно попадают в интервал 0.8 W г% W 1.2.
Использование неравномерной сетки при наличии большого внутреннего градиента может быть проиллюстрировано на
примере использования модифицированной формы уравнения Бюргерса
雰 + (〃 — 0.5)靄—V 翡=0. '(10.35)
В сравнении с уравнением (10.1) сюда был введен дополнительный член, —0.50近/0%. При начальном и граничных условиях в форме (10.22) и (10.23) включение добавочного члена эквивалентно допущению о миграции сетки вместе с ударной волной, в результате которого ударная волна не движется по отношению к сетке. В силу указанных свойств уравнение (10.35) имеет исключительно простое стационарное решение 3S5[一h(吟»(10.36)
Уменьшение v приводит к обострению градиента, центрированного в точке х = 0. Уравнение (10.35) можно записать в консервативной форме
где F = 0.5 (й2 — й). После проведения дискретизации получим
^^ =必⑷ + a"产)一 Lx (用 + 案 A〃产),(10.38)
где Lxx и Lx определяются формой левых частей (10.32), (10.30) и (10.31), a dF/du = и — 0.5.
Применение представления (10.31) к dF/dx является примером формулировки на основе группового метода конечных элементов (§ 10.3), так как F представляет собой нелинейную группу. Мы получаем следующую трехдиагональную систему уравнений относительно А〃产:
{1 +А^ [Lx (и - 0.5) - vLxJ } A炉=А/ (』讲—厶尸力 (10.39)
Процесс интегрирования уравнения (10.39) приближается до тех пор, пока величина А〃产 не станет пренебрежимо малой в сравнении с решением уравнения (vLxxUj — LxFj) = 0.
Для ударной волны, центрированной в точке х = 0, удобно ввести сетку, размер ячейки которой возрастает по закону геометрической прогрессии как в положительном, так и в отрицательном направлениях оси х, если отсчитывать от точки х = 0. Решения, построенные на основе (10.30) и (10.31) для v = 0.08 И 11 точек внутри интервала ——%max W % W %тах, приводятся в табл. 10. 8 и 10.9. Для случая гх = 1.0 решения, соответствующие Rce“ = 5, основаны на условии 〃(1)= 1.0.
Таблица 10.8. Изменение среднеквадратичной ошибки в зависимости от гх для решения уравнения (10.39) при v = 0.008
Среднеквадратичная ошибка
гх
1.00
1.10
1.20
1.30
(10.30)
0.0084
0.0093
0.0123
0.0161
(10.31)
0.0084
0.0090
0.0082
0.0068
Таблица 10.9. Решения уравнения (10.39) с использованием неравномерной сетки при г%=1・3 и v = 0.08
-1.368
-0.882
-0.509
-0.221
0.000
0.221
0.509
0.882
1.368
Сред- неквад- ратич- ная ошибка
“,точное
1.000
0.996
0.960
0.799
0.500
0.201
0.040
0.004
0.000
—
и, (10.30)
0.999
1.001
0.993
0.807
0.500
0.193
0.007}
-0.001
№:吧
и, (10.31)
0.999
1.002
0.967
0.788
0.500
0.212
0.033
-0.002
0.001
0.0068
Ошибки, приводимые в табл. 10.8, указывают на то, что использование дискретизации для dF/dx в соответствии с левой частью формулы (10.30) способствует уменьшению точности с увеличением гх. В противоположность этому использование формулы (10.31) вызывает уменьшение среднеквадратичной ошибки при достаточно больших гх. Однако повышение точности при этом не слишком велико. При гх = 1.3 оба упомянутых решения сравниваются с точным решением в табл. 10.9. При х = 0.0 оба решения точны, а наиболее заметные вклады в среднеквадратичную ошибку приходят из четырех точек: х = ±0.221, ±0.509.
Для применения метода неравномерных сеток к «реальным» задачам о течении жидкости обычно необходимо провести большое число численных экспериментов с целью наилучшего выбора коэффициента изменения сетки z\, а также и схемы дискретизации. При решении нестационарных задач с большими
местными градиентами может оказаться необходимым ввести сетку, адаптирующуюся к локальному решению. Иначе говоря, область локального измельчения сетки может изменяться во времени. Подобного рода методы введения адаптивных сеток [Thompson, 1984; Thompson et al., 1985] находятся за пределами данной книги. '
Введение неравномерных сеток может потребоваться также и там, где вычислительная граница не совпадает с локальным характером сетки. В работе [Noye, 1983] предлагается обзор традиционных приемов разрешения подобных ситуаций. Более совершенный подход к решению задач с нерегулярными границами связан с использованием обобщенных криволинейных координат (гл. 12), при введении которых вычислительная граница автоматически совпадает с сеточной линией.
§ 10.2. Системы уравнений
Материал, изложенный в § 10.1 и в предшествующих главах, относится к случаю существования единственного определяющего уравнения. Однако гидроаэродинамические явления обычно описываются посредством систем уравнений (гл. 11). Исключением является течение невязкой несжимаемой жидкости, описываемое уравнением Лапласа (§ 11.3). Цель данного параграфа состоит в том, чтобы рассмотреть систему определяющих уравнений и применить к ней типовые приемы дискретизации, которые ранее уже применялись к случаю одного определяющего уравнения.
Одномерное неустановившееся течение невязкой сжимаемой жидкости определяется системой из трех уравнений: неразрывности (п. 11.2.1), импульсов в направлении % (п. 11.2.2) и энергии (п. 11.2.4). После введения подходящих безразмерных переменных (п. 14.2.3) система уравнений может быть записана в форме — __
務 + 需=。, (1。4。) где
Р 、( Р〃 、
Р〃 I, F = lР层+ ^I. (10.41)
号?1(六+ 0团叫〃丿
В (10.41) р — плотность, и — скорость, р — давление, у — отношение удельных теплоемкостей.
Хотя зависимыми переменными являются р, 〃 и р, дискретизация применяется непосредственно по отношению к q и F. Это будет проиллюстрировано здесь применительно к двухэтапной схеме Лакса — Вендроффа (10.11), (10.12). В применении к уравнению (10.40) при этом получим
Ч/+1/2 = 0.5 (q7 + q;+i) — 0.5 ^~(F/+i — F;),(10.42)
q 产=qT*-F3/2)・a。/)
На каждом этапе построения решения величины р, и и р вычисляются по выражениям (10.41) для q, так что можно найти и компоненты F.
В работе [Klopfer, McRae, 1983] используется подход с помощью модифицированного уравнения, ставящий целью корректировку основной (дисперсионной) ошибки в результате применения схемы Лакса — Вендроффа к решению уравнений Эйлера (10.40), моделирующих одномерную задачу об ударной трубе (задача 14.8). Полученная авторами схема является более точной, ее решения имеют меньшую тенденцию к колебаниям, но, как правило, для обеспечения устойчивости этой схемы требуется задавать весьма малые значения Д/тах.
Для решения систем уравнений можно строить и неявные схемы. Так, например, схема Кранка — Николсона в применении к уравнению (10.40) будет иметь вид
q产 一 q;= — 0・25* [(F储一 F;t) +(F雷一 *;)]•(10.44)
Чтобы получить линейную систему алгебраических уравнений для Aq;+i, нелинейные члены F〃+】 разлагаются в ряды типа
Frt+1 = Frt + AAqrt+1+(10.45)
где A(=dF0/q) представляет собой матрицу 3X3, вычисляемую с помощью (10.41). Конкретную форму матрицы А можно получить из соотношения (14.99). После подстановки (10.45) в (10.44) и перегруппировки членов получим
一°・25^ А/-1ДЧ^ + 1 Aq产 + 0.25聲 А/+1 曲雷=
= — °・5^(F*i — F*)・(Ю.46)
Уравнение (10.46) представляет собой блочно-трехдиагональную систему размерности 3X3 относительно Aq;+* которую можно решать с помощью блочного варианта алгоритма
Томаса (п. 6.2.5). Размерность блока 3X3 является прямым следствием числа определяющих уравнений в каждой узловой точке. Если из уравнений (10.46) получить Aq;+〔,то решение после n-го шага по времени вычисляется по формуле q;+】 = q; + + Aq 产.
Устойчивость дискретизированной схемы, например (10.46), может быть определена с помощью анализа по Нейману (§ 4.3) так же, как это делается для скалярных уравнений. Учитывая, что анализ по Нейману применим только для линейных уравнений, целесообразно линеаризовать уравнение (10.40) до дискретизации. Это значит, что получится уравнение
務+ А翁=0,
где А 三 dF/dq, как и было в формуле (10.45). Анализ устойчивости по Нейману проводится согласно процедуре, описанной в п. 4.3.4, если не считать того, что вместо коэффициента усиления G, как в (4.33), будет фигурировать матрица усиления G. Для случая схемы Кранка — Николсона (10.46) результат имеет вид
G = (l+ O.SZ-^-AsinQ)"1 (1 - 0.5/A sin 6). (10.47)
Если собственные значения матрицы G обозначить через 九加,то для устойчивости требуется, чтобы было | 九加| W 1.0 при любых 仰.Устойчивость будет зависеть от локальной величины собственных значений матрицы А в (14.32). Если отвлечься от появления матрицы Якоби А, структура выражения (10.47) оказывается весьма похожей на то, что было при применении схемы Кранка — Николсона к линейному уравнению конвекции (табл. 9.1).
Система уравнений (10.40) более подробно рассматривается в п. 14.2.3, гДе программа SHOCK формируется на основе двухэтапной схемы Лакса — Вендроффа (10.42), (10.43) и схемы Мак-Кормака (14.49), (14.50). Типовое решение распространяющейся ударной волны показано на рис. 10.9 после 25 шагов по времени. Решение было построено с помощью равномерной сетки Ах = 0.01 в интервале 0W%W1.0. В момент / = 0 ударная волна располагается в точке % = 0.5; в последующие моменты времени она распространяется вправо с безразмерной скоростью ударного фронта, равной 1.195.
В уравнение (10.40) вводилась искусственная диссипация с целью получения более гладкого решения. Форма членов с искусственной диссипацией приводится в формуле (14.53). Гру-
бо говоря, это получается аналогично тому, как было при добавлении некоего члена к одномерному уравнению Бюргерса (10.3) с тем, чтобы получить уравнение (10.25). Однако величина V, являющаяся эквивалентом va в (10.25), представляет собой функцию локального решения, так что она имеет сколь- нибудь ощутимое значение лишь на ударной волне.
и
о
о
° Лакс—Вендрофф о (искусственная вязкость) точное решение
0.40.40.50.5F^唯XF^唯X
0.4
0.4
0.5
0.5
F^唯X
F^唯X
Рис. 10.9. Профиль распространяющейся ударной волны при P〃Pi = 1.5,Y = 1.4, V = 2 в (14.53).
Сравнивая результаты, показаные на рис. 10.9, с результатами рис. 10.8, мы убеждаемся, что расчетный профиль ударной волны для «реального» определяющего уравнения является менее крутым, чем для одномерного уравнения Бюргерса. Отчасти это связано с относительной сложностью реальных уравнений, а отчасти отражает сравнительную точность схем Лакса —Вендроффа и Кранка — Николсона.
Групповой метод конечных элементов
Метод конечных элементов был применен к задаче Штурма —Лиувилля в § 5.4, к одномерному уравнению диффузии — в п. 5.5.1, к двумерному уравнению диффузии — в § 8.3 и к двумерному уравнению переноса — в п. 9.5.2. Во всех этих случаях определяющие уравнения были линейными.
Однако определяющие уравнения гйдроаэродинамики (гл. 11) содержат, как правило, нелинейные конвективные члены. В примитивных переменных эти конвективные члены обладают квадратичной нелинейностью в случае течения несжимаемой жидкости и кубической нелинейностью для сжимаемо
го потока.
Обычный метод конечных элементов связан с введением отдельного приближенного решения типа (5.44) для каждой зависимой переменной, фигурирующей в определяющем уравнении. В случае применения метода Галёркина получаются многочисленные произведения узловых значений зависимых переменных, особенно большое число которых происходит от нелинейных конвективных членов. Эта особенность является одной из причин недостаточной экономичности метода конечных элементов в применении к многомерным задачам [Fletcher, 1984].
Однако вклад в неэкономичность, который вносят нелинейные члены, можно аннулировать за счет введения группового варианта метода конечных элементов [Fletcher, 1983b]. Этот групповой вариант может применяться к решению любых нелинейных задач, однако он особенно эффективен по отношению к нелинейностям конвективного происхождения.
Формулировка группового варианта требует осуществления двух шагов:
уравнения приводятся к консервативной форме, как, например, уравнение (10.3);
одно и то же приближенное решение вводится для группы членов под знаком дифференцирования, например для F в уравнении (10.3).
/0.3./. Формулировка одномерного группового варианта
Применение группового метода конечных элементов будет проиллюстрировано на примере одномерного уравнения Бюргерса, представленного в консервативной форме (10.3). Отдельные приближенные решения, эквивалентные (5.44), вводятся для и и F в уравнении (10.3) в виде
〃 =§ 也〃/ и 尸=?也Q, (10.48)
где через Fi обозначается значение F в 2-м узле. Подстановка в (10.3) и вычисление интеграла (5.5) от невязки, взятой с весовой функцией Галёркина, приводят к системе обыкновенных дифференциальных уравнений. В случае равномерной сетки эта система записывается в виде
мх [4г]у + 厶吊一必図=0, (10.49) где 必=(春,I,春),% = {—1,0, 1}/2А%и% = {1,—2, 1}/A%2. При этом предполагается, что интерполяционные функции ^/ в формулах (10.48) являются линейными. Если дискретизация по времени соответствует схеме Кранка — Николсона, то соот-
ношение (10.49) дает алгоритм по схеме (10.20) при 6 = 1/6 и 9 = 0.
Если в выражение LxFj подставить зависимость Fj от 〃/, то результат принимает вид
2 = 0.5 (勺-+ 力+ 1) {^^L},(10.50>
Применение обычного метода конечных элементов к уравнению (10.1) приводит к следующей дискретной форме конвективного члена:
да (〃卜]+ 勺 + 〃"])一
31—r (1S5D
Дискретизация линейнвх членов ди/дх и д2и/дх2 дает тот же результат, что и в (10.49).
Рис. 10.10. Сравнение результатов применения обычного и группового методов конечных элементов к решению одномерного уравнения Бюргерса при f = 2.0. CN-FEM(C)——схема Кранка ——Николсона для обычного метода конечных элементов; CN-FEM(G)—схема Кранка — Николсона для группового метода конечных элементов.
Дискретная форма представления, к которой приводит обычный метод конечных элементов, сочеталась с разностной формой Кранка — Николсона для моделирования производной по времени, и полученное на такой основе решение одномерного уравнения Бюргерса обозначается на рис. 10.10 как CN-FEM(C). Групповой вариант метода конечных элементов включается в программу расчета в форме соотношения (10.20) при 6 = 1/6 и д = 0. Соответствующее решение обозначается на рис. 10.10 как CN-FEM(G).
Решения, показанные на рис. 10.10, основаны на данных для 41 узловой точки, разделенных одинаковыми пространственными интервалами в интервале —2.0 & % & 2.0, и соответствуют граничным и начальным условиям, рассмотренным в п. 10.1.4. Число Рейнольдса ячейки /?Сеп основанное на 〃(1), равно 5. Решение с помощью обычного метода конечных элементов обнаруживает область за ударной волной, где имеют место более значительные колебания, чем для решения по групповому методу конечных элементов. В других зонах вычислительной области оба решения идентичны.
Поведение решений, полученных с помощью обычного и группового методов конечных элементов в применении к одномерному уравнению Бюргерса, сравнивается в работе [Fletcher, 1983с] с точки зрения численной сходимости. В случаях линейной, квадратичной и кубической интерполяций оба варианта дают сравнимую точность. При одном пространственном измерении и тот и другой варианты подобны друг другу в смысле экономичности.
.3.2. Формулировка многомерного группового варианта
Применение группового метода конечных элементов демонстрируется здесь на примере двумерных уравнений Бюргерса (10.57), (10.58). Эквивалентная дивергентная векторная форма представления этих уравнений имеет вид
事+票+學一百=0,(10.52)
dt ' дх х ду \ дх2 I dy2 丿‘'/
где
q = {〃,и}, F = {〃2, 〃办, G = {wu,絞},
Наряду с приближенными решениями для и м v теперь вводятся добавочные приближенные решения для групп 〃?, 〃^, у2 и для составляющих вектора S. Типовое приближенное решение (в случае применения прямоугольных элементов) имеет вид
4
UV=^ ("办也怎叫,(10.54)
гд,е 也& г|)——билинейные интерполяционные функции (5.59). Член (uv)i представляет собой значение комплекса uv в /・м узле.
Применение метода Галёркина с конечными элементами согласно процедуре § 5.3 позволяет получить дискретизированные уравнения
必㊉ м/需]* = RHS, (10.55) где ,
RHS = — Му ® L*F — Мх ㊁ 4 G +
+ v (% ® Lxx + МХ0 LQ q + 必 ® MyS. (10.56)
Стоит отметить подобие структуры полученных уравнений и уравнений (9.85). В этом состоит особенность группового варианта; а именно на уровне, на котором проводится дискретизация, уравнения являются линейными, хотя и неопределенными. Если узловые группы выразить через неизвестные узловые переменные, то возникает нелинейность, но зато система становится определенной.
Как свидетельствует наличие тензорных произведений массового и разностного операторов, например Му ® в правой части (10.56), групповой вариант метода конечных элементов приводит к девятиточечной дискретизации производной dF/dx, Строго говоря, эта дискретизация является всего лишь шеститочечной, так как один из элементов оператора Lx равен нулю. Если обычный метод конечных элементов применить к уравнению (10.57), (10.58), то связующая способность окажется значительно больше. Она определяется здесь числом узловых групп, получаемых в результате дискретизации конвективного члена.
Рост связующей способности будет приводить к увеличению числа операций, а следовательно, и времени исполнения. Связующая способность возрастает с увеличением размерности, с введением более высокого порядка интерполяции, а также с повышением порядка нелинейности в определяющем уравнении. Чтобы дать правдоподобную оценку воздействия всех факторов на суммарное время исполнения алгоритма, в табл. 10.10 приводятся данные о числе операций.
Уравнения Бюргерса и уравнения Навье — Стокса для сжимаемой жидкости (п. 11.6.3) обладают конвективными членами с квадратичной и кубической нелинейностью соответственно. Из табл. 10.10 видно, что для обычного метода конечных элементов с линейной интерполяцией связующая способность возрастает как с увеличением числа измерений, так и с повышением порядка нелинейности. В отличие от этого связующая способность для группового варианта изменяется под влиянием увеличения числа измерений, но остается неизменной при повышении порядка нелинейности.
Таблица 10.10. Связующая способность и число операций для обычного и группового вариантов метода конечных элементов с линейной интерполяцией
Система уравнений
Конвективная нелинейность
Обычный МКЭ
Групповой МКЭ
связующая способ-
ность (конвективная нелинейность)
ЧИСЛО операций для расчета невязки
связующая способ
ность (конвективная нелинейность)
ЧИСЛО операций ДЛЯ расчета невязки
отношение чисел операций (обыч- ное/груп'- повое)
Двумерная, Бюргерс
Квадратичная
49
828
9
206
4
Трехмерная, Бюргерс
Квадратичная
343
12 603
27
1 308
9
Двумерная, вязкая, сжимаемая, Навье —Стокс
Кубическая
225
6 772
9
404
17
Трехмерная, вязкая, сжимаемая, Навье —Стокс
Кубическая
3 375
217 065
27
2 349
92
Большая связующая способность впоследствии трансформируется в большое число операций, требуемых для расчета невязки в стационарном состоянии. Предполагается, что системы обыкновенных дифференциальных уравнений, формируемые с помощью дискретизации, интегрируются маршевым способом по времени с использованием приемов расщепления, подобных тем, которые были изложены в § 8.2, 8.3 и 9.5. Как правило, на каждом шаге по времени вычисление стационарной невязки RHS в соответствии с формулой (10.56) занимает около 50 % времени исполнения. Вследствие этого подсчет числа операций для вычисления невязки на одном шаге по времени приближенно соответствует расчету полного времени исполнения.
Результаты, приводимые в табл. 10.10, свидетельствуют о том, что групповой вариант метода конечных элементов становится все более экономичным в сравнении с обычным вариантом по мере возрастания порядка нелинейности или числа измерений. Применительно к трехмерному течению вязкой жидкости групповой вариант позволяет рассчитать невязку стационарного состояния с экономичностью, почти в сто раз превышающей экономичность обычного варианта. Это приближенно соответствует пятидесятикратному улучшению суммарного времени исполнения алгоритма. Если вместо линейной интерполя-
ции используется интерполяция более высокого порядка, то относительная экономичность группового варианта в сравнении с обычным вариантом метода конечных элементов становится еще больше.
Относительные времена исполнения, подсчитанные для обычного и группового вариантов конечно-элементной дискретизации двумерных уравнений Бюргерса и приведенные в табл. 10.10, подтверждены на практике [Fletcher, 1983b]. Четырехкратное улучшение, показанное в табл. 10.10, соответствует замеренному отношению времен исполнения, равному два с половиной.
700г-О=3-FD
-о=LFE (С)
6Л0-□=LFE (6)
i= 33=61i= 33=61□с о□с о□◊ о□◊ о88
i= 33=61
i= 33=61
□с о
□с о
□◊ о
□◊ о
8
8
0.200.400.600.801.001.201.40
TgDx
Рис. 10.11. Свойства пространственной сходимости для разных вариантов дис-кретизации стационарных двумерных уравнений Бюргерса. 3-FD — трехточеч-ная конечно-разностная дискретизация; LFE(C)——обычный метод конечныхэлементов с линейной интерполяцией; LFE(G)——групповой метод конечныхэлементов с линейной интерполяцией.
В применении к стационарному двумерному уравнению Бюргерса при v = 0.1 относительная точность группового и обычного вариантов метода конечных элементов может быть оценена на основании результатов, демонстрируемых на рис. 10.11. Эти результаты были получены на равномерной сетке при А% = Ду. Среднеквадратичные ошибки уменьшаются по мере измельчения сетки примерно с той же скоростью и для заданной сетки имеют примерно ту же величину. Видно, что обе конечно-элементные схемы точнее, чем трехточечная конечноразностная дискретизация уравнений (10.57) и (10.58).
30 К・ Флетчер, т. 1
Суждение о сходимости схем основано на рассчитанном решении [Fletcher, 1983b], которое по сравнению с тем, что показано на рис. 10.12, обладает более умеренным градиентом, но с более отчетливой тенденцией развития в направлении оси х. Это ре- шение затабулировано на рис. 6.14.
Рис. 10.12. Точное стационарное решение двумерных уравнений Бюргерса (10.57), (10.58).
Групповой вариант исследовался также авторами работы (Christie et al., 1981), которые называли его «аппроксимацией произведений». Они показали, что для представительных модельных задач групповой вариант оказывается теоретически столь же точным, как и обычный вариант метода конечных элементов.
Общий вывод, который можно сделать, исходя из содержания данного параграфа, сводится к тому, что групповой вариант метода конечных элементов должен быть предпочтен обычному варианту этого метода с целью достижения приемлемой экономичности, если дискретизация осуществляется по отношению к нелинейным уравнениям гидроаэродинамики (гл. 11)
с числом измерений более одного. Однако нет оснований ожидать, что использование группового варианта приведет к уменьшению точности решения.
Двумерные уравнения Бюргерса
Подобно тому как одномерное уравнение переноса имеет свой многомерный аналог (§ 9.5), так и одномерное уравнение Бюргерса может быть обобщено на многомерный случай. Двумерные уравнения Бюргерса имеют вид
a嘿+。器一(需+笫) =。,。。・57) 黑+ "需+屯招一v (需+券) = 0. (10•58)
Двумерные уравнения Бюргерса совпадают с двумерными уравнениями импульсов для ламинарного течения несжимаемой жидкости (п. 11.5.1), если в последних пренебречь членами с давлением.
Точное решение
Как и в случае одномерного уравнения Бюргерса, точные решения могут быть построены [Fletcher, 1983d] с помощью преобразования Коула — Хопфа. При двух измерениях преобразование Коула — Хопфа связано с введением одной функции Ф, через посредство которой входящие в уравнения (10.57) и (10.58) функции й и у выражаются по формулам
五= 一 2V 可川尤) 仁 一2v (四W/)
В результате уравнения (10.57) и (10.58) преобразуются в од- но-единственное уравнение
鶏-(磐十筹) =。’•(10.60)
которое представляет собой двумерное уравнение диффузии (8.1). При задании надлежащих граничных и начальных условий уравнение (10.60) имеет точное решение, которое при помощи формул (10.59) может быть использовано для формирования точных решений уравнений (10.57), (10.58).
Главный интерес представляет стационарное решение уравнений (10.57), (10.58). Поэтому будут отыскиваться точные решения стационарной части уравнения (10.60), т. е.
(10.61)(10.61)д2Ф . д2Ф с后+疗=°,
(10.61)
(10.61)
Приводимое ниже точное решение уравнения (10.61) обеспечивает значительную свободу контроля над соответствующими решениями для скоростей, удовлетворяющими уравнениям (10.57) и (10.58). Имеем
<Э = О[ + &% + @зУ + а^ху + 的回(%т。)+ ет(尤-"]cos (九力 (10.62)
где коэффициенты аь ..., а5, а также параметры X и х0 подбираются так, чтобы придать надлежащие особенности точному решению. Если воспользоваться формулами (10.59), то соответствующие точные решения уравнений (10.57), (10.58) принимают вид
方 _- 2V {a2 + 04y + 九05 [e'(*-'。)一 6一'("一"。)] cos 伍у)}
{。1 +。2% + a3y + a^xy +。5 [0(*т。)+ е~к(х~х°Ц cos (九у)}''
可=—2V {。3 +。4尤一九。5 [0(*-*。)+ e-M*-*。)] sin 伍у)}(10
{% + a2х + 034 +04初 +0八06一/)+ e~K{x~x^] cos (崎)},
Типичный вариант точного решения для стационарного «течения» с очень большим внутренним градиентом показан на рис. 10.12. Это решение получено при следующем выборе параметров:
Q] = & === 1 ・3 X 10叱 03 = 04 = 0, %=1.0,
九= 25, х0= 1, v = 0.04.•
Точное решение (10.63), (10.64) особенно полезно для того, чтобы оценить степень точности различных алгоритмов [Fletcher, 1983с], как показано на рис. 10.11.
Схемы расщепления
Разработка схем расщепления для многомерных уравнений, например двумерных уравнений Бюргерса, идет по пути, близкому к тому, который был указан в § 8.2, 8.3 и 9.5. Дополнительное усложнение вносит при этом нелинейность. Как преодолевается подобное усложнение, будет показано ниже с помощью обращения к двумерным уравнениям Бюргерса, представленным в консервативной форме (10.52).
Уравнения (10.55), (10.56), представляющие собой дискретизированную форму уравнения (10.52), соответствуют как групповому варианту дискретизации с конечными элементами, так и конечно-разностной дискретизации, если массовые операторы представить в таком виде:
Мх =同 1 一 2SX, 6) Му = (%, 1 一 2%, %)т, (10.66)
как в (9.86). Выбор 6% =询=0 дает обычную трехточечную конечно-разностную дискретизацию; выбор же значений 6% = §у = ~^ дает групповой вариант метода Галёркина с конечными элементами, основанный на билинейной интерполяции.
Было бы возможно ввести трехслойную дискретизацию по времени для уравнения (10.55), как это было сделано при выводе схемы (9.87). Однако здесь нас интересует использование псевдонестационарной формулировки (§ 6.4) с целью получения решения для стационарного состояния. Поэтому мы воспользуемся приводимым ниже вариантом двухслойной чисто неявной (V = 0, 6=1) дискретизации по времени для уравнения (10.55):
Мх ® М/4Я; = RHSZ.(10.67)
Такая дискретизация приведет к схеме расщепления, эквивалентной расширенному методу Ньютона (п. 6.4.1). Желая получить из уравнения (10.67) линейную систему уравнений для Aq计* необходимо провести линеаризацию нелинейных членов F, G и S в выражении (10.56) для RHSn+1; для этого осуществляется разложение в окрестности n-го временного слоя, что дает
Fn+l = F« + AAqn+l+
Gn+l = Gn + BAqn+l+ …,(10.68)
sn+l = sn + CAqn+l+
где А, В и С вычисляются на основе выражений (10.53) в виде
А° 〃丿,В = ^ = (о 2丿
e+ 的)(10,69)
e=而Н(0•5/”)( 2rw 俨+3 喲丿.
После подстановки в уравнение (10.67) появляется возмож- вость построить следующую приближенную факторизацию:
[Мх + А/ (%А — vLxx 一 0.5A4xC)] Aq;尼=А/ RHS九,(10.70)
陷 + 削(%B — vLyy- 0・5”C)]曲隈=Aq:尼.(10.71)
Тот факт, что в уравнения (10.70) и (10.71) входят матрицы Якоби А и т. д., делает уравнения блочно-трехдиагональными вдоль сеточных линий, параллельных осям % и у соответственно. Так как матрицы А и т. д. зависят от решения, возникает
необходимость в проведении новой факторизации блочно-трехдиагональной системы на каждой итерации п. Эффективное решение блочно-трехдиагональной системы строится с помощью блочного алгоритма Томаса (п. 6.2.5).
Анализ устойчивости по Нейману применяется к схеме (10.70), (10.71) после временного замораживания значений А и т. д. Этот анализ показывает, что алгоритм схемы расщепления (10.70), (10.71) является безусловно устойчивым. На практике использование чрезмерно большого шага по времени может привести к нелинейной устойчивости.
Схема расщепления имеет ошибку аппроксимации порядка О(Д/, А%?, Ау2) Поскольку нас интересует только решение для стационарного состояния, можно рассмотреть такие модификации вида левых частей уравнений (10.70) и (10.71), которые позволили бы достичь стационарного состояния при уменьшенном объеме вычислений. В пределе стационарного состояния RHS〃 = 0, так что никакая модификация левой части не может оказать влияния на решение для стационарного состояния, даже если она и повлияет на нестационарное решение. Предпочтительная стратегия сводится к такому выбору формы левых частей, чтобы на каждой итерации построение решения было наиболее эффективным, однако чтобы можно было избежать существенного увеличения числа итераций, необходимых для достижения стационарного состояния.
Как отмечалось в п. 6.2.5, т скалярных трехдиагональных систем могут быть решены более эффективно, чем одна блочно-трехдиагональная система уравнений размерностью т\т. Уравнения (10.70) и (10.71) могут каждое в отдельности рассматриваться так, как если бы это были две последовательно решаемые трехдиагональные системы. Для этого в формулах (10.69) следует вычеркнуть члены, не попадающие на диагональ. Дополнительная экономия может быть получена за счет замены формул (10.69) на
аО' су)(;;)“
Это означает, что одинаковые левые части могут быть использованы для каждой из скалярных компонент уравнений (10.70) и (10.71). Иначе говоря, левая часть должна подвергаться факторизации (подпрограмма BANFAC) лишь один раз для двух решений (подпрограмма BANSOL) с различными правыми частями A/RHS; и AfRHS^. Формулы (10.72) вместе с уравнениями (10.70) и (10.71) являются составной частью программы TWBURG (рис. 10.13).
3 4
5 6
7 8
9
10 11
12
13
14 15 16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 59
1
С TWBURG APPLIES APPROXIMATION FACTORISATION TO SOLVE C THE STEADY 2-D BURGERS' EQUATIONS FOR U(XfY) AND V(X,Y) C
DIMENSION RU(21,21),RV(21,21),U(21,2I),V(21,21),UE!21,21), 1VE(21,21),B(5,65),RRU(65),DDU(65),RRV(65),DDV(65),CX(3),CY(3), 2CXQ(4),CYQ(4),EMX(3),EMY(3),DMX(3,3),DMY(3,3),A(5)
COMMON DX,DY,RE,NX,NY,CX,CXQ,CY,CYQ,DMX,DMY,EMX,EMY,RU,RV,U,V OPEN(1,FILE='TVBURG.DAT') OPEN(6,FILE='TVBURG•OUT')
READ(1,1)NX,NY,ME,ITMAX,IPR,BET,QX,QY
READ(1,2)DTIM,EPS,RE,EMI,EM2
READ(1,3)(A(J),J=1,5),AL
1 FORMAT(5I5Z3F5.2)
2 FORMAT(5E1O.3) 3 FORMAT(2E10.3,4F5.2) C
NXP = NX - 1 NXPP = NXP - 1 NYP = NY - 1 NYPP = NYP - 1 AN = NXPP*NYPP C
CALL EXBUR(UE,VE,A,AL) C
CX(1) = -0.5/DX CX(2) = 0. CX(3) = 0.5/DX CY(1) = -0.5/DY CY(2) = 0. CY(3) = 0.5/DY CXQ(l) = QX/DX/3. CXQ(2) = -3.*CXQ(1) CXQ(3) = -CXQ(2) CXQ(4) = -CXQ(l) CYQ(l) = QY/DY/3. CYQ(2) = -3.*CYQ(1) CYQ(3) = -CYQ(2) CYQ(4) = -CYQ(l) CCX = l./DX/DX/RE CCY = l./DY/DY/RE IF(ME .NE. 2)QX = 0. IF(ME .NE. 2)QY = 0. EMX(l) = 0.
EMY(l) = 0. IF(ME .EQ. 3)EMX(1) = EMI IF(ME .EQ. 3)EMY(1) = EM2 EMX(2) = 1. - 2.*EMX(1) EMX(3) = EMX(l) EMY(2) = 1. - 2,*EMY(1) EMY(3) = EMY(l) DO 4 I = 1,3 DMX(I,1) = CCX*EMY(I) DMX(I,2) = -2.*DMX(I,1) DMX(I,3) = DMX(I,1) DMY(1,I) = CCY*EMX(I) DMY(2,D =・2.*DMY(1,I) 4 DMY(3rI) = DMY(1,I)
60IF(ME.EQ.l)WRrrE(6,5)NX,NY,ME,rrMAX
61IF(ME.EQ.2)VRITE(6r6)NXrNYfME,ITMAX
62IF(ME.EQ.3)WRITE(6,7)NXfNY,ME,ITMAX
635 FORMAT(* 2-D BURGERS EQUATION: AF-FDM, NX,MY 小,213J MX M
64112/ ITMAX»* ДЗ)
656 FORMATC 2-D BURGERS EQUATION: AF-4PU, MX,MY »*#2I3/ ME』'
66112/ ITMAX«\I3)
677 FORMAT(* 2-D BURGERS EQUATION: AFTO, NX,KY »\2I3/ MB »\
68112/ ITMAX«\I3)
69 VRITE(6r8)BETrDTIMfREfQXfQYrEMX(l)fEMY(l)
708 FORMAT(* BETA«\F5.2r* DTIM»* rF5.3r * RE»\r5.1/ 0X・',F4・2
711」0¥«\Г4.2,1 ЕМХ«\Г5.3/ EMYL,F5・3)
72WRITE(6,9)(A(J),J=l,5),AL,DX,DY
739 FORMATS A・• ,2E10fc3,3F5.2r * AL1,F5・2J DX,DY・L2F8.§J>
C
C GENERATE INITIAL SOLUTION
C
DO 10 J « 1,NX
V(1,J) « VE(1,J)
V(NY,J) « VE(NY,J)
UC,J) « UE(1,J)
10 U(NY,J) « UE(NY.J)
DO 12 К * 2,NYP
U(KJ) = UE(K,1)
U(K,NX) « UE(K,NX)
V(K,1) « VE(K,1)
V(K,NX) « VE(K,NX)
DO 11 J « 2,NXP
88AJ « J - 1
89U(K,J) = U(K,1) + 0.5*AJ*DX*(U(KrNX)-U(K,l)>
9011 V(K,J) « V(K,1) + 0.5*AJ*DX*(V(K,NX)-V(K, 1),)
9112 COMTINUE
92IFdPR .LE. DGOTO 17
93DO 13 К » 1,NY
9413 WRITE(6f14)(UE(Kr J)f J>1rNX)
9514 FORMAT(4H UE=,7F10・4)
96 DO 15 К « 1,NY
9715WRITE(6,16) (VE(K,J), JT,NX)
9816FORMAT(4H VE=,7F10・4)
9917DO 20 J « lfNX
100DO 18 К»1,NY
101RU(K,J)«0.
10218RV(K,J) « 0.
103DO 19 К«1,5
10419B(K,J) « 0.
10520COMTINUE
106ITER « 0
107 C
10821 DBT = BET*DTIM
109СХЛ « 0.5*DBT/DX
110CYA 匸 0.5*DBT/DY
ССХЛ = DBT*CCX
CCYA « DBT*CCY
C
CALL RHSBU(RKSU f RMSV f ME,DTIK)
C
IF(RMSU .LT. EPS)GOTO 34
117IF(RMSU ・GT・ 1;OE+04)GOTO 34
C
C TRIDIAGONAL SYSTEMS IN THE X-DIRECTIOM
C
с с с с с с с с 123456789012345678901234567890123456789012345678901234567890 222222222333333333 3 444444444455555555556666666666777^/7777778 4Л 11111111111111111111111111111111111111111111111111111111111с с с с с с с с 123456789012345678901234567890123456789012345678901234567890 222222222333333333 3 444444444455555555556666666666777^/7777778 4Л 11111111111111111111111111111111111111111111111111111111111DO 27 К « 2,NYP
с с с с с с с с 123456789012345678901234567890123456789012345678901234567890 222222222333333333 3 444444444455555555556666666666777^/7777778 4Л 11111111111111111111111111111111111111111111111111111111111
с с с с с с с с 123456789012345678901234567890123456789012345678901234567890 222222222333333333 3 444444444455555555556666666666777^/7777778 4Л 11111111111111111111111111111111111111111111111111111111111
DO 23 J « 2,NXP
JM « J - 1
JP » J + 1
B(2,JM) = EMX(l) - ССХЛ - CXA*U(K,JM) - 0.5*EMX(1)*DBT*RE* 1(U(K,JH)*U(K,JM) + V(K,JH)*V(K,JM))
B(3,JH) = EMX(2) + 2JCCXA - 0・5*EMX(2)*DBT*RE* (U(K, J)*U(K,J> 1 + V(K,J)*V(K,J))
B(4,JM) = EMX(3) - CCXA + CXA*U(K,JP) - 0.5*EMX(3)*DBT*RE* 1(U(K,JP)*U(K,JP) + V(K,JP)*V(K,JP))
RRU(JM) = RU(K,J)
RRV(JM) = RV(K,J) IF(ME .NE. 2)GOTO 23 LST = 1
IF(J .EQ. 2)LST = 2
B(1,JH)匸 0.
DO 22 L=LST,4
LJ « J + L - 3
22 B(L,JM) = B(L,JH) + CXQ(L)*U(K,LJ)*DBT 23 CONTINUE
B(2,l) « 0.
B(4,JM) = 0.
IF(ME .NE. 2)GOTO 25
REDUCE TO TRIDIAGONAL FORM
DO 24 JH = 3,NXP
JMH « JM - 1
DVM = B(1,JH)/B(2,JMH)
B(2,JH) = B(2,JM) - B(3,JMM)*DUM
B(3,JM) « B(3,JM) - B(4,JMM)*DUM B(1,JM) = 0.
RRU(JM) « RRU(JM) - RRU(JMM)*DUM B(l,2) = 0.
CALL BANFAC(B,NXPP,1)
CALL BANSOL(RRU f DDU r В f NXPP r1)
CALL BANSOL(RRV,DDV,B,NXPP,1)
DO 26 J = 2,NXP
JM = J - 1
RU(K,J) = DDU (UH)
RV(K,J) = DDV(JM)
27 CONTINUE
TRIDIAGONAL SYSTEMS IN THE Y-DIRECTION
DO 33 J = 2,NXP
DO 29 К = 2,NYP
KM = К - 1
KP = К + 1
B(2,KM) = EMY(l) - CCYA - CYA*V(KM,J) - 0.5*EMY(1)*DBT*RE* 1(U(KH,J)*U(KM,J) + V(KM,J)*V(KM,J))
B(3,KM) = EMY(2) + 2.*CCYA - 0.5*EMY(2)*DBT*RE*(U(K,J)*U(KrJ^ 1 + V(K,J)*V(K,J))
B(4,KM) « EMY(3) - CCYA + CYA*V(KPrJ) - 0.5*EMY(3)*DBT*RE* 1(U(KP,J)*U(KP,J) + V(KP,J)*V(KP,J))
RRU(KM) = RU(K,J)
RRV(KM) = RV(K,J) IF(ME .NE. 2)GOTO 29
381LST = 1
182IF(К .EQ. 2)LST = 2
183B(1,KM) = 0.
184DO 28 L=LST,4
185LK = К + L - 3
18628 B(LrKM) = B(L,KM) + CYQ(L)*V(LK,J)*DBT
18729 CONTINUE
188B(2,l) = 0.
189B(4,KM) = 0.
190IF(ME ・NE・ 2)GOTO31
191 C
192 CREDUCE TO TRIDIAGONAL FORM
193 C
194DO 30KM = 3,NXP
195KMM =KM - 1
196DUM =B(1,KH)/B(2,KHH)
197B(2,KM)=B(2,KM)-B(3,KHM)*DUM
198B(3,KM)=B(3,KM)-B(4rKMM)*DUM
199B(1,KM)=0.
20030 RRV(KM) = RRV(KM) - RRV(KMM)*DUM
201B(lf2) = 0.
202 C
20331 CALL BANFAC(B,NYPP,1)
204 CALL BANSOL(RRU,DDU,B,NYPP,1)
20s CALL BANSOL(RRV r DDV r В,NYPP,1)
206 C
207 C INCREMENT U AND V
208 C
209 DO 32 К = 2,NYP
210 KM « К - 1
211 U(K,J) = U(K,J) + DDU(KM)
21232 V(K,J) = V(K,J) + DDV(KM)
21333 CONTINUE
214 ITER = ITER + 1
215 IF(ITER .LE. ITMAX)GOTO 21
216 C
217 C COMPARE WITH EXACT SOLUTION
218 C
21934SUMU = 0.
220SUMV = 0.
.221DO36 J = 2,NXP
222DO35 К = 2,NYP
223DU= U(K,J) - UE(K,J)
224DV= V(K,J) - VE(K,J)
225SUMU = SUMU + DU*DU
22635SUMV = SUMV+ DV*DV
22736CONTINUE
228RMSUE = SQRT(SUMU/AN)
229RMSVE = SQRT(SUMV/AN)
230WRITE(6,3 7)ITER,RMSU,RMSV,RMSUE,RMSVE
23137 FORMAT(' AFTER',13J ITERATIONS, RMS-RHS=*,2E10.3,
2321* RMS-ERR=',2E10.3)
233 DO 38 К = 1,NY
23438WRITE(6,39)(U(K,J),J=1,NX)
23539FORMATC U=',7F10.4)
236 DO 40 К = lrKY
23740WRITE(6r41)(V(KrJ),J=lrNX)
23841FORMAT(* V=',7F10.4)
239STOP
240END
TWBURG: численное решение
Алгоритм, соответствующий схеме расщепления (10.70), (10.71), включен в качестве составной части в программу TWBURG (рис. 10.13), предназначенную для получения стационарных решений уравнения (10.52) в вычислительной области —1&%WL 0 W У W Утах, где Утах = г/6九.Граничные условия Дирихле получены из точного решения (10.63), (10.64). Начальные условия получены путем линейной интерполяции граничных условий в направлении оси х.
Основные параметры, используемые в программе TWBURG,. описываются в табл. 10.11. Имеется возможность реализовать решение уравнений (10.70), (10.71) в трех альтернативных вариантах. В случае ME = 1 для Лх, Lxx и т. д. вводятся трехточечные дискретизации с центральными конечными разностями и, кроме того, полагается 6% = 6^ = 0. При ME = 2 четырехточечная дискретизация со сдвигом вверх по потоку, применявшаяся ранее в п. 9.3.2, 9.4.3 и 9.5.2, используется как для Лх, так и для Ly. Для £?)используются четыре точки, начиная с (/ ——2, k) и кончая (/ + 1,左);для Л^ — четыре точки, начиная с (/, k — 2) и кончая (/, k + 1). Для типового точного решения, данные о котором приводятся на рис. 10.15, вблизи линии % = 1 величина и отрицательна. Строго говоря, для вычисления 1)х в этой области должны использоваться четыре точки: (/—1, ^), ..., (j + 2, k). Для упрощения программирования в программе TWBURG этого не сделано. При ME = 3 параметры массового оператора 6% и 6У выбираются эмпирическим путем, чтобы получить более точное решение.
Правая часть уравнения (10.70) вычисляется с помощью подпрограммы RHSBU (рис. 10.14), а точное решение (10.63), (10.64)—с помощью подпрограммы EXBUR (рис. 6.11) при количестве элементов в массивах UE и VE, измененном на 21 X 21. В дополнение к этому в подпрограмме EXBUR (строка 10) задается значение %о согласно (10.65). Типовая выдача результатов, полученных по программе TWBURG, приводится на рис. 10.15.
Решения, полученные тремя указанными методами при выборе параметров согласно (10.65), приводятся в табл. 10.12 и 10.13 применительно к сетке 6 乂 6. Соответствующие ошибки решения в зависимости от % приводятся на рис. 10.16 и 10.17. Даже на столь грубой сетке все методы дают сравнимую степень точности, причем наибольшие ошибки решения возникают в окрестности большого внутреннего градиента (рис. 10.12). Исходя из результатов § 9.4 и п. 10.1.4, можно ожидать, что больший разброс данных от разных методов
Таблица 10.11.
Параметры, используемые в программе TWBURG
Параметр
Описание
ME
=1, приближенная факторизация, 3-точечный конечноразностный метод, AF-FDM
=2, приближенная факторизация, 4-точечная схема со сдвигом вперед, AF-4PU
=3, приближенная факторизация, схема с массовым
оператором, AF-MO
NX, NY
Число точек в направлениях х и у
ITMAX
Максимальное число итераций
IPR
>1, выдать на печать точное решение для “ни
BET
Весовой коэффициент для n-го и (я + 1) -го временных
слоев равен 1 в табл. 10.12 и 10.13
QX, QY
qx н q^ в 4-точечной дискретизации со сдвигом вперед.
以),寻
DTIM, DX, DY
Af, Лх, Ay
EPS
Критерий значения || RHS^||rms в (10.70) для сходимо
сти к стационарному состоянию
RE
Число Рейнольдса Re = 1/丫
EMI, EM2
&, 6g в (10.66)
A
Коэффициенты а^ …,«5 в (10.65)
CX, CY
L*, Ly в (10.70) и (10.71)
CXQ, CYQ
Инкременты к Lx н Lg для формирования L?), £《)
EMX, EMY
Мхи Му в (10.70) и (10.71)
DMX, DMY
М/С%%,в (10.56)
U, V
Зависимые переменные
UE, VE
Точное решение (“,仃),определяемое (10.63), (10.64)
DDU, DDV
Компоненты Aq;汽 и Aq;,% после возврата из BANSOL
RU, RV
Компоненты RHS" в (10.70); ячейки для временного
хранения Aq;尼
RRU, RRV
Одномерные компоненты RU, RV, требуемые для
BANSOL
В
4-диагональная или 3-диагональная матрица; левые
части (10.70) и (10.71)
RMSU, RMSV
Компоненты ||RHSn||rrns
RMSUE, RMSVE
"〃一矶ms; № -叫ms
2 3 4
5 6
7 8
9
10 11
12 13
14 15
16 17
18 19
20 21
22 23
24 25
26 27 :28 .29 .30
31 32
33
34 35
36 37
38 39 40 41
42 43 44 45 46 47
48 49 50 51
52 S3
54 55 56
57 58 59 €0 61
1
SUBROUTINE RHSBU(RMSU,RMSV,ME,DTIM) C C EVALUATES RIGHT-HAND SIDE OF THE 2-D BURGERS' EQUATION C
REAL*8 RUD,RVD,SUMU,SUMV,AN r DSQRT
DIMENSION RU(21,21),RV(21,21),U(21,21),V(21,21), 1DMX(3,3),DMY(3,3),EMX(3),EMY(3),CX(3),CY(3),CXQ(4),CYQ(4) 2,F(2),G(2),ES(2)
COMMON DX,DY,RE,NX,NY,CX,CXQ,CY,CYQ,DMX,DMY,EMX,EMY,RU,RV,U,V . NXP = NX - 1 NYP = NY - 1 SUMU = 0. SUMV = 0. DO 7 J =2,NXP DO 6 К = 2,NYP RUD = 0. RVD = 0. DO 2 N = 1,3 NK = К - 2 + N DO 1 M = 1,3 MJ = J - 2 + M F(l) = U(NK,MJ)*U(NK,MJ) F(2) = U(NK,MJ)*V(NK,MJ) G(2) = V(NK,MJ)*V(NK,MJ) G(l) = F(2) ES(1) = 0.5*RE*U(NK,MJ)*(F(l) + G(2)) ES(2) = 0.5*RE*V(NK,MJ)*(F(l) + G(2)) DUM =CX(M)*EMY(N)*F(1) + CY(N)*EMX(M)*G(1)
RUD = RUD+(DMX(NrM)+DMY(NrM))*U(NK,MJ)+EMX(M)*EMY(N)*ES(l) - DUM DUM =CX(M)*EMY(N)*F(2) + CY(N)*EMX(M)*G(2)
1 RVD = RVD+(DMX(N,M)+DMY(N,M))*V(NK,MJ)+EMX(M)*EMY(N)*ES(2} - DUM 2 CONTINUE
IF(ME .NE. 2)GOTO 5 MST = 1 IF(J .EQ. 2)MST = 2 DO 3 M*= MST,4 MJ = J ・ 3 + M RUD = RUD - CXQ(M)*U(K,MJ)*U(K,MJ) 3 RVD = RVD - CXQ(M)*U(K,MJ)*V(K,MJ)
IF(J .EQ. 2)RUD = RUD - CXQ(1)*U(K,1)*U(K,1) IF(J .EQ. 2)RVD = RVD - CXQ(l)*U(K,1)*V(K,1) NST = 1 IF(K .EQ. 2)NST = 2 DO 4 N = NST,4 NK = К ・ 3 + N RUD = RUD - CYQ(N)*U(NK,J)*V(NK,J) 4 RVD = RVD - CYQ(N)*V(NK,J)*V(NK,J)
IF(K .EQ. 2)RUD = RUD - CYQ(l)*U(1,J)*V(1,J) IF(K .EQ. 2)RVD = RVD - CYQ(l)*V(1,J)*V(lrJ) 5 SUMU = SUMU + RUD*RUD SUMV = SUMV + RVD*RVD RU(KrJ) = RUD*DTIM 6 RV(K,J) = RVD*DTIM 7 CONTINUE AN = (NXP-1)*(NYP-1) RMSU = DSQRT(SUMU/AN) RMSV = DSQRT(SUMV/AN) RETURN END
2-D BURGERS EQUATION: AF-MO, NX,NY = 6 6 ME = 3 ITMAX® 20
ВЕТА= 1.00 DTIM= .010 RE= 50.0 QX= .00 QY= .00 EMX= .260 EMY= .260
A=
Л00Е+14
.100Е+14
.00 .00 1.00 AL=25.00 DX,DY=
.40000 .00419
UE=
1.0000
1.0000
•5505 ・・ОЗЗЗ -.0250
-.0200
UE=
1.0000
1.0000
.5491-.0333-.0250
-.0200
UE=
1.0000
1.0000
.5448-.0333-.0250
-.0200
UE=
1.0000
1.0000
.5375-.0333-.0250
-.0200
UE=
1.0000
1.0000
.5271-.0333-.0250
-.0200
UE=
1.0000
1.0000
•5132-.0333-.0250
-.0200
VE=
.0000
.0000
.0000.0000.0000
.0000
VE=
.1051
.1051
.0600.0000.0000
.0000
VE=
• 2126
.2126
.1204.0000.0000
.,0000
VE=
.3249
.3249
.1818.0000.0000
.0000
VE=
.4452
.4452
.2447.0000.0000
.0000
VE=
.5774
.5773
.3097.0000.0000
.0000
AFTER 21 ITERATIONS, RMS-RHS= .624E-04 .801E-05 RMS-ERR= .449E-02 .120E-0Z
U=
1.0000
1.0000
.5505-.0333-.0250
-.0200
u=
1.0000
1.0002
.5426-.0354-.0239
-.0200
u=
1.0000
1.0003
.5349-.0364-.0233
-.0200
u=
1.0000
1.0004
.5275-.0365-.0233
-.0200
u=
1.0000
1.0003
.5203-.0354-.0238
-.0200
u=
1.0000
1.0000
.5132-.0333-.0250
-.0200
V»
.0000
.0000
.0000.0000.0000
.0000
v=
.1051
.1051
.0586-.0004.0002
.0000
v=
.2126
.2126
.1180-.0008.0004
.0000
v=
.3249
• 3250
.1790-.0009.0005
.0000
v=
.4452
.4453
•2425-.0007.0004
.0000
V»
.5774
.5773
.3097.0000.0000
.0000
Рис.
10.15. Типовая выдача результатов, порученных
с помощью программы
J[ +A JFDM『OAF-4PU =e.AF-MO—точное решениеJ[ +A JFDM『OAF-4PU =e.AF-MO—точное решение+ AF-FDM> о AF-4PU > © AF-МП—точное решение+ AF-FDM> о AF-4PU > © AF-МП—точное решениеTWBURG.
J[ +A JFDM
『OAF-4PU =e.AF-MO
—точное решение
J[ +A JFDM
『OAF-4PU =e.AF-MO
—точное решение
+ AF-FDM
> о AF-4PU > © AF-МП
—точное решение
+ AF-FDM
> о AF-4PU > © AF-МП
—точное решение
Рис. 10.16. Распределение ошибок для решения “ двумерного уравнения Бюргерса при у1утгх = 0.4. Обозначения см. в табл. 10.11.Рис. 10.16. Распределение ошибок для решения “ двумерного уравнения Бюргерса при у1утгх = 0.4. Обозначения см. в табл. 10.11.Рис. 10.17. Распределение ошибок длярешения и двумерного уравненияБюргерса при у/утах = 0 4. Обозна-чения см. в табл. 10.11.
Рис. 10.16. Распределение ошибок для решения “ двумерного уравнения Бюргерса при у1утгх = 0.4. Обозначения см. в табл. 10.11.
Рис. 10.16. Распределение ошибок для решения “ двумерного уравнения Бюргерса при у1утгх = 0.4. Обозначения см. в табл. 10.11.
возникает при более сильных градиентах. Однако эти решения свидетельствуют о том, что алгоритмы схем расщепления могут быть без труда распространены на нелинейные уравнения и что такие схемы, как AF-4PU и AF-MO, потенциально более точные, могут быть включены в программу при достаточно экономичной реализации.
Таблица 10.12. Изменение и в зависимости от х при у/утах = 0.4, NX = 6, NY = 6
-1.00
-0.60
-0.20
0.20
0.60
1.00
Среднеквадратичная ошибка
Точное решение
1.0000
1.0000
0.5375
-0.0333
—0.0250
-0.0200
—
AF-FDM
1.0000
1.0022
0.5221
-0.0322
-0.0250
-0.0200
0.0066
AF-4PCJ, qx = 1.0, qg = so
1.0000
1.0003
0.5247
-0.0326
-0.0256
-0.0200
0.0054
AF-MO, dx = =% = 0.26
1.0000
1.0004
0.5257
-0.0365
-0.0233
-0.0200
0.0045
Таблица 10.13. Изменение и в зависимости от х при 〃Утах = 0・4, NX ==6, NY = 6
-1 00
-0.60
-0.20
0.20
0.60
1.00
Среднеквадратичная ошибка
Точное решение
0.3249
0.3249
0.1818
0.0000
0.0000
0.0000
—
AF-FDM
0.3249
0.3251
0.1774
0.0003
0.0000
0.0000
0.0018
AF-4PU, qx = 1.0, gy = 0.0
0.3249
0.3246
0.1781
0.0003
-0.0002
0.0000
0.0015
AF-MO, dx = =6g = 0.26
0.3249
0.3250
0.1790
-0.0009
0.0005
0.0000
0.0012
Заключение
Вычислительные приемы, которые развивались применительно к уравнению диффузии в гл. 7 и 8, к уравнениям линейной конвекции и переноса — в гл. 9, были распространены здесь на семейство нелинейных уравнений — уравнений Бюргерса—для одномерного и двумерного случаев. Уравнения Бюргерса содержат ту же самую форму конвективной нелинейности, какая имеется во многих определяющих уравнениях динамики жидкости и газа.
При многих комбинациях начальных и граничных условий уравнения Бюргерса допускают легко рассчитываемые точные решения. В силу этого они представляют собой модельные уравнения, подходящие для проверки разнообразных вычислительных методов. Применительно к одномерному уравнению Бюргерса эта особенность была использована в п. 10.1.4 и 10.3.1, а применительно к двумерным уравнениям Бюргерса — в 10.3.2 и 10.4.3.
Чтобы иметь возможность воспользоваться алгоритмом Томаса, необходимо подвергнуть линеаризации конвективную нелинейность. Такая необходимость выявляется как для неявных одномерных схем (п. 10.3), так и для многомерных схем расщепления (п. 10.4.2). Методика линеаризации без труда распространяется и на системы уравнений (§ 10.2).
Анализ Фурье, непосредственная применимость которого к линейным уравнениям была показана в п. 9.2.1 и 9.4.3, косвенно используется и при анализе устойчивости по Нейману после замораживания нелинейности. Подход, связанный с применением модифицированного уравнения (п. 9.2.2), остается применимым и к линейным уравнениям. Однако произведения производных высшего порядка появляются при этом в достаточном числе и имеют достаточную величину, чтобы существенно уменьшить точность определения диссипативных и дисперсионных свойств. Оказывается обычно полезным в качестве промежуточного шага подвергнуть анализу эквивалентное линейное уравнение, так как именно это уравнение часто обнаруживает качественно эквивалентное диссипативное и дисперсионное поведение. Построение более точных схем нередко требует использования определяющих принципов, выявленных с помощью соответствующих линейных уравнений, при условии внесения в них тех или иных эмпирических поправок.
Большинство вычислительных методов, разработанных для линейных уравнений, могут быть распространены и на нелинейные уравнения. Однако, имея дело с нелинейными членами конвективного типа, часто оказывается более целесообразным
использовать такие сохраняемые переменные, как, например, функция 尸 в уравнении (10.3). В тех случаях, когда это полезно, сохраняемые переменные будут использоваться в гл. 14—18.
Нелинейный характер определяющего уравнения делает неэкономичным применение обычного метода Галёркина с конечными элементами, особенно при решении многомерных задач и при использовании повышенного порядка интерполяции. Это затруднение преодолевается за счет представления уравнений в консервативной форме и введения приближенных решений для сохраняемых групп. Групповой вариант метода Галёркина оказывается зачастую более точным, особенно в тех случаях, когда консервативной форме представления определяющих уравнений отдается предпочтение в связи с физическими особенностями задачи.
Задачи
Одномерное уравнение Бюргерса (§ 10.1)
Примените к уравнению (10.20) анализ с помощью модифицированного уравнения. Нелинейные коэффициенты уравнения считайте при этом замороженными и рассмотрите два случая: (1) q = 0, (2) 6 = 0. Покажите, что оптимальные значения 6 и q задаются соотношениями (10.26) и (10.27) соответственно.
Модифицируйте программу BURG так, чтобы реализовать конечноразностную дискретизацию уравнения (10.1) по схеме Кранка—Николсона и сравните полученное решение с тем, которое соответствует конечно-разностной дискретизации уравнения (10.3) по той же схеме и при условиях, соответствующих табл 10.5. Как изменятся результаты этого сравнения, если интегрирование будет продолжено до больших значений времени?
Модифицируйте программу BURG за счет введения в нее соотношений (10.26) и (10.27) и сравните решения применительно к условиям, относящимся к большим числа Рейнольдса ячейки и соответствующим табл. 10.5.
Программа BURG может быть использована для получения стационарных решений уравнений (10.37) при 戸=0.5("2 — 〃). Введите соответствующие изменения в общую трехслойную схему, эквивалентную схеме (8.26), и постройте решения при (1) Y = 0, 0=1; (2) Y = 0, 3 = 0.5; (3) 丫 = 0.5, § = 1.0. Сравните числа итераций, требуемых для достижения ■стационарного состояния в условиях, соответствующих табл. 10.9, но с использованием однородной сетки.
Для уравнения конвекции ——диффузии (10.28) составьте программу неравномерной дискретизации (10.30) — (10.32) и подтвердите результаты, приводимые в табл. 10.6 и 10.7.
Разработайте четырехточечную дискретизацию на неоднородной сетке со сдвигом вверх по потоку так, чтобы оставался один свободный параметр (эквивалентный q). Предположите, что величина гх постоянна, но не равна единице. Примените эту дискретизацию к модифицированному уравнению Бюргерса (10.37) с двухслойной чисто неявной маршевой схемой (10.38). Сравните точность полученных при этом решений с тем, которое показано в табл. 10.8 и 10.9 для различных значений свободного параметра.
Системы уравнений (§ 10.2)
Модифицируйте программу SHOCK (рис. 14.17) с тем, чтобы реализовать в ней явную четырехточечную схему со сдвигом вверх по потоку» введенную в п. 9 4.3. Получите решения, соответствующие тем, которые отражены на рис. 10.9, при искусственной диссипации, достаточной для подавления чрезмерных колебаний. Для получения устойчивых решений может оказаться необходимым использовать малое значение А/ (малое число Куранта С). Сравните крутизну полученного профиля ударной волны с тем, который показан на рис. 10.9.
Обобщите конечно-разностную схему Кранка — Николсона (10 44) с тем, чтобы разработать такую схему с массовым оператором при варьируемом параметре 6 для системы уравнений (10 40). Модифицируйте программу SHOCK (рис. 14.17) так, чтобы она работала по этой схеме, и сравните качество решения с тем, которое показано на рис. 10.9, при эмпирически подобранном значении 6.
Групповой метод конечных элементов (§ 10.3)
Реализуйте в программе BURG расчеты по обычному методу конечных элементов с разностной формой производной по времени, соответствующей схеме Кранка — Николсона, для одномерного уравнения Бюргерса и сравните точность полученного решения с точностью, обеспечиваемой применением группового метода конечных элементов и схемы Кранка — Николсона с массовым оператором, для условий, соответствующих табл 10 5
Оцените связующую способность и число операций для расчета невязки с помощью обычного и группового вариантов метода конечных элементов в применении к двумерным уравнениям Бюргерса с использованием квадратичной интерполяции.
Модифицируйте программу TWBURG так, чтобы получить возможность расчета по обычному методу конечных элементов в применении к уравнениям (10.57) и (10.58), и сравните точность и экономичность такого расчета с теми же параметрами для группового метода конечных элементов в применении к уравнению (10.52), для условий, соответствующих табл. 10.12 и 10.13. Как изменится это сравнение при использовании более мелкой сетки?
Двумерные уравнения Бюргерса (§ 10.4)
Составьте программу, основанную на подпрограмме EXBUR, для построения таких точных решений двумерных уравнений Бюргерса, которые порождали бы более сильные внутренние градиенты, в то же время создавая умеренные градиенты переменной и в окрестности линии % = 1.
С помощью программы TWBURG получите решения на сетках 6X6, 11X11 и 21X21 для условий, соответствующих табл. 10.12 и 10.13, при 0 & Sx, М W 0.30, 0 W 以,д» & 1 0 Решите вопрос об оптимальном выборе 6х и а также qx и qy для каждого варианта сетки.
Проведите расчет по программе TWBURG для следующего на- бора параметров: ах = а2 = 0 01101, а3 = а4 = 0, % = 1 0,九=5, = L0 и V = 0.1. Этот набор создает умеренный граничный градиент вблизи % = =1 0. Каков будет оптимальный выбор значений 6%, М,а также 耿,qy на сетке 11X11 для данного варианта?
Приложения
§ АЛ. Эмпирическое определение времени исполненияосновных операций
На рис. А.1 приведена распечатка компьютерной программы COUNT, дающей возможность приближенно определить времена исполнения различных типов операций. Тип операции, соответствующей тому или иному значению параметра ICT, приводится в табл. А.1.
Таблица А.1. Операции, учтенные в программе COUNT
ICT
Операция
Время исполнения (с) для
N=10 000
1
Пустой ЦИКЛ DO
32.9
2
Присваивание
45.0
3
Сложение и присваивание
65.0
4
Вычитание и присваивание
65.0
5
Умножение и присваивание
64.5
6
Деление и присваивание
64.5
7
Целочисленный оператор 1F
38.6
8
Возведение в степень и присваивание
210
9
Извлечение квадратного корня и присваива
69.5
ние
10
Синус и присваивание
60
11
Экспонента и присваивание
74.7
12
Сложение массивов и присваивание
81.6
Для каждой операции выполняется пара связанных между собой циклов DO. Внутренний цикл повторяет заданную операцию 1000 раз. Внешний цикл осуществляет повторение внутреннего цикла ^ раз. Для достаточно большого ^ время, прошедшее от ввода параметров ICT и ^ (строка 15) до вывода тех же параметров (строка 48), может быть определено вручную. В качестве возможной альтернативы используется подпрограмма, измеряющая время центрального процессора между строками 15 и 48.
1 c
2 C
COUNT FACILITATES THE DETERMINATION OF ' TIME FOR SPECIFIC OPERATIONS, DEPENDING
3 c
4 C
5
N IS THE NUMBER OF OUTER LOOPS.
DIMENSION E(IOOO),F(1000),G(1000)
6 C
7
8
9
10
11
INTEGER A,B,C В = 3.0 C = 1.0 IA = 8 DO 21 J = 1,1000 F(J) = 2.0
12
13
21 G(J) = 1.0 WRITE(*,22)
14
15
22 FORMAT(5X,'VALUE FOR ICT AND N') READY,23)ICT,N
16
17 C
18
19
20 C
21
23 FORMAT(215)
DO 14 I = 1,N
DO 13 J = 1,1000
GOTO(1,2,3,4,5,6,7,8,9,10,11」2) JCT
22
23
1 CONTINUE GOTO 13
24
25
2 A = J GOTO 13
26
27
3 A = В + J GOTO 13
28
29
4 A = В - J GOTO 13
30
31
5 A = B*J GOTO 13
32
33
6 A = B/J GOTO 13
34
35
7 IF(I .GT. 0)GOTO 13 .GOTO 13
36
37
8 A = B**IA GOTO 13
38
39
9 A = SQRT(B) GOTO 13
40.
41
10 A = SIN(B) GOTO 13
42
43
11 A = E乂P(B) GOTO 13
44
12 E(J) = F(J) + G(q)
45
13 CONTINUE
46
47 C
48
14 CONTINUE
WRITE(*,15)ICT,N
49
50
51
15 FORMAT(5Xr• ICT='rI7,5Xr * N=* rl7h STOP END
EXECUTION
THE VALUE OF ICT~
Рис. A.l. Распечатка программы COUNT.
Времена исполнения, приводимые в табл. А.1, относятся к супермикрокомпьютеру (Masscomp 5400), данные о действиях которого даны в табл. 4.4. Время исполнения для ICT = 1 вычтено из данных для случаев ICT = 2 и ICT = 7. В остальных случаях вычитается время для ICT = 2. Для операций с фиксированной запятой (FX), перечисляемых в табл. 4.4, активизируется оператор целочисленности (строка 6), а вычисление библиотечных функций (строки 38, 40 и 42) заменяется операторами CONTINUE, что сделано для выполнения оператора GOTO (строка 21).
§ А.2. Массовый и разностный операторы
Как указывается в п. 5.5.1 и 5.5.2, метод конечных элемент тов можно интерпретировать как средство почленной дискретизации, если только массовый и разностный операторы по направлениям идентифицированы в явной форме. Происхождение этих операторов в рамках метода Галёркина с конечными элементами (§ 5.1 и 5.3) будет показано здесь с двумерным уравнением переноса (9.81)
дТ . дТ . дТ /亍 /Т
育 + 0(A・D
Приближенное решение для Т вводится по формуле
т=£т乩•(匕 У),(А.2)
где 力£(尤,у) — двумерные интерполяционные функции Лагранжа, эквивалентные функциям (5.60). Выражение (А.2) подставляется в уравнение (А.1); согласно формулам (5.5) и (5.10)> вычисляется галёркинский интеграл от невязки с весом, и результат представляется в виде
Мх ® МУТ + иМу ® 厶%Т + vMx ® £“ 一
—%此 ® £%%Т — %МХ & LyyT = 0, (А.З)
где символ ® обозначает тензорное произведение п t = dT/df. Символы Мх и Му соответствуют массовым операторам по направлениям и определяются формулами
^^{4' 等},m产{果,• (a.4)
Дх *A j1ДХ2 .
_ (1 +~)1_)
Г%А%2' Гх ДХ2 J,
4 = {;
).50.5 у[1
К,°,\у J * ‘UU —\гу ^y2 1
(1 + %)丄'
'Гу ^у2,,
Разностные операторы по направлениям задаются формулами
где гх и гу — коэффициенты изменения размеров сетки,
—吃+1 -勺 yk+x-yk
(A.6)(A.6)так что на равномерной сетке имеем rx = ry= 1.
(A.6)
(A.6)
Можно видеть, что имеет место почленное соответствие между исходными уравнениями (А.1) и дискретизированным уравнением (А.З). Источник этого соответствия можно увидеть, если рассмотреть в (А.1) единственный член дТ/дх. Применение к уравнению (А.1) метода конечных элементов включает следующий вклад от производной дТ/дх:
/ = ?(?)伍礬•"х也尸,(A・7)
где знак Хе обозначает вклады от элементов, примыкающих к узлу т. Интерполяционные функции Лагранжа 小俏 можно представить в форме произведений одномерных интерполяционных функций
<7>小(X)小也)
TmТ m Т m у
(А.8)(А.8)где функции 摘)и 就)задаются формулами (5.45) и (5.46). Следовательно, вклады в интеграл (А.7) можно расщепить на компоненты по направлениям
(А.8)
(А.8)
/ = 2 (2 \ 晩艸 dy \ 钎)粵)TV (A.9)
Как результат этого можно ввести операторы
丄L Ах: 1/2 £ \(А.11)
где предполагается, что m-й галёркинский узел совпадает с глобальной узловой точкой сетки (/,々),так что
А"/-1/2= Х/ ~ х/-р А% -1/2 = % — %-1・(А.12)
Таким образом, член дТ/дх в уравнении (А.1) дискретизируется в форме Му ® LXT. На глобальной сетке это приобретает вид й5 =普{7…21Kz} +毕{込,五%»}+
+ ~H*'"T£iT} (A•⑶
Там, где в определяющем уравнении (А.1) появляется вторая производная, применение интегрирования по частям приводит к следующему определению оператора Lxx во внутренней точке:
LXXi = — 1/2穿)(哨〃 (A.U)
Определения, сравнимые с теми, которые даны в формулах (А.10), (А.11) и (А.14), могут быть получены и для М%, Ly и Lyy соответственно. На практике интегралы в формулах (А.10) и т. д. вычисляются путем введения координат (g, п), связанных с элементом, как это было с формулами (5.58) — (5.60). Для линейных элементов
^ = 0.5(1+^) при 瞋=±1 и —1&Е&1. (А. 15)
Формулы (А.10), (А.11) и (А. 14) применимы для интерполяции Лагранжа любого порядка. В случае квадратичной интерполяции операторы, выражаемые по формулам (А.4) и (А.5), имеют по пять компонент, связанных с угловыми узлами, и по три компоненты, связанные с узлами в серединах сторон.
Как очевидно из формул (А.5), форма операторов Lx и Lxx аналогична тому, что имеет место при конечно-разностной дискретизации. В отличие от этого массовые операторы (А.4) ведут свое происхождение от интегральной природы метода Галёркина. На этом основании при решении трехмерной задачи производная дТ/дх дискретизируется в виде
дТ/дх —> Му ® М2 ® LXT. (А. 16)
Для элементов в форме кирпичиков с использованием трилинейной интерполяции вышесказанное позволяет заключить, что оператор My^Mz^ Lx будет самое большее 27-точечным оператором.
При применении равномерной сетки существует связь между ролью массовых операторов и разностными формулами Паде. Вычисление дТ/дх по разностным формулам Паде с точностью четвертого порядка осуществляется посредством решения
трехдиагональной системы
I (^)_1 + Т (^)/ + Т (£)+1 = ” J" (А・ 17) или
MX^ = LJ. (А. 18)
Можно отметить, что здесь массовый оператор относится к тому же направлению, по которому берется производная. В отличие от этого при использовании метода Галёркина с конечными элементами получается
дТ1дх->Му® LJT (А. 19) и появляется явная формула, имеющая связь с поперечным направлением. Однако при использовании равномерной сетки выражение (А. 19) также соответствует дискретизации четвертого порядка точности.
Чтобы добиться четвертого порядка точности при дискретизации д2Т/дх2, используя формулы, эквивалентные (А.18) или (А.19), необходимо обобщить представление массового оператора, как это было сделано в (8.44), на оператор Мх = ={6, 1—26, 6}. Выбор 6 = 1/12 обеспечивает четвертый порядок точности (табл. 8.2).
Литература
Глава 1
Arlinger В. G. (1986). Computation on Supersonic Flow Including Leading- Edge Vortex Flows using Marching Euler Techniques. — In: Proc. Int. Symp. Comp. Fluid Dynamics, ed. by K. Oshima (Japan Computational Fluid Dynamics Society, Tokyo). Vol. 2, p. 1—12.
Bailey F. R. (1986). Overview of NASA's Numerical Aerodynamic Simulation Program. — In: Proc. Int. Symp. Comp. Fluid Dynamics, ed. by K. Oshima (Japan Computational Fluid Dynamics Society, Tokyo). Vol. 1, p. 21—32.
Baker A. J. (1983). Finite Element Computational Fluid Mechanics.— (McGraw- Hill, New York).
Book D. L. (ed.) (1981). Finite-Difference Techniques for Vectorised Fluid Dynamics Calculations. — Springer Ser. Comput. Phys. (Springer, New York, Berlin, Heidelberg).
Bourke W., McAveney B., Puri K., Thurling R. (1977). Methods Comput Phys, 17, p. 267—325.
Chapman D. R., Mark H., Pirtle M. W. (1975). Astronaut. Aeronaut., p. 22—35. [Имеется перевод: Ракетная техн, и косм., 1980, № 2, с. 3——32.]
Chapman D. R. (1979). AIAA J., 17, p. 1293—1313.
Chapman D. R. (1981). In: 7th Int. Conf. Numer. Methods in Fluid Dynamics, ed. by W. C. Reynolds, R. W. MacCormack, Lecture Notes in Physics, Vol. 141 (Springer, Berlin, Heidelberg), p. 1 —11.
Cullen M. J. P. (1983). J. Comput. Phys., 50, p. 1—37.
Fernbach S. (1986). Performance Expectations for Future Large-Scale Scientific Computers. — In: Proc. Int. Symp. Comp. Fluid Dynamics, ed. by K. Oshima (Japan Computational Fluid Dynamics Society, Tokyo). Vol. 1, p. 58—66.
Fletcher C. A. J. (1984). Computational Galerkin Methods, Springer Ser. Comput. Phys. (Springer. Berlin, Heidelberg). [Имеется перевод: Флетчер К. Численные методы на основе метода Галёркина.—М.: Мир, 1988.]
Glowinski R. (1984). Numerical Methods for Nonlinear Variational Problems, Springer Ser. Comput. Phys. (Springer, Berlin, Heidelberg).
Green J. E. (1982). In: Numerical Methods in Aeronautical Fluid Dynamics, ed. by P. L. Roe (Academic Press, London), p. 1—32.
Haltiner G. J., Williams R. T. (1980). Numerical Prediction and Dynamic Meteorology, 2nd ed. (Wiley, New York).
Hockney R. W., Jesshope C. R. (1981). Parallel Computers (Adam Hilger, Bristol).
Holst T. L., Thomas S. D., Kaynak U., Grundy K. L., Flores J., Chaderjian N. M. (1986). Computational Aspects of Zonal Algorithms for Solving the Compressible Navier — Stokes Equations in Three Dimensions. — In: Proc Int. Sym. Comp. Fluid Dynamics, ed. by K. Oshima (Japan Computational Fluid Dynamics Society, Tokyo). Vol. 1, p. 113—122.
Holt M. (1984). Numerical Methods in Fluid Dynamics, 2nd ed., Springer Ser. Comput. Phys. (Springer, Berlin, Heidelberg).
Hoshino T. (1986). Highly Parallel Computer PAX for Scientific Applications.—In: Proc. Int. Symp. Comp. Fluid Dynamics, ed. by K. Oshima
(Japan Computational Fluid Dynamics Society, Tokyo). Vol. 2, p. 183—194.
Krause E. (1985). Comput. Fluids, 13, p. 239—269.
Kutler P. (1985). AIAA J., 23, p. 328—338.
Levine R. D. (1982). Sci. Amer., 246, p. 112—125. [Имеется перевод: В мире науки, 1983, № 1, с. 16—29.]
Ortega J. М., Voigt R. G. (1985). SIAM Rev., 27, p. 147—240.
Peyret R., Taylor T. D. (1983). Computational Methods for Fluid Flow, Springer Ser. Comput. Phys. (Springer, Berlin, Heidelberg).
Richtmyer R. D., Morton K. W. (1967). Difference Methods for Initial Value Problems, 2nd ed. (Wiley, New York). [Имеется перевод: Рихтмайер P. Д., Мортон К. Разностные методы решения краевых задач. — М.: Мир, 1972.]
Roache Р. J. (1976). Computational Fluid Dynamics (Hermosa, Albuquerque, N. M.) [Имеется перевод: Роуч П .Дж. Вычислительная гидродинамика. —М.: Мир, 1980.]
Rubbert Р. Е. (1986). The Emergence of Advanced Computational Methods in the Aerodynamic Design of Commercial Transport Aircraft. — In: Proc. I nt. Comp. Fluid Dynamics, ed. by K. Oshima (Japan Computational Fluid Dynamics Society, Tokyo). Vol. 1, p. 42—48.
Stevens K. G. (1986). Efficiency of CFD Algorithm on Multiprocessor Architectures. —In: Proc. Int. Symp. Comp. Fluid Dynamics, ed. by K. Oshima (Japan Computational Fluid Dynamics Society, Tokyo). Vol. 1, p. 67—73.
Thomasset F. (1981). Implementation of Finite Element Methods for Navier — Stokes Equations, Springer Ser. Comput. Phys. (Springer, Berlin, Heidelberg).
Tobak M・,Peake D. (1982). Ann. Rev. Fluid Meeh., 14, p. 61—85.
Turkel E. (1982). Comput. Fluids, 11, p. 121 —144.
Глава 2
Ames W. F. (1969). Numerical Methods for Partial Differential Equations (Barnes and Noble, New York).
Belotserkovskii О. M., Chushkin P. I. (1965). In: Basic Developments in Fluid Dynamics, ed. by M. Holt (Academic, New York), p. 1—126.
Chester C. R. (1971). Techniques in Partial Differential Equations (McGraw- Hill, New York).
Courant R., Friedrichs К. O. (1948). Supersonic Flow and Shock Waves (Interscience, New York). [Имеется перевод: Курант P., Фридрихе K・ Сверхзвуковые течения и ударные волны. — М.: ИЛ, 1950.]
Courant R., Hilbert D. (1962). Methods of Mathematical Physics, Vol. II (Interscience, New York). [Имеется перевод: Курант P., Гильберт Д. Методы математической физики, т. 2. — М.: Гостехиздат, 1951.]
Fletcher С. A. J. (1983). The Galerkin Method and Burgers' Equation. — In: Numerical Solution of Differential Equations, ed. by J. Noye (North-Holland, Amsterdam), p. 355—475.
Garabedian P. (1964). Partial Differential Equations (Wiley, New York).
Гельфанд И. M., Шилов Г. Е. Некоторые вопросы теории дифференциальных уравнений (Обобщенные функции, вып. 3). — М.: Физматгиз, 1958.
Gustafson К. Е (1980). Partial Differential Equations and Hilbert Space Methods (Wiley, New York).
Hellwig G. (1964). Partial Differential Equations, An Introduction (Blaisdell, New York).
Jeffrey A., Taniuti T. (1964). Nonlinear Wave Propagation with Application to Physics and Magnetohydrodynamics (Academic, New York).
Lighthill M. J. (1958). Fourier Analysis and Generalised Functions (Cambridge University Press, Cambridge).
Whitham G. (1974). Linear and Nonlinear Waves (Wiley, New York). [Имеется перевод: Уизем Дж. Б. Линейные и нелинейные волны. — М.: Мир, 1977.]
Глава 3
Gear С. W. (1971). Numerical Initial Value Problems in Ordinary Differential Equations (Prentice-Hall, Englewood Cliffs, N. J.).
Hamming R. W. (1973). Numerical Methods for Scientists and Engineers, 2nd ed. (McGraw-Hill, New York). [Имеется перевод: Хемминг P. В. Численные методы для научных работников и инженеров. — М.: Наука, 1968].
Liepman Н., Roshko А. (1957). Elements of Gas Dynamics (Wiley, New York). (Имеется перевод: Липман Г. В., Рошко А. Элементы газовой динамики.— М.: ИЛ, I960.]
Глава 4
-Carnahan В., Luther Н. A., Wilkes J. О. (1969). Applied Numerical Analysis (Wiley, New York).
Dahlquist G., Bjorck A. (1974). Numerical Methods, trans by N. Anderson (Prentice-Hall, Englewood Cliffs, N. J.).
Finlayson B. A. (1980). Nonlinear Analysis in Chemical Engineering (McGraw- Hill, New York).
Fletcher C. A. J. (1983). J. Comput. Phys., 51, p. 159—188.
Hindmarsh A. C., Gresho P. M., Griffiths D. F. (1984). Int. J. Numer. Methods Fluids, 4, p. 853—897.
Isaacson E., Keller H. B. (1966). Analysis of Numerical Methods (Wiley, New York).
Mitchel A. R., Griffiths D. F. (1980). The Difference Method in Partial Differential Equations (Wiley, Chichester).
Morton K. W. (1980). Int. J. Numer. Methods Eng., 15, p. 677—683.
Neye J. (1984). Chap. 2 in Numerical Solution of Differential Equations, ed. by J. Noye (North-Holland, Amsterdam).
Richtmyer R. D., Morton K. W. (1967). Difference Methods for Initial-Value Problems (Interscience, New York). [Имеется перевод: Рихтмайер P. Д., Мортон К. Разностные методы решения краевых задач. — М.: Мир, 1972.]
Smith G. D. (1965). Nonlinear Solution of Partial Differential Equations (Oxford University Press, Oxford).
Sod G A. (1985). Numerical Methods in Fluid Dynamics (Cambridge University Press, Cambridge).
Trapp J. A, Ramshaw J. D. (1976). J. Comput. Phys., 20, p. 238—242.
Глава 5
Baker A. J. (1983). Finite Element Computational Fluid Mechanics (McGraw- Hill, New York).
Bathe K. J., Wilson E. L. (1976). Numerical Methods in Finite Element Analysis (Prentice-Hall, Englewood Cliffs, N. J.).
Bourke W., McAvaney B., Puri K., Thurling R. (1977). Methods Comput. Phvs., 17, p. 267—325.”
Brigham E. O. (1974). The Fast Fourier Transform (Prentice-Hall, Englewood Cliffs, N J).
Canuto C., Hussaini M. Y., Quateroni A., Zang T. A. (1987). Spectral Methods in Fluid Dynamics, Springer Ser. Comput. Phys. (Springer, Berlin, Heidelberg).
Cooley J. W., Tukey J. W. (1965). Math. Comp, 19, p. 297—301.
Finlayson B. A. (1972). The Method of Weighted Residuals and Variational Principles (Academic, New York).
Finlayson B. A. (1980). Nonlinear Analysis in Chemical Engineering (McGraw- Hill, New York).
Fletcher C. A. J. (1984). Computational Galerkin Methods, Springer Ser. Comput. Phys. (Springer, Berlin, Heidelberg). [Имеется перевод: Флетчер К. Численные методы на основе метода Галёркина. — М.: Мир, 1988.]
Fox L., Parker I. B. (1968). Chebyshev Polynomials in Numerical Analysis (Oxford University Press, Oxford).
Gottlieb D., Orszag S. A. (1977). Numerical Analysis of Spectral Methods: Theory and Application (SIAM, Phyladelphia).
Haltiner G. J., Williams R. T. (1980). Numerical Prediction and Dynamics Meteorology, 2nd ed. (Wiley, New York).
Isaacson E., Keller H. B. (1966) An Analysis of Numerical Methods (Wiley, New York).
Jameson A., Bader T. J. (1986). Euler Calculations for a Complete Aircraft.— In: Proc. Tenth Int. Conf. Numerical Methods in Fluid Dynamics, Beijing, Lecture Notes in Physics, Vol. 264 (Springer, Berlin, Heidelberg), p. 334— 344.
Jennings A. (1977). Matrix Computation for Engineers and Scientists (Wiley, Chichester).
Ku H. C, Hatziavramidis D. (1984). J. Comput. Phys., 56, p. 495—512.
Ku H. C., Taylor T. D., Hirsch R. S. (1987). Comput. Fluids, 15, p. 195— 214.
Lax P., Wendroff B. (I960). Commun. Pure Appl. Math., 13, p. 217—237.
Mitchell A. R., Wait R. (1977). The Finite Element Method in Partial Differential Equations (Wiley, Chichester).
Oden J. T., Reddy J. N. (1976). An Introduction to the Mathematical Theory of Finite Elements (Wiley, New York).
Orszag S. A. (1971). Stud. Appl. Math., 50, p. 293—327.
Orszag S. A. (1977). Numerical Simulation of Turbulent Flow. — In: Handbook of Turbulence, ed. by W. Frost, T. H. Moulden (Plenum, New York), p. 281—313.
Peyret R. (1986). Introduction to Spectral Methods, Leet. Ser. 1986-04, Von Karman Inst, for Fluid Dynamics, Belgium.
Peyret R., Taylor T. D. (1983). Computational Methods for Fluid Flow, Springer Ser. Comput. Phys. (Springer, New York, Berlin, Heidelberg).
Strang G., Fix G. J. (1973). An Analysis of the Finite Element Method (Prentice-Hall, Englewood Cliffs, N. J ).
Thomasset F. (1981). Implementation of Finite Element Methods for Navier — Stokes Equation, Springer Ser. Comput. Phys. (Springer, Berlin, Heidel* berg).
Voigt R. G., Gottlieb D., Hussaini M. Y. (1984). Spectral Methods for Partial Equations (SIAM, Philadelphia).
Zienkiewicz О. C. (1977). The Finite Element Method, 3rd ed. (McGraw-Hill, London). [Имеется перевод 1-го изд.: Зенкевич О. Метод конечных элемен* тов в технике. — М.: Мир, 1975.]
Глава 6
Axelsson О., Gustafsson I. (1979). J. Inst. Math. Its Appl., 23, p. 321—337.
Brandt A. (1977). Math. Comput, 31, p. 333—390.
Brigham E. O. (1974). The Fast Fourier Transform (Prentice-Hall, Englewood Cliffs, N. J.).
Broyden C. (1965). Math. Comput., 19, p. 577—593.
Coolev J. W., Lewis P. A. W., Welch P. D. (1970). J Sound and Vibrations, 12, p. 315—337.
Dahlquist G., Bjorck A. (1974). Numerical Methods, trans, by N. Anderson (Prentice-Hall, Englewood Cliffs, N. J.).
Dorr F. W. (1970). SIAM Rev., 12, p. 248—263.
Duff I. S. (1981). A Sparse Future.— In: Sparse Matrices and Their Uses, ed. by I. S. Duff (Academic, London), p. 1—29.
Engelman M. S., Strang G., Bathe K. J. (1981). Int. J. Numer. Methods Eng., 17, p. 707—718.
Fletcher С. A. J. (1983). Int. J. Numer. Methods Fluids, 3, p. 213—216.
Fletcher R. (1976). In: Numerical Analysis, ed. by G. A. Watson, Lecture Notes in Mathematics, Vol. 506 (Springer, Berlin, Heidelberg).
Fletcher R. (1980). Practical Methods of Optimization, Vol. 1. Unconstrained Optimization (Wiley, Chichester).
Forsythe G. E., Malcolm M. A., Moler С. B. (1977). Computer Methods for Mathematical Computations (Prentice-Hall, Englewood Cliffs, N. J.).
Gerald C. (1978). Applied Numerical Analysis, 2nd ed. (Addison-Wesley, Reading, Mass.).
Hackbusch W. (1985). Multigrid Methods and Applications, Springer Ser. Com- put. Math. (Springer, Berlin, Heidelberg).
Hageman L. A., Young D. M. (1981). Applied Iterative Methods (Academic, New York).
Hestenes M. R., Stiefel E. L. (1952). Nat. Bur. Stand. J. Res., 49, p. 409— 436.
Hockney R. W. (1970). Meth. Comp. Phys, 9, p. 135—211.
Hockney R. W., Jesshope C. R. (1981). Parallel Computers (Adam Hilger, Bristol).
Isaacson E., Keller H. B. (1966). Analysis of Numerical Methods (Wiley, New York).
Jackson С. P., Robinson P. C. (1985). Int. J. Numer. Methods Eng., 21, p. 1315—1338.
Jennings A. (1977a). Matrix Computation for Engineers and Scientists (Wiley» Chichester).
Jennings A. (1977b). J. Inst. Math. Its AppL, 20, p. 61—72.
Khosla P. K., Rubin S. G. (1981). Comput. Fluids, 9, p. 109—121.
Lin A. (1985). Int. J. Numer. Methods Fluids, 5, p. 381—391.
Markham G. (1984). A Survey of Preconditioned Conjugate-Gradient-type Methods Applied to Asymmetric Systems, CERL Report TPRD/L/AP 137/N83.
Ortega J. M., Rheinboldt W. C. (1970). Iterative Solution of Nonlinear Equations in Several Variables (Academic, New York).
Powell M. J. D. (1976). A View of Unconstrained Optimization. — In: Optimization in Action, ed. by L. C. W. Dixon (Academic, London), p. 117 —152.
Rheinboldt W. C. (1974). On the Solution of Large, Sparce Sets of Nonlinear Equations, TR-324, University of Maryland.
Rubin S. G., Khosla P. K. (1981). Comp. Fluids, 9, p. 163—180.
Schneider G. E., Zedan M. (1981). Numer. Heat Transfer; 4, p. 1 —19.
Shanno D. F. (1983). Comput. Chem. Eng., 7, p. 569—574.
Sonneveld P., Wesseling P., de Zeeuw P. M. (1985). In: Multigrid Methods for Integral and Differential Equations, ed. by D. J. Paddon, H. Holstein (Oxford Science Publication, Oxford), p. 117—167.
Stone H. L. (1968). SIAM J. Numer. Anal., 5, p. 530—558.
Stuben K., Trottenberg U. (1982). In: Multigrid Methods, ed. by W. Hackbusch, U. Trottenberg, Lecture Notes in Mathematics, Vol. 960 (Springer,. Berlin, Heidelberg).
Swartztrauber P. N. (1977). SIAM Rev., 19, p. 490—501.
Varga R. (1962). Matrix Iteratve Analysis (Prentice-Hall, Englewood Cliffs, N. J.).
Vinsome P. K. W. (1976). ORTHOMIN, An Iterative Method for Solving Sparse Sets of Simultaneous Linear Equations. — In: Proc. 4th. Symp. on Reservoir Engineering (SPE of AIME, Los Angeles), p. 150-159.
Wachpress E. L. (1966). Iterative Solution of Elliptic Systems and Applications to the Neutron Diffusion Equations of Reactor Physics (Prentice-Hall, Englewood Cliffs, N. J.).
Zedan M., Schneider G. E. (1985). Numer. Heat Transfer, 8 p. 537—557.
Глава 7
Beam R. М., Warming R. F. (1979). An Implicit Factored Scheme for the Compressible Navier-Stokes Equations II: The Numerical ODE Connection, AIAA Paper 79-1446.
Dahlquist G. (1963). BIT, 3, p. 27—43.
Gear C. W. (1971). Numerical Initial Value Problems in Ordinary Differential Equations (Prentice-Hall, Englewood Cliffs, N. J.).
Holt M. (1984). Numerical Methods in Fluid Dynamics, 2nd ed., Springer Ser. Comput. Phys. (Springer, Berlin, Heidelberg).
Lambert J. D. (1973). Computational Methods in Ordinary Differential Equations (Wiley, Chichester).
Mitchell A. R., Griffiths D. F. (1980). The Finite Difference Method in Partial Differential Equations (Wiley-Interscience, New York).
Noye B. J. (1983). In: Numerical Solution of Differential Equations, ed. by J. Noye (North-Holland, Amsterdam).
Ortega J. M., Voigt R. C. (1985). SIAM Rev., 27, p. 149—240.
Richtmyer R. D., Morton K. W. (1967). Difference Methods for Initial-Value Problems (Interscience, New York). [Имеется перевод: Рихтмайер P. Д., Мортон К. Разностные методы решения краевых задач. — М.: Мир, 1972.]
Seward W. L., Fairweather G., Johnston R. L. (1984). IMA J. Numer. Anal., 4, p. 375—425.
Trapp J. A., Ramshaw J. D. (1976). J. Comput. Phys., 20, p. 238—242.
Widlund О. B. (1967). BIT, 7, p. 65—70.
Глава 8
Douglas J., Gunn J. E. (1964). Numer. Math., 6, p. 428—453.
Dwoyer D., Thames F. (1981). Accuracy and Stability of the Time-Split Finite Difference Schemes, AIAA Paper 81-1005.
Fletcher C. A. J. (1984). Computational Galerkin Methods, Springer Ser. Comput. Phys. (Springer, Berlin, Heidelberg). [Имеется перевод: Флетчер К. Вычислительные методы на основе метода Галёркина.——М.: Мир, 1988.]
Fletcher С. A. J., Srinivas К. (1984). Comp. Meth. Appl. Meeh. Eng., 46, p. 313—327.
Gourlay A. R. (1970). J. Inst. Math. Its AppL, 6, p. 375—390.
Gourlay A. R. (1977). Splitting Methods for Time Dependent Partial Differential Equations. — In: The State of the Art in Numerical Analysis, ed. by D. Jacobs (Academic, London).
Марчук Г. И. Численные методы в прогнозе погоды. — Л.: Гидрометиздат, 1967.
Mase G. Е. (1971). Continuum Mechanics (McGraw-Hill, New York).
Mitchell A. R., Fairweather G. (1964). Numer. Math., 6, p. 285—292.
Mitchel A. R., Griffiths D. F. (1980). The Finite Difference Method in Partial Differential Equations (Wiley-Interscience, New York).
Peaceman D. W., Rachford H. H. (1955). SIAM J., 3, p. 28—41.
Яненко H. H. Метод дробных шагов решения многомерных задач математической физики. — Новосибирск: Наука, 1967.
Глава 9
Baker A. J., Kim J. W. (1987). Int. J. Numer Methods Fluids, 7, p. 489—520.
Brooks A. N., Hughes T. J., R. (1982). Comput. Methods Appl. Meeh. Eng., 32, p. 199—259.
Brown G M. (I960). AIChE J., 6, p. 179—183.
<Carey G. F., Sepehrnoori K. (198.0). Comput. Methods Appl. Meeh. Eng., 22. p. 23—48.
de Vahl Davis G., Mallinson G. D. (1976). Comput Fluids, 4, p. 29—43.
Donea J. (1984). Int. J. Numer. Methods Eng., 20, p. 101 — 119.
Donea J., Giuliani S., Laval H., Quartapelie L. (1984). Comput. Methods Appl. Meeh. Eng., 45, p. 123—145.
Finlayson B. A. (1980). Nonlinear Analysis in Chemical Engineering (McGraw- Hill, New York).
Fletcher C. A. J. (1983) Comput. Methods Appl. Meeh. Eng., 37, p. 225—243.
Griffiths D. F., Mitchell A. R. (1979). In: Finite Elements for Convection Dominated Flows, ed. by T. J. R. Hughes (ASME, New York), p. 91— 104.
Haltiner G. J., Williams R. T. (1980). Numerical Prediction and Dynamics. Meteorology, 2nd ed. (Wiley, New York).
Hindmarsh A. C., Gresho P. M., Griffiths D. F. (1984). Int. J. Numer. Methods Fluids, 4, p. 853—897.
Jennings A. (1977) Matrix Computation for Engeneers and Scientists (Wiley, Chichester).
Klopfer G. H., McRae D. S. (1983). AIAA J., 21, p. 487—494.
Leonard В. P. (1979). Comput. Methods Appl. Meeh. Eng., 19, p. 59—98.
Morton K. W. (1971). Proc. Roy. Soc. London, Ser. A, 323, p. 237—253.
Noye J. (1983). Chap. 2 in Numerical Solution of Differential Equations, ed. by J. Noye (North-Holland, Amsterdam).
Pinder G. F., Gray W. G. (1977). Finite Element Simulation in Subsurface Hydrology (Academic, New York).
Raithby G. D. (1976). Comput. Methods Appl. Meeh. Eng., 9, p. 75—94.
Roache P. J. (1972). Computational Fluid Dynamics (Hermosa, Albuquerque, N. M.). [Имеется перевод: Роуч П .Дж. Вычислительная гидродинамика.—М.: Мир, 1980.]
Steinberg S., Roache Р. J. (1985). J. Comput. Phys., 57, р. 251—284.
Warming R. F., Hyett B. J. (1974). J. Comput. Phys., 14, p. 159—179.
Глава 10
Basdevant C., Deville M, Haldenwang P., Lacroix J M., Onazzoni, Peyret R.,. Orlandi P., Patera A. T. (1986). Comput. Fluids, 14, p. 23—41.
Burgers J. M. (1948). Adv. Appl. Meeh., 1, p 171.
Christie L, Griffiths D. F., Mitchell A. R., Sanz-Serna J. M. (1981). Inst. Appl.
Numer. Anal., 1, p. 253—266.
Cole J. D. (1951). Q. Appl. Math., 9, p. 225—236.
Fletcher C. A. J. (1983a). Chap. 3 in Numerical Solution of Differential Equations, ed. by J. Noye (North-Holland, Amsterdam), p. 355—475.
Fletcher C. A. J. (1983b). Comput. Methods Appl. Meeh. Eng., 37, p. 225—243.
Fletcher C. A. J. (1983c). J. Comput, Phys., 51, p. 159—188.
Fletcher C. A. J. (1983d). Int. J. Numer. Methods Fluids, 3, p. 213—216.
Fletcher C. A. J. (1984). Computational Galerkin Methods, Springer Ser. Comput. Phys. (Springer, Berlin, Heidelberg). [Имеется перевод: Флетчер К.
Численные методы на основе метода Галёркина. — М.: Мир, 1988.]
Hamming R. W. (1973). Numerical Methods for Scientists and Engineers, 2nd ed. (McGraw-Hill, New York). [Имеется перевод: Хемминг P. В. Численные методы для научных работников и инженеров. — М.: Наука,.
Hopf Е. (1950). Commun. Pure Appl. Math., 3, p. 201—230.
Klopfer G. H., McRae D. S. (1983). AIAA J„ 21, p. 487—494.
Lerat A., Peyret R. (1975) Rech. Aerosp., 1975-2, p. 61—79.
Noye J. (1983). Chap. 2 in Numerical Solution of Differential Equations, ed. by J. Noye (North-Holland, Amsterdam), p. 130—353.
Peyret R., Taylor T. D. (1983). Computational Methods for Fluid Flow, Springer Ser. Comput. Phys. (Springer, Berlin, Heidelberg).
Richtmyer R. D., Morton K. W. (1967). Difference Methods for Initial-Value Problems (Interscience, New York). [Имеется перевод: Рихтмайер P. Д., Мортон К. Разностные методы решения краевых задач.—М.: Мир, 1972.] Thommen Н. U. (1966). Z. Angew. Math. Phys., 17, р. 369—384.
Thompson J. F. (1984). AIAA J., 22, p. 1505—1523.
Thompson J. F., Warsi Z. U. A., Martin C. W. (1985). Numerical Grid Generation, Foundations and Applications (North-Holland, New York).
Whitham G (1974). Linear and Nonlinear Waves (Wiley, New York). [Имеется перевод: Уизем Дж. Б. Линейные и нелинейные волны. — М.: Мир, 1977.]
Yanenko N. N., Fedotova Z. I., Tusheva L. A., Shokin Y. I. (1983). Comput. Fluids, 11, p. 187—206.
БПФ (FFT) ВВЦП (FTCS)ВГАД (CFD) ДСЧН (2LFI) ДУЧП (PDE)КН (CN) КФЛ (CFL) MBH (WRM) МО (МО) МСН (MSI)НПН (ADI)ОДУ (ODE)ПАП (FAS)ПВР (SOR)ПЛВР (SLOR)ПМС (FMG) ПП (CS) СНП (SIP) СПВР (SSOR)ТСЧН (3LFI) ФТВ (TWS)БПФ (FFT) ВВЦП (FTCS)ВГАД (CFD) ДСЧН (2LFI) ДУЧП (PDE)КН (CN) КФЛ (CFL) MBH (WRM) МО (МО) МСН (MSI)НПН (ADI)ОДУ (ODE)ПАП (FAS)ПВР (SOR)ПЛВР (SLOR)ПМС (FMG) ПП (CS) СНП (SIP) СПВР (SSOR)ТСЧН (3LFI) ФТВ (TWS)—быстрое преобразование Фурье 203, 206
БПФ (FFT) ВВЦП (FTCS)
ВГАД (CFD) ДСЧН (2LFI) ДУЧП (PDE)
КН (CN) КФЛ (CFL) MBH (WRM) МО (МО) МСН (MSI)
НПН (ADI)
ОДУ (ODE)
ПАП (FAS)
ПВР (SOR)
ПЛВР (SLOR)
ПМС (FMG) ПП (CS) СНП (SIP) СПВР (SSOR)
ТСЧН (3LFI) ФТВ (TWS)
БПФ (FFT) ВВЦП (FTCS)
ВГАД (CFD) ДСЧН (2LFI) ДУЧП (PDE)
КН (CN) КФЛ (CFL) MBH (WRM) МО (МО) МСН (MSI)
НПН (ADI)
ОДУ (ODE)
ПАП (FAS)
ПВР (SOR)
ПЛВР (SLOR)
ПМС (FMG) ПП (CS) СНП (SIP) СПВР (SSOR)
ТСЧН (3LFI) ФТВ (TWS)
—схема, центрированная по пространству, со сдвигом вперед по времени 107, 114, 283
—вычислительная гидроаэродинамика 7 и далее
——двухслойная чисто неявная схема 345
—дифференциальное уравнение в частных производных 33 и далее
—схема Кранка — Никольсона 366
—условие Куранта — Фридрихса — Леви 363
—методы взвешенных невязок 136
—массовый оператор 185
——модифицированная существенно неявная процедура 259
——неявная схема переменных направлений 256, 327, 330, 336
—обыкновенное дифференциальное уравнение 322
—метод с полной аппроксимационной памятью 269
—последовательная верхняя релаксация 186, 189, 251, 254, 257, 258
——последовательная линейная верхняя релаксация 256
——полный многосеточный метод 269
—— метод с поправочной памятью 269
——существенно неявная процедура 258
——симметричная последовательная верхняя релаксация 252
——трехслойная чисто неявная схема 283, 299
—формулировка Тейлора —Вика 378
Предметный указатель
Алгоритм расщепления, двухэтапный (algorithm of splitting, two-stage) 332
Аппроксимация производных (approximation to derivatives) 77—81 с разностью вперед (forward difference approximation) 78, 83, 84 назад (backward ^ 〜) 78, 83, 84
Аппроксимирующая функция, линейная (approximating function, linear) 159
Бюргерса уравнение (Burgers' equation) 223, 272, 429, 467
Векторизация вычислительного алгоритма (vector processing) 17
Галёркина метод (Galerkin method) 140
с конечными элементами (finite element Galerkin method) 170—194, 459—467
групповой (group 〜〜 〜〜)459—467
Гаусса—Зайделя метод (Gauss—Seidel 〜)251—255
Гаусса метод исключения (Gauss elimination 〜)233, 234, 237, 238, 240
Граничные условия (boundary condition) 37, 53—55
Дирихле (Dirichlet 〜〜)37, 38, 282, 307
Неймана (Neuman 〜〜)37, 38, 198, 282, 307, 309—311, 346
Грина функция (Green's function) 64—66
Дискретизация (discretisation) 29, 71—77
Дисперсия численная (dispersion, numerical) 370—378
Диссипация численная (dissipation, 〜)370—378
Дифференциальное уравнение в частных производных, гиперболическое (partial differential equation, hyperbolic) 33—35, 50, 66, 68
параболическое (〜 〜
〜parabolic) 33—35, 56, 66, 69
эллиптическое (〜〜
~ elliptic) 33—35, 58, 66, 69
Диффузии уравнение (diffusion equation) 181—183, 281—356
Дюфорта——Франке ла схема (DuFort—— Frankel scheme) 283, 286—288
Зональный метод (zonal method) 21 — 23
Изопараметрическое преобразование (isoparametric formulation) 192—194 Интерполяция, биквадратичная (biquadratic interpolation) 169—170
——билинейная (bilinear 〜)164——166
—двумерная (two-dimensional 〜) 164—170
—квадратичная (quadratic 〜)162— 164
——линейная (linear 〜)159——161 Итерационные методы (iterative methods) 248—270
Квазиньютоновский метод (quasi
Newton method) 230—233
Конвекции уравнение (convection equation) 358
Конвекции—диффузии уравнение
(convection—diffusion 〜)379
Корректно поставленная задача (well-posed problem) 35—37
Коула——Хопфа преобразование (Cole—Hopf transformation) 431, 467
Кортевега-де-Вриза уравнение (Ког- teweg de Vries equation) 67, 372
Коэффициент усиления моды Фурье (amplification factor) 121
Кранка — Николсона схема (Crank—— Nicolson scheme) 283, 297—299, 366—368
Куранта—Фридрихса—Леви условие (Courant—Friedrichs—Levicondi
tion) 363
Лакса—Вендроффасхема(Lax—
Wendroff scheme) 360, 365
Лапласа уравнение (Laplace's equation) 27, 58, 65, 67
Навье — Стокса уравнения (Navier— Stokes equations) 11, 29
для тонкого слоя (〜 〜〜 thin layer) 21
осредненные по Рейнольдсу
(〜〜〜Reynolds-averaged) 11,19
укороченные (〜 〜〜reduced form) 11
Начальные условия (initial conditions) 37, 53—55, 313—314
Невязка (residual) 138
Нелинейность квадратичная (nonlinearity quadratic) 463, 464
—конвективная (〜convective) 428'
—кубическая (〜qubic) 463, 464
Неустойчивость физическая (physical' instability) 123
Ньютона метод (Newton's method) 215—222
Матрица ленточная (banded matrix) 234
——плотная (dense 〜)234
——пятидиагональная (pentadiagonal 〜)243
—трехдиагональная (tridiagonal 〜) 238
Метод дробных шагов (fractional steps method) 352—354
—коллокаций (colocation 〜)139
—конечных объемов (finite volume 〜)45—157
разностей (finite difference 〜) 94
элементов (〜elements 〜) 157—170
с расщеплением (〜〜 〜 with splitting) 333—346
—наименьших квадратов (least-squares method) 139
——полной аппроксимационной памяти (full approximation storage 〜)269
——поправочной памяти (correction 〜 〜)269
—прямых (method of lines) 314— 321
——ускорения с сопряженными градиентами (〜〜acceleration with conjugate gradients) 260—262
Методы взвешенных невязок (weighted residual methods) 136—212
Многосеточные методы (multigrid 〜) 264—270
Модифицированное уравнение (modified equation) 375, 376
Оператор массовый (mass operator)' 185
—— разностный (difference 〜)185
Отложенной коррекции метод (deferred correction 〜)132
Ошибка аппроксимации (truncation' error) 78, 80, 81, 82, 84, 100
— решения (solution 〜)73, 124
—среднеквадратичная (rms 〜)98..
107
Переменных направлений схема (alternative directions scheme) 256, 327—330
Переноса уравнение, двумерное (two- dimensional transport equation) 410 одномерное (one-dimensional 〜 〜)385
Побочный эффект (aliasing) 431, 432
Полудискретная форма ДУЧП (semidiscrete form of PDE) 314
Пробная функция (trial function) 136
Пробное решение (〜solution) 136
Псевдонестационарный метод (pseudotransient method) 271—276
Псевдоспектральный метод (pseudo- spectral 〜)201
Пуассона уравнение (>Poisson equation) 58, 65, 246
Размер элемента сетки (grid се1Г size) 90
Разностная формула, несимметричная ^difference formula, asymmetric) 80, 83, 84, 87
центрированная симметричная (〜 〜centered, symmetric) 80, 83, 84, 87
Расчетная сетка, ее формирование (computational grid generation) 20, 21
Расщепления методы (methods of splitting) 327—333, 468—470
Рейнольдса число, сеточное (cell Reynolds number) 379
Ричардсона схема (Richardson scheme) 283, 286—288
Рунге—Кутты схемы (Runge—Kytta schemes) 316, 317
Связующая способность (connectivity) 463, 464
• Серендиповские элементы (serendipi- 〜ty elements) 170
Система уравнений, блочно-трехдиагональная (block-tridiagonal system of equations) 245
'Согласованность (consistency) 104, 105, 108—112
Спектральный метод (spectral method) 194—206
Существенно неявная процедура (strongly implicit procedure) 258— 260
•^Сходимость (convergence) 104, 105— 108
Тау-метод (tau method) 200
Теплопроводности уравнение (heat conduction eqution) 181—183
Томаса алгоритм (Thomas algorithm) 238—240
——обобщенный (〜 〜generalized) 243, 244
Трехслойная схема (three-level scheme) 288, 289
—299 обобщенна只(~ 〜generalized)
—чисто неявная (〜〜fully implicit) 299
Устойчивости анализ, матричный метод (stability analysis, matrix method) 114—120
метод Неймана (〜 〜 Neumann's ~) 120—124
Устойчивость (stability) 105, 112— 124
Факторизация (factorization) 331, 355
Фурье анализ (Fourier analysis) 47— 49
—быстрое преобразование (fast Fourier transform) 203
—преобразование (Fourier 〜)48, 49
Характеристик метод (method of characteristics) 61—63
Характеристики (characteristics) 38— 41, 50, 51
Циклической редукции метод (cyclic rediction method) 247, 249
Чехарда схема (leapfog scheme) 365
Штурма—Лиувилля задача (Sturm- Liouville problem) 170—180
Эйлера схема (Euler's scheme) 317, 318
— уравнения (〜 equations) 21, 29 Экстраполяция по Ричардсону (Richardson extrapolation) 126—128
активная (〜 〜active) 128
пассивная (〜 〜passive) 128
Энергетический метод (energy method) 132
Эффективность вычислительная (computational efficiency) 129—131
Якоби метод (Jacobi method) 250—
252
Оглавление
От редактора перевода 5
Предисловие 7
Глава 1. Введение в вычислительную гидроаэродинамику . .11
Преимущества вычислительной гидроаэродинамики11
Характерные практические задачи20
Структура уравнений25
Обзор общих принципов вычислительной гидроаэродинамики . . 28
Литература для дополнительного чтения31
Глава 2. Дифференциальные уравнения в частных производных . .33
§2 1. Основные положения33
Гиперболические дифференциальные уравнения в частных производных 50
Параболические дифференциальные уравнения в частных производных 56
Эллиптические дифференциальные уравнения в частных производных 58
Традиционные методы решения61
Заключение 66
Задачи 67
Глава 3. Предварительные сведенияо приемах вычислений . . . . . 71
Дискретизация 72
Аппроксимация производных77
Точность процесса дискретизации82
Представление волн . . .:89
Метод конечных разностей94
Заключение 100
Задачи 101
Глава 4. Теоретические основы104
Сходимость 105
2.Согласованность 108
Устойчивость112
Точность решения 124
Вычислительная эффективность129
Заключение 132
Задачи 133
Глава 5. Методы взвешенных невязок 136
Общая формулировка137
Метод конечных объемов145
Метод конечных элементов и интерполяция
Метод конечных элементов и уравнение Штурма — Лиувилля
Другие приложения метода конечных элементов
Спектральный метод
Заключение
Задачи
^ ^ ^ ^ ^ ^11 11 11 11^ ^ ^ ^ ^ ^11 11 11 11Глава 6. Стационарные задачи 213
^ ^ ^ ^ ^ ^
11 11 11 11
^ ^ ^ ^ ^ ^
11 11 11 11
Нелинейные стационарные задачи
Прямые методы для линейных систем
Итерационные методы
Псевдонестационарный метод
Стратегические приемы для решения стационарных задач •
Заключение
Задачи
ГлаваГлава7. Одномерное уравнение диффузии
Глава
Глава
Явные методы
Неявные методы
Граничные и начальные условия
Метод прямых
Заключение
Задачи
Глава 8. Многомерное уравнение диффузии
Двумерное уравнение диффузии
Методы расщепления для многомерных задач
Схемы расщепления и метод конечных элементов
Граничные условия Неймана
Метод дробных шагов
Заключение . . . ♦
Задачи
Глава 9. Линейные задачи с преобладающим влиянием конвекции
Одномерное линейное уравнение конвекции
Численная диссипация и дисперсия
Стационарное уравнение с конвекцией и диффузией ...
Одномерное уравнение переноса
Двумерное уравнение переноса
Заключение
Задачи
^ ^ ^ ^м ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ 2222222 2223333^ ^ ^ ^м ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ 2222222 222333344736245 323232333435353544736245 32323233343535357318594635^^^^^^^7318594635^^^^^^^Глава 10. Нелинейные задачи с преобладающим влиянием конвекции 428
^ ^ ^ ^м ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ 2222222 2223333
^ ^ ^ ^м ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ 2222222 2223333
44736245 3232323334353535
44736245 3232323334353535
7318594635^^^^^^^
7318594635^^^^^^^
Одномерное уравнениеБюргерса429
§ 102Системы уравнений456
Групповой метод конечныхэлементов459
Двумерные уравнения Бюргерса'.467
5.Заключение 480
§ 10.6.Задачи481
Приложения
483483§ АЛ. Эмпирическое определение времени исполнения основных операций 483
483
483
§ А.2. Массовый и разностный операторы485
Литература489
Указатель сокращенныхобозначений497
Предметный указатель498
Уважаемый читатель!
Ваши замечания о содержании книги, ее оформлении, качестве перевода и другие просим присылать по адресу: 129820, Москва, И-110, ГСП, 1-й Рижский пер., 2, издательство «Мир».
Учебное издание
Клайв Флетчер
ВЫЧИСЛИТЕЛЬНЫЕ МЕТОДЫВ ДИНАМИКЕ ЖИДКОСТЕЙ
В 2-х томах. Т. 1
Заведующий редакциейакадемик В. И АрнольдЗам зав редакцией А С. ПоповСт научн редактор П Я КорсоюцкаяМл. научн редактор Н С. ПоляковаХудожник О. С. ВасильковаХудожественный редактор В. И. ШаповаловКорректор Т М. Подгорная
ИБ № 7463
Сдано в набор 03.05.90. Подписано к печати 14.01.9L Формат 60Х88%б Бумага офсетная № 2 Печать высокая. Гарнитура литературная. Объем 15,75 бум. л_ Усл печ л 31,50 Усл кр -отт 31,50 Уч -изд л 28,96. Изд № 1/7168 Тираж 5000 экз Зак 524 Цена 7 руб.
ИЗДАТЕЛЬСТВО «МИР» В/О «Совэкспорткнига»Государственного комитета СССР по печати
129820, ГСП, Москва, И-110, 1-й Рижский пер. 2.
Набрано в Ленинградской типографии № 2 головного предприятия ордена Трудового Красного Знамени Ленинградского объединения «Техническая книга» им Евгении Соколовой Государственного комитета СССР по печати 198052, Ленинград, Л-52, Измайловский проспект, 29 Отпечатано в Ленинградской типографии № 8 ордена Трудового Красного Знамени Ленинградского объединения «Техническая книга» им. Евгении Соколовой Государственного комитета СССР по печати 190000, Ленинград, Прачечный переулок, 6.
* Ошибка аппроксимации Е выражена через Ах и производные по %, как в методе эквивалентно уравнению dTIdt + и дТ(дх + Е (Т)=0.
эквивалентная схема ВВЦП была условно устойчивой в применении к уравнению диффузии. Благодаря отсутствию устойчивости следует сделать вывод, что схема ВВЦП практически неприменима к решению задач о чистой конвекции. Для полноты информации свойства схемы ВВЦП в применении к уравнению (9.2) суммируются в табл. 9.1.
9.1.2. Схема с разностями против потока и условие ^ФЛ
Альтернативная схема может быть получена при введении разностной формулы для дТ/дх со сдвигом назад в предположении, что величина и положительна. Тогда дискретизация уравнения (9.2) принимает вид
К. ФлетчерВычислительныеметодыв динамикежидкостей1
Издательство «Мир»
Вычислительные методыв динамике жидкостей
C. A. J. Fletcher
Computational Techniquesfor Fluid Dynamics 1
Fundamental and General Techniques
With 138 Figures
Springer-VerlagBerlin • Heidelberg • New YorkLondon*Paris ・Tokyo
、:g白",Г心'图卜'叮。
ШРт
К. Флетчер
Вычислительные методыв динамикежидкостей
В двух томах
Том 1
Основные положения и общие методы
Перевод с английского
А. И. Державинойпод редакциейВ. П. Шидловского
Москва «Мир» 1991
ББК 22.253
Ф71
УДК 532 + 681.3
Флетчер К.
Ф71 Вычислительные методы в динамике жидкостей: В 2-х томах: Т. 1: Пер. с англ. — М.: Мир, 1991. — 504 с., ил.
ISBN 5-03-001881-6
Двухтомник по современной вычислительной гидродинамике, написанный известным австралийским специалистом, знакомым читателям по переводу его «Численных методов на основе метода Галёркина» (М.: Мир, 1988). Анализ задач проводится с позиций получения численного решения, выделяются актуальные нерешенные проблемы. Приводятся программы на Фортране, реализующие излагаемые методы. Двухтомник может использоваться и для решения сложных практических задач, и как учебное пособие по вычислительной гидродинамике.
Для математиков-вычислителей, гидромехаников, физиков, аспирантов и студентов вузов.
ФФ1602120000—073041(01)—91 ~1602120000—073041(01)—91 ~21—9121—91ББК 22.253ББК 22.253
Ф
Ф
1602120000—073
041(01)—91 ~
1602120000—073
041(01)—91 ~
21—91
21—91
ББК 22.253
ББК 22.253
ISBN 5-03-001881-6 (русск.)ISBN 5-03-001880-8ISBN 3-540-18151-2 (англ.)ISBN 5-03-001881-6 (русск.)ISBN 5-03-001880-8ISBN 3-540-18151-2 (англ.)Редакция литературы по математическим наукам
ISBN 5-03-001881-6 (русск.)
ISBN 5-03-001880-8
ISBN 3-540-18151-2 (англ.)
ISBN 5-03-001881-6 (русск.)
ISBN 5-03-001880-8
ISBN 3-540-18151-2 (англ.)
© Springer-Verlag Berlin Heidelberg 1988. All rights reserved. Authorized translation from English language edition published by Springer-Verlag, Heidelberg, New York, Tokyo
© перевод на русский язык,А. И. Державина, 1991