COMPUTATIONAL METHODS IN ENGINEERING BOUNDARY VALUE PROBLEMS T.Y.Na Department of Mechanical Engineering University of Michigan-Dearborn Dearborn, Michigan Ц. НА Вычислительные методы решения прикладных граничных задач Перевод с английского В.Е. Кондрашова, А.С. Сухих и Б.Н. Шамраева под редакцией И.Д.Софронова ACADEMIC PRESS A Subsidiary of Harcourt Brace Jovanovich, Publishers New York London Toronto Sydney San Francisco 1979 МОСКВА-МИР 1982 ББК 22.193 Н 12 УДК 517.9+518.6 На Ц. Вычислительные методы решения прикладных граничных задач: Пер. с англ.—М.: Мир, 1982—29G с., ил. Монография американского ученого, посвященная наиболее распространенным методам решения двухточечных граничных задач. В ней много практических и мо- дельных примеров, позволяющих проверить правильность понимания материала. Для инженеров и научных работников самых различных специальностей, кото- рым приходится самостоятельно проводить численные расчеты, а также для матема- тиков-прикладников. Редакция литературы по математическим наукам 1702070000-203 " 041(01)-82 ' ч. 1 Copyright © 1979 by Academic Press, Inc. © Перевод на русский язык, «Мир», !982 ПРЕДИСЛОВИЕ РЕДАКТОРА ПЕРЕВОДА За последнее десятилетие заметно возросла доступность быст- родействующих вычислительных машин для научных работников и инженеров самых различных специальностей. Эта доступность является следствием как резкого увеличения количества работаю- щих ЭВМ и их технических возможностей (прежде всего быстро- действия и оперативной памяти), так и изменения характера труда при проведении расчетов (здесь имеются в виду использование языков высокого уровня для написания программ и разнообразные способы ввода—вывода числовой и графической информации). Поэтому не удивительно, что работники многих нематемати- ческих специальностей теперь сами выполняют на ЭВМ нужные им научные и инженерные расчеты, в особенности сравнительно небольшие по объему программирования и затратам машинного времени, когда можно обойтись без использования сложного ма- тематического аппарата. Эти расчеты очень часто сводятся к численному решению самых разнообразных граничных задач для обыкновенных дифференциальных уравнений и систем. Существует много различных методов решения таких задач, и в данной книге излагаются основные из них. При этом под методом понимается тот или иной способ сведения граничных задач к более простым задачам (например, к задаче Коши, интегральному уравнению второго рода и т. д.), а также построение в случае необходимости подходящих итерационных процессов, но не приемы решения этих более простых задач (т. е. интегрирование обыкновенных диффе- ренциальных уравнений с полным набором начальных условий или решение систем линейных алгебраических уравнений). Каждый метод сначала излагается в общих чертах, а затем его детали описываются и уточняются при разборе многочисленных практических задач, взятых из. физики, химии, механики и био- логии. В этих примерах четко выделены основные шаги вычисли- тельного алгоритма, а результаты представлены в виде графиков или числовых таблиц, и поэтому читатель при желании может сам воспроизвести соответствующий расчет. Большое внимание уделено задачам, у которых в дифференциальное уравнение или в одно из граничных условий входит параметр. Особенно следует подчеркнуть исключительное многообразие рассмотренных в книге практических задач. К сожалению, автор не уделяет должного вни- мания вопросу о границах применимости излагаемых им методов и Предисловие редактора перевода не всегда четко определяет точный физический смысл и единицы из- мерения некоторых величин в рассматриваемых примерах (конечно, последнее не мешает пониманию сути методов их решения). Для чтения книги вполне достаточно знаний в объеме обычной втузовской программы по математике. Практическая направлен- ность и простота изложения удачно сочетаются с достаточно вы- соким научным уровнем и широтой охвата затронутых вопросов. Поэтому книга является хорошим пособием для практического освоения численных методов решения граничных задач для обык- новенных дифференциальных уравнений и будет полезна инжене- рам и научным работникам различных специальностей. Главы 7—10 представляют интерес и для специалистов по прикладной математике. При переводе были исправлены замеченные опечатки и мелкие погрешности. И. Д. Софронов ПРЕДИСЛОВИЕ Двухточечные граничные задачи встречаются во всех областях науки и техники. Для таких задач граничные условия задаются в двух точках, а дифференциальные уравнения очень часто нели- нейны, так что их аналитического решения обычно не существует и поэтому для получения решения нужно использовать численные методы. Методы численного решения таких задач делятся на две груп- пы—итерационные и неитерационные. Для линейных граничных задач решение всегда можно получить без итераций, но для не- линейных задач итерации обычно необходимы. Однако следует подчеркнуть, что существует ряд способов исключения итераций, в результате чего можно существенно сократить необходимое для решения задачи машинное время. Три главы этой книги посвя- щены итерационным методам, включая метод пристрелки, конечно- разностный метод и метод интегральных уравнений. Рассматри- ваются также шесть безитерационных методов. По порядку изложения это методы суперпозиции, прогонки, сопряженного оператора, преобразования, дифференцирования по параметру и инвариантного погружения. Эта книга написана для инженеров и научных работников, которым в своей практической деятельности приходится численно решать граничные задачи. Поэтому основное внимание в ней уде- ляется не теоретическим, а вычислительным аспектам рассматри- ваемых методов. Последние же излагаются достаточно подробно, и читатель вполне может усвоить детали, разбирая приведенные примеры и самостоятельно повторяя численные расчеты, резуль- таты которых представлены в виде таблиц. Ввиду такой практи- ческой направленности книги автор избегал аксиоматического подхода, принятого в ряде других учебных руководств, написан- ных математиками. Вместо этого здесь отдается предпочтение развитию интуитивных представлений и навыков, которые весьма полезны для предполагаемых читателей, т. е. для тех, кто дол- жен применять численные методы на практике, а не совершенство- вать их в математическом плане. Изучение логики алгоритма и перевод ее на язык программы—вот единственные пути практи- ческого освоения численных методов. В современных учебных пла- иах по подготовке будущих инженеров вопросы, подобные затро- нутым в этой книге, должны занять такое же важное место, Предисловие какое еще не так давно занимал в них метод разделения пере- менных. Трудно перечислить всех тех, кто оказал мне помощь при подготовке этой книги. Прежде всего я благодарен профессору Д. Джонсу из университета в Данди, который дважды просмот- рел рукопись, сделал много полезных замечаний и рекомендовал ре для опубликования. При выполнении этой работы постоянную поддержку оказывал мне д-р Т. Себеси из авиакомпании «Дуглас». Большое влияние на меня долгое время оказывали многочисленные полезные дискуссии с д-ром А. Хансеном, президентом Универси- тета Пэрдью, который, последовательно выступая в роли моего учителя, коллеги и друга, пробудил и постоянно поддерживал во мне интерес к прикладной математике. Весьма полезными были подробные замечания, высказанные в написанной для издатель- ства рецензии. Я признателен также профессорам И. Хабибу и Г. Кураджану за компетентные советы и административную по- мощь. И наконец, я хочу поблагодарить мою жену Хуа-Сун и наших детей Артура, Элен и Патрицию за их понимание, участие и терпение в те долгие часы, когда я покидал их, занимаясь этой работой. Цунг-Йен На Глава 1 ВВЕДЕНИЕ 1.1. Введение Эта книга ставит своей целью подробное описание различных методов решения линейных и нелинейных граничных задач. Отли- чие граничной задачи от задачи Коши (задачи с начальными ус- ловиями) состоит в том, что для первой решение дифференциаль- ного уравнения, найденное на некотором интервале, должно удовлетворять граничным условиям, заданным в двух или нес- кольких точках. Рассмотрим, например, граничную задачу dS+^+^^=:o^ ^=0- ^n-i. (i-i) которая получается при исследовании распространения тепла в твердом теле при наличии источников тепла. Функция /(Т) опи- сывает источник тепла; она, как правило, зависит от темпера- туры Т в точке. Константа р принимает значение 0, 1 или 2 в зависимости от того, является ли описываемое тело пластиной, цилиндром или сферой. Рассмотрим теперь решение задачи (1.1) для различных значений параметра р и функций источника /'(Т). В простейшем случае, когда описывается распространение тепл.ч в пластине и функция источника не зависит от температуры, т. е. р=0 и f(T)=qlk, где k—удельная теплопроводность, a q—тепловыделение на еди- ницу объема, граничная задача (1.1) запишется в виде d^T/dx^+q/k^O, dT(0}/dx=--0, T(1)--=1; (1.2) здесь дифференциальное уравнение является линейным и имеет постоянные коэффициенты. Решение этой довольно простой задачи сводится к определению двух постоянных интегрирования путем решения системы двух алгебраических уравнений, которые полу- чаются из граничных условий. Известно аналитическое решение дифференциального уравнения задачи (1.2)—это функция Т = -[q^k^x^C^x+C,. Отсюда с учетом граничных условий получаем два алгебраических 10 Гл. 1. Введение уравнения для определения С, и С,: Ci=0 и -[q/(2k)]+C,+C,=\. Таким образом, найдено распределение температур Т=1+Г9/(2/е)](1-х2). Характерное свойство граничной задачи проявилось здесь в том, что для определения постоянных интегрирования необходимо было решить систему алгебраических уравнений. Рассмотрим следующий пример, когда уравнение (1.1) описы- вает распространение тепла в стержне цилиндрической формы и функция источника линейно зависит от температуры. В этом слу- чае имеем р=1, /'(T)=p2T и задача (1.1) запишется в виде fiPT IdT ,^т-о dr(o) W^-xTx^ - ""' dx =0, Т(1)-1; (1.3) здесь дифференциальное уравнение имеет переменные коэффициенты и поэтому решение его несколько сложнее. Воспользуемся обыч- ным методом разложения решения в степенной ряд. Известно, что решение дифференциального уравнения задачи (1.3) может быть выражено через функции Весселя: т=с^о(М+с,у,(М. Граничные условия дают систему уравнений С,=0 и С,./„(р)+С,У,,(р)=1, которую можно разрешить относительно С, и С^. После этого можно найти решение в окончательной форме: T(x)=J,(^)/J^}. Метод разложения в ряд является довольно распространенным, но есть задачи, для которых применение этого метода либо со- пряжено с большими трудностями, либо вообще невозможно. К последним, в частности, относятся задачи, которые содержат коэффициенты, в свою очередь являющиеся решением других диф- ференциальных уравнений (см., например, разд. 2.2.2). В таких случаях следует обратиться к численным методам. В качестве третьего примера рассмотрим процесс распростра- нения тепла в сфере, предполагая, что интенсивность источника тепла экспоненциально зависит от температуры [I]. В этом случае р=2, а функция источника имеет вид ^(Л-с^, где к—константа; таким образом, задача (1.1) записывается в виде S^S^^ '?-0. Л1)-1. 0.4) 1.2. Методы решения П В силу нелинейности функции источника мы получили нелинейную граничную задачу. Такие задачи, как правило, удается решить только при помощи численных методов. 1.2. Методы решения В этой книге описываются различные методы решения таких линейных и нелинейных граничных задач, которые не поддаются аналитическому решению. Эти методы можно разделить на два класса в зависимости от того, является ли процедура решения итерационной или нет Перечислим эти методы. I. Итерационные методы: 1) методы пристрелки (метод Ньютона, метод параллельной пристрелки и метод квазилинеаризации); 2) конечно-разностные методы; 3) метод интегральных уравнений. II. Неитерационные методы: 1) метод суперпозиции; 2) метод прогонки; 3) метод сопряженного оператора; 4) метод преобразования; 5) метод дифференцирования по параметру; 6) метод инвариантного погружения. Метод пристрелки иногда еще называют «методом садового шланга», так как в принципе нечто подобное происходит в том случае, когда садовник, направляя струю воды из наконечника шланга, пытается полить дальние грядки: обычно требуется нес- колько корректировок, прежде чем струя воды попадет в цель. Так же и при решении граничной задачи сначала выбирается не- которое значение для недостающего начального условия. Полу- чающуюся при этом задачу Коши можно проинтегрировать одним из стандартных методов. (За подробным описанием методов реше- ния задачи Коши мы отсылаем читателя к учебникам по этому предмету; см., например, [2]1).) Правильность выбранного началь- ного условия проверяется в конечной точке сравнением заданного граничного условия с полученным в результате решения задачи Коши. Если эти граничные условия не совпадают, то для недо- стающего начального условия выбирается новое значение, про- цедура повторяется сначала и так продолжается до тех пор, пока не будет достигнута удовлетворительная точность. В итерацион- ных методах подобного сорта возникает вопрос о существовании регулярной процедуры выбора недостающего начального условия, обеспечивающую быструю сходимость к решению задачи. Такие ме- ') См. также Крылов В. И., Бобков В. В., Монастырский П. И. Вычис- лительные методы. Том 2.— М.: Наука, 1977, гл. 6.— Прим. ред. 12 Гл. 1. Введении тоды известны; в. гл. 5 приводятся три из них: метод Ньютона, метод параллельной пристрелки и метод квазилинеаризации. Одним из наиболее широко используемых методов решения граничных задач является, по-видимому, конечно-разностный ме- тод. Этот дискретный метод заключается в переходе от системы обыкновенных дифференциальных уравнений к конечной системе алгебраических уравнений путем замены производных зависимых переменных их конечно-разностным представлением и дальнейшем решении полученных алгебраических уравнений; при этом полу- чается приближенное решение задачи в узловых точках. Для линейных граничных задач соответствующие алгебраические урав- нения также линейны, и решение можно найти за один шаг. При решении нелинейных граничных задач требуются итерации, так как теперь задача должна быть линеаризована. Одним из распространенных методов является линеаризация дифференциаль- ного уравнения при помощи методов квазилинеаризации до замены производных их конечно-разностным представлением. В другом подходе производные предварительно заменяются их конечно-раз- ностным представлением, а затем полученные нелинейные алге- браические уравнения линеаризуются методом Ньютона. Оба под- хода подробно рассматриваются в гл. 6. В методе интегральных уравнений граничная задача заменяется интегральным уравнением, которое решается с помощью квадра- турных формул. Вывод интегрального уравнения, эквивалентного граничной задаче, в общем случае включает определение функции Грина. Для линейных граничных задач решение можно найти без итераций. Для решения нелинейных граничных задач требу- ется итерационная процедура, причем линеаризуется либо исход- ная граничная задача, либо нелинейное интегральное уравнение. Метод интегральных уравнений описывается в гл. 12. Способ преобразования линейных граничных задач к задачам Коши методом суперпозиции хорошо известен, и его описание можно найти в таких стандартных учебниках, как, например, книга Коллатца [3]'). Метод основывается на принципе суперпози- ции, следуя которому можно свести решение граничной задачи к нахождению решений двух или нескольких задач Коши. Ком- бинация этих решений дает решение исходной задачи. Метод су- перпозиции кратко излагается в гл. 2. Менее распространенный метод прогонки, описанный в гл. 3, с помощью которого линейные граничные задачи преобразуются к задачам Коши, разработан И. М. Гельфандом и О. В. Локу- циевским в Математическом институте им. Стеклова АН СССР (см. книгу [4]). В этом методе недостающие начальные условия 1) рм. также Бахвалов Н. С. Численные методы.— М.: Наука, 1973, ч. III, I т.ч. 9, § б.—1/рим. рс0.' 1.2. Методы решения 13 находятся на этапе прямой прогонки, который включает в себя построение новой задачи Коши (для параметров) и ее интегриро- вание от начальной точки. После того как недостающие началь- ные условия во второй точке найдены, искомое решение может быть найдено при помощи обратной прогонки исходной системы дифференциальных уравнений из второй точки. Еще одну простую возможность решения граничных задач дает метод сопряженного оператора f5]. Он основывается на по- нятии сопряженной системы уравнений, матрица коэффициентов которой является транспонированной со знаком минус матрицей коэффициентов исходной системы дифференциальных уравнений. Эта сопряженная система осуществляет связь между граничными условиями исходной задачи в начальной и конечной точках. Под- робное описание метода сопряженного оператора приводится в гл. 4. Метод преобразования основывается на интересной идее, вы- двинутой Тёпфером в 1912 г. при решении уравнения Блазиуса [6J в теории пограничного слоя. Благодаря успешному примене- нию введенного преобразования возник вопрос о возможности применения подобных преобразований к другим уравнениям. Одна- ко только в 1962 г. Кламкину [7] удалось, следуя аналогичным рассуждениям, расширить метод и применить его к широкому классу подобных уравнений. Дальнейшее обобщение стало воз- можным после того, как метод был пересмотрен с точки зрения групп преобразований в работах На [8, 9], в которых системати- зировались алгоритмы решения и недостающее начальное условие отождествлялось с параметром группы. В рамках этой теории преобразования Тёпфера [6] и Кламкина [7] являются так назы- ваемыми «линейными группами» преобразований. Благодаря вве- дению других групп преобразований метод оказывается примени- мым к другим классам уравнений. При помощи этого метода могут быть исследованы и уравнения с граничными условиями, заданными в конечных точках. Подробности такого подхода при- водятся в гл. 7. Полное изложение теории метода групп преобра- зований можно найти в работах [10—13]. Несмотря на то что понятия, введенные в гл. 7, оказываются весьма полезными, класс уравнений, которые можно исследовать с их помощью, все еще остается довольно узким. Было сделано много попыток расширить возможности метода. Первое такое расширение было сделано для тех нелинейных двухточечных гра- ничных задач, которые содержат физический параметр в диффе- ренциальном уравнении или в граничных условиях, а решение нужно найти для некоторой области значений этого параметра. Заменяя физический параметр параметром группы преобразования, можно продолжить рассуждения гл. 7 и получить таким образом новый метод, который описывается в гл. 8. Это обобщение яв- ляется довольно важным, поскольку для большинства физических 14 Гл. 1. Введение задач, в формулировки которых входит физический параметр, почти всегда интересно знать решения для всего интервала зна- чений этого параметра, а не для одного его частного значе- ния, Хотя расширенный метод, приведенный в гл. 8, значительно увеличивает область применимости метода преобразования, с его помощью можно исследовать задачи, включающие только один физический параметр. Для задач, которые содержат более одного физического параметра, введение параметров группы преобразо- вания не приводит к желаемому результату. По-видимому, здесь следует привлекать какие-то более общие соображения. Это было сделано (см., например, [14]) при помощи исследования инвариант- ных относительно преобразований комбинаций физических пара- метров. Описание полученного таким образом метода, позво- ляющего решать задачи с произвольным числом параметров, при- водится в гл. 9, где, кроме того, дается систематический способ нахождения решений в случае их неединственности. Метод дифференцирования по параметру, при помощи которого граничная задача сводится к задаче Коши, разработан всего нес- колько лет назад, хотя идея метода давно использовалась в раз- личных ситуациях. В основном метод применяется для решения граничных задач, которые содержат физический параметр в диф- ференциальном уравнении или в граничных условиях. Исходя из известного решения для соответствующего значения параметра, решения задачи для других значений параметра можно получить интегрированием функции скорости изменения решения относи-. тельно этого параметра. Для решения на каждом шаге граничных задач, которые являются линейными, можно применить один из неитерационных методов, описанных в гл. 2—4. От шага к шагу параметр меняется на малую величину, решение получает соот- ветствующее приращение, и таким образом исходная задача мо- жет быть решена в широком диапазоне значений параметра без итераций. Подробное описание этого метода приводится в гл. 10. Метод инвариантного погружения, также используемый для преобразования граничной задачи к задаче Коши, имеет более длительную историю, чем методы преобразования и дифференци- рования по параметру. В отличие от классического подхода в этом методе решение задачи получается путем исследования це- лого семейства задач. На первый взгляд такой подход скорее усложняет проблему, чем упрощает ее, но тем не менее можно установить связь между конкретной задачей и другими предста- вителями семейства, при помощи этой связи исследовать соотно- шения между соседними решениями и получить характеристики конкретного представителя семейства. Поскольку этот метод под- робно освещен в существующей литературе Г15. 161. в гл. 11 дается лишь краткое его описание. 1.3. Численное интегрирование задачи Коши 15 1.3. Численное интегрирование задачи Коши Все методы, описанные в книге, кроме методов гл. 6, 11 и 12, включают численное интегрирование задачи Коши, и поэтому предполагается, что читатель знаком с основами этого предмета. Задача Коши определяется дифференциальным уравнением с гра- ничными условиями, заданными в одной точке. В численном подходе значения зависимой переменной и ее производных вычисляются для дискретных значений независимой переменной (в узловых точках). Зная приближенные значения производных, можно полу- чить решение задачи Коши, выходя из начальной точки, в ко- торой задан полный набор начальных значений решения. Совре- менные вычислительные машины позволяют быстро и с высокой точностью интегрировать системы, состоящие из большого числа обыкновенных дифференциальных уравнений. Численные методы решения задач Коши можно разбить на две группы, а именно одношаговые и многошаговые методы. Рас- смотрим обыкновенное дифференциальное уравнение п-то порядка У^^^х, у, у', у", ..., у1"-1') (3.1) с начальными условиями ^'^о)-^' (v=0, 1, .... n-1), где у^ = dvy|dxv, и разделим интервал [Ху, х,\, на котором тре- буется найти решение задачи, на / подынтервалов. Длина подын- тервала (шаг) вычисляется по формуле h^{Xf—x,)/I, (3.2) откуда для узловых точек имеем x,^=x,+h. (3.3) Решить задачу Коши означает найти приближенные значения зависимой переменной и ее производных г/"" в узловых точках на интервале [хд, Ay]. Метод называется одношаговым, если для вычисления t/'^i требуется знать лишь значения г/^'. Метод яв- ляется самозапускающимся, если для вычисления у^', у^\ у^,... необходимы только граничные значения в начальной точке. Здесь мы упомянем два таких метода: метод Тейлора и метод Рунге— Кутты. Численная схема метода Тейлора определяется формулой (3.4) ,,(V) ,,(•"' _|_ /,т^> У«+1 ==+2)_i_ -1- _______ У1.""1' (3.5) — i/.v+t) 4. __ //> + 2) .4. -4- _______ —У» ^2!-" ' "'(n-v-iy. 16 Гл. 1, Введение Известно, что метод Тейлора в принципе очень прост. Его глав- ная трудность заключается в необходимости вычислять частные производные функции /. Метод Рунге—Кутты благодаря малым ошибкам аппроксима- ции и простоте является, по-видимому, наиболее распространен- ным. Чаще всего используются формулы четвертого порядка. Их можно получить следующим образом [З]. Предположим, что известно решение у^' в f-й узловой точке и требуется найти ре- шение , (3.7) ср {х, Uo, "1, • • > Уп-i) = =f(x, у, (\\lh}v„ (2^.//l2)y„ ..., [(n-l)\/hn-l}v^, (3.8) ^v+1, i^^ \ v ...+»—("7')- <у(«)=Уу. i+O^ ^ )uv+i, i+0^2^'У"'^Ov+2,f+•.. ...+^-v-^71)^.,,. 2. Далее положим /ei=(/!"/n!)(p(x„ Uo,„ Ui,,, ..., o„_i,<), ^(/1"/«!)(р[л,+4. ^(-^-Ir, ^(^^(i). /l\ ^ /n\ / l\ fe, / n M ^ 1^+'2"^л2^' •••• t»-' ^-zy+'s^—iyj' ^(A'V/zO^+t-, <о(у)+^-, o, v^)=f(x, у, Ui/A), 3