Anderson-et-al-2 (1185924), страница 51
Текст из файла (страница 51)
Считайте поверхность гладкой и всегда пересекающей левую и правую границы физической области. !0.7. Проверьте преобразование, задаваемое уравнениями (1О.!4), и фуикции (ь 10.8. Метод Томпсона построения расчетных сетон основан па использовании уравнений (10.15). Получите уравнения (10.16), представляющие собой запись уравнений (10.!5), в которой за независимые переменные приняты координаты 5, П в вычислительной плоскости. 10.9. Покажите, что отображение, задаваемое уравнениями (Г'$ = О, Ч'ц = 1/ц, переводит окружности, расцоложеииые в физической плоскости па одинаковом расстоянии друг от друга, на равномерную прямоугольную сетку в вычислительной плоскости. 10.10.
Покажите, что решение уравнений Коши — Римана является решением уравнения Лапласа, по обратное утверждение справедливо ие всегда. 10.11. Решите задачу 10.3, используя для получения отображения метод Миддлкоффа и Томаса (уравиепия (10.19) и (!0.20)) с целью более эффективного определения Р и Я. Обсудите полученные результаты и укажите яа трудности, имеющиеся прп выборе ф и ф 10Л2. На интервале 0 < л(! существует стационарное аналитическое решение одномерного уравнения Бюргерса [уравиепие (10.53)). Решите зто уравнение численно на адаптивной сетке методом, который предложил Луайер.
Используйте любой разумный критерий определения шага сетки в физической области и схему второго порядка. 10.13. Решите задачу !0.12, используя метод, предложенный Андерсоном и Раем. При построении сетка воспользуйтесь информацией о величине градиента некоторой переменной. Повторите решение, используя информацию о величине третьей производной. 10.14.
Получите выражения для скорости движения узлов сетки уравнения (!0.54). 10.!5. Продемонстрируйте корректность требований, задаваемых уравнениями (!0.6!) — (10.63). 10.16. Выполните дифференцирование в уравнениях (10.38) и получите выражения для коэффициентов в уравнении (!0.39). 10Д7. Выведите уравнения Эйлера, когда для построения расчетной сетки используется вариациопный метод, минимизируя меру ортогопальпости, задаваемую уравнением (10.34).
Приложение А Подпрограмма решения системы уравнений с трехдиагональной матрицей Подпрограмма 8 1' предназначена для решения системы уравнений с трехдиагональной матрицей методом прогонки, который описан в гл. 4. Для использования этой подпрограммы система уравнений должна быть записана в следующей форме: Рм Аа Вг Рт Ат Са с, Ъ (А,1) Вю Рте Обращение к подпрограмме 8У имеет вид САУЛ. ЬЧ(11., Ш, В, О, А, С). В, О, А и С вЂ” идентификаторы одномерных массивов веществен- ных переменных В(1), 0(1), А(1), СЯ; 11. и 10 — целые пере- менные без индексов. Элементы массивов с индексами от П.
до Ш определяются следующим образом:  — коэффициент, расположенный под главной диагональю (слева от нее), 0 — коэффициент, расположенный на главной диагонали, А — коэффициент, расположенный над главной диагональю (справа от нее), С вЂ” составляющая вектора констант. Уравнения системы расположены в соответствии со значе- ниями индекса. Переменная 11.
— индекс первого уравнения системы, а переменная 111 — индекс последнего уравнения системы. Общее число уравнений системы равно 1(1 — 11. + 1. Вектор б, являющийся решением системы уравнений, записы- вается программой на месю массива С. Следовательно, постоян- ный вектор С после работы подпрограммы не сохраняется. Мас- сив Р при работе подпрограммы также изменяется. Массивы А и В остаются неизменными, Приложение В Подпрограмма решения системы уравнений с блочной трехдиагональной матрицей Здесь описаны подпрограммы решения системы уравнений с блочной трехдиагональной матрицей, разработанные Чакраварти (Зпкшпаг К. СЬакгачаг1пу) в исследовательском центре компании «Рокуэлл Интернейшнл».
Подпрограмма 1чВТК1Р предназначена для решения системы уравнений с блочной трех- диагональной матрицей вида Вм См Аг Вг Сг х, 1вл) З Аю вг Подпрограмма РВТК1Р предназначена для решения системы уравнений с периодической блочной трехдиагональной матри- цей вида Ам хм пм "$ (а2) При каждом 1 блоки А, В и С являются матрицами размера МХУ, где У вЂ” любое целое число, большее 1. Отметим, что при М = 1 для решения системы уравнений можно воспользоваться алгоритмом прогонки, приведенным в приложении А. Вектор О Приложение В в правой части уравнения при каждом 1 имеет длину У.
Суммарное число точек, для которых матрица определена (обозначим это число точек через У1), равно (В.З) Матрицы А, В и С имеют размерности: А(У, У, У1), В(У, У, У1), С(У, У, У1), а вектор 0 — размерность 0(У, У1). Обращение к подпрограмме ИВТК1Р имеет вид СА1.1. ХВТК1Р(А, В, С, О, 11., Ш, ОР0ЕК). Соответствующие аргументы определяются следующим обра- зом: А — блочная матрица, расположенная под главной диагональю,  — блочная матрица, расположенная на главной диагонали, С вЂ” блочная матрица, расположенная над главной диагональю, 0 — вектор правых частей, 1Š— минимальное значение 1, для которого матрица определена, Ш вЂ” максимальное значение 1, для которого матрица определена, ОЖЕТ вЂ” У(ОК0ЕК должно быть целым числом, большим 1). Вектор Х решения системы уравнений записывается подпрограммой на место вектора О.
Обращение к подпрограмме РВТК)Р имеет вид СА1.). РВТК1Р(А, В, С, О, 11, 1(1, ОЯОЕРг). Все аргументы имеют тот же смысл, что и в подпрограмме МВТК1Р. Однако если ОРОЕ)1 больше 5, то в подпрограмме необходимо изменить размерности массивов А0 и С0 (размерность этих массивов должна быть не меньше, чем ОК0ЕК»«2, что указано в комментариях к тексту подпрограммы), Приложение В В подпрограммах ИВТ)ч!Р и РВТй!Р выделение главного элемента при решении систем уравнений методом исключения не производится.
Отметим, что для каждого значения 1)( можно создать специальную подпрограмму решения системы уравнений с блочной трехдиагональной матрицей, которая будет работать быстрее, чем общая подпрограмма, приведенная ниже' ). Текст подпрограммы й(ВТй1 Р с .. С...ВОВКООТ1НЕ ТО БОЬЧЕ НОН-ГЕК10Р1С ВЬОСЕ ТК1Р1АООНАЬ с...БТБтен Ог еООАт10КБ 51тнООт Р1чОт!но БткАтеот С...Ч1ТН ТНЕ Р1НЕН510НЯ ОГ ТНЕ ВЬОСК НАТК1СЕБ ВЕТНО С...Н х Н 1О 15 АКТ НОМВЕК ОКЕАТЕВ ТНАН 1). с...
ЯОВКООТ1НЕ НВТК1Р1А,В,С,О,1Ь,1О,ОКОЕК) с... Р1МЕМ5105 А11),ВГ!),С(1),Р(1) 1НТЕОБК ОКОЕК,ОКО50 С... С...А = БОВ РИООНАЬ НАТЕ!Х С...В = 01АООНАЬ НАТК1Х С...С = 5ОР О1АСОНАЬ МАТК1Х С...Р = В!СНТ НАНР 51РЕ ЧЕСТОК '> В подпрограммах ХВТм!Р и РВТИР используются при работе другие подпрограммы, текст которых также приведен в приложении. Укажем на нх основные функции, приведенные в комментариях к программе, Подпрограмма 1()()ЕСО представляет матрицу А в виде произведения верхней (()) н нижней (Е) треугольных матриц. Результат записывается на место матрицы А. Главный элемент прн этом не выделяется.
Подпрограмма М()1Р()Т(А,В,С,ОРОЕ)() производит умножение вектора В на матрицу А и вычитает полученное произведение нз другого вектора С. Результат расчета запоминается в С, поэтому массив С при работе программы изменяется. Подпрограмма 1(ГОО1Ч(А,В,С,ОКОЕМ) решает систему алгебраических уравнений АчС = В и записывает решение в С. Матрица А должна быть заранее представлена в виде прокзведения верхней (О) и нижней (Е) треугольных матриц.
— Поим. перев. Приложение В Текст подпрограммы РВТЮР с... С...ЗОВВООТ1ИЕ ТО БОЬЧЕ РЕК10П1С ВЫСХ ТК101АООИАЬ С...ЗУБТЕН ОГ ЗОВАТ?ОИЗ И1ТНООТ Р1ЧСТ1ИО БТКАТЕОУ. С...ЕАСН ВЫСК ИАТК1Х МАУ ВЕ ОГ О1ИЕИ310И И К1ТК С...И АИУ ИОИВЕК СКЕАТЕК ТНАИ 1. С... БОЗЯООТ?ИЕ РВТВ?Р(А,В.С,О,1Ь,1О,ОЮЕВ) О!НЕИЗ?ОИ А(1),В(1),С(1),О(1) ВП?ЕИЗ?ОИ АО(25),СП(25) ?ИТЕ6ЕЯ ОКПЕК,ОЮЗО С... С...А = ЗОВ П1АООИАЬ ИАТЯ1Х С...В = П?АООИАЬ НАТЕ?Х С...С = ЗОР 01АООИАЬ НАТЯ1Х с...р = к!рнт нАИО зык честок С...1Ь = ЫИКК ЧАШЕ ОР 1ИОЕХ ГОК Чи!СН НАТК1СЕЗ АКЕ ВЕГ?ИЕВ С...10 = ОРР К ЧАШЕ ОГ 1ИОЕХ ГОК Ии!Си ИАТЯ1СЕЗ АВЕ ОЕ?1ИЕВ С...
(ЗОЬОТ!ОИ 18 БОООНТ РОК ЗТЯ1(А,В,С)*Х = В С... ГОК 1ИО1СЕЗ ОР Х ВЕТЧЕЕЕИ 1Ь АИО 1О (1НСШБ1ЧЕ]. С... БОЬОТ!ОИ Ик?ТГЕИ 1И О ЧЕСТОК (ОК101ИАЬ СОИТЕИТЗ С, АКБ ОЧЕЯИК?т?ЕИ)) ° с...окоея = окпек ои А,в,с НАУК!Сез Аио ькиотн ог о чксток С... АТ ЕАСН Р01ИГ ОЕИОТЕО ВУ 1ИОЕХ 1 С... (ОВВЕК САИ ВЕ АИУ ?М?БОЕК ОЯЕАТЕК ТИАИ 1) С... (АКВА?3 АО АИО СО ИОЗТ ВЕ АТ ЬЕАБТ ОГ ЬЕИОТН ОЮЕК" 2) С... (СОККЕИТ ЬБИОТН ОР 25 АИТ?С?РАТЕЗ ИАХ?МОИ ОВОЕВ ОГ 5). С... 13 = 1Ь+1 1Е = 1О-1 ОЯПЗЦ = ОЮ)ЕКии2 1ОИАТ 1+(10-1)АОКОЗО 1ОЧЕС = 1+(10"1)АОЮЕК 1ЕИАТ = 1+(?Е-1)АОВОЗО 1ЕЧЕС = 1+(1Е 1)АОВОЕЯ С... С...ГОКИАКО ЕЫН1ИАТ10И С...
1 1Ь 10ИАТ 1+(1-1)еОЮЗО ?ОЧЕС ж - И*ОЮЕК САЬЬ ЬООЕСО(В(10МАТ),ОЮЕВ) САЬЬ ЬОБОЬЧ(В(10ИАТ),О(10ЧЕС),О(?ОЧЕС).ОЮЕК) 00 10 Л=?,ОБВЕЯ ?ОНАТ? и 10НАТ+(Л-1)АОЮЕК САЬЬ ЬОБОЬЧ(В(?ОНАТ),с(?ОНАТ?),С(?ОНАТ?),ОЮЕК) САЬЬ ШЗОЬЧ(В(?ОНАТ),А(?ОНАТ?),А(?ОНАТ?),ОЮЕК) 10 СОИТПЮЕ ОО 200 1 18,18 ?ОНАТ 1+(1 1)*ОЮБО 10ЧЕС 1+(1" 1) "ОНОЕК 11ИАТ 10НАТ" ОКПЗО 11ЧЕС 10ЧБС-ОЮЕК ВО 20 Л=?,ОЮВО Приложение С Модифицированный сильно неявный метод В этом приложении описан модифицированный сильно неявный метод (М81) решения эллиптических уравнений в частных производных [Зсппе)пег, Еедап, 198Ц.
Основная идея метода приведена в гл. 4, а в этом приложении более подробно описаны его основные особенности. Шнейдер и Зедан (ЗсЬпеЫег, 2ебап, 198Ц предложили этот метод для решения системы алгебраических уравнений, полученных при дискретизации эллиптического уравнения в частных производных (й, У) + ~ (Ф„У) = Ч (х, у).