Роуч П. Вычислительная гидродинамика (1185913), страница 111
Текст из файла (страница 111)
7.3.1. Числовые данные 28. Выводите на печать некоторые результаты на каждой итерации и все результаты на некоторьгх итерациях. Это особенно важно па ранних стадиях разработки опытной программы. Можно выводить на печать на каждом шаге по времени значение вихря или плотности в какой-либо точке (желательно лежащей в самой чувствительной области, скажем в окрестности внешней угловой точки). Для экономии бумаги можно запомнить эти значения за 10 — 15 итераций и затем распечатать в строчку. В Фортране предпочтителен формат Е.
На каждой сотой (или что-нибудь около этого) итерации разумно распечатывать все поле течения. Расположение величин в таблице по формату Е дает наиболее полную информацию, однако оно не слишком наглядно, Для областей не слишком большо~о размера эффективным приемом является переход к формату 1 и распеча1ка двух илн трех значащих цифр со знаком в каждой узловой точке поля течения. На рис. 7.1 дана распечатка значений функции тока, умноженной на 100, при ра. счете обтекания обратного уступа.
Основное течение направлено вдоль распечатки сверху вниз. Прп помощи этой таблицы можно от руки приближенно нарисовать картину линий тока. Надлежащее округление выполнялось при помощи построения переменной целого типа ЕВ(3), вычисляемой через функцию тока 5(1, 3) следующим образом: РОЗ!= 1, 1МАХ РО ! 3 = 1, ЗМАХ 1 Е5(3) = 100."5(1, 3) + 51О5((0.5, 5(1, 3) ) РК1КТ 21 5 (3), 3 = 1, 3МАХ 2 ГОРМАТ (27(!Х14)) 3 СОХТ1НПЕ Здесь 81О)ч( (0.5, 5(1, 3)) — библиотечная подпрограмма (илп ЕР~СТ1ОХ пользователя), образующая величнну с абсолютным значением первого аргумента н со знаком второго аргу. пента. 91 112 132 152 172 69 110 131 15! 172 ь вв !09 !30 1$1 17г ь Вь 107 !г9 !96 !72 2В 4 107 126 1$0 !72 Ь5 2В 15 2 09166 126 156 172 Ь 2 05166 120 1$0 172 65106 127 !50 172 66 ВЬ !06 126 150 !72 22 5 Ь ЬЬ 10$ 120 150 172 20 36 Ь7 107 126 150 !72 00 !07 120 1$6 172 гь 36 01 16В 12Ь 150 172 26 50 5$7 2 11 В9 106 120 156 172 2 90 169 129 150 172 57 3 90 109 129 1$0 172 9! 110 129 150 172 $9г 1!В !36 !$6 !тг 35 Ьт ЬО 7 $92 110 130 150 172 36 Ь1 7Ь 93 111 136 150 172 Рис.
7.1. Распечатка значений е узлах сетка р р п и асчете обтекания обратного усту р па п и 11е= . ечатаю = 1О. П шим устройством нанесены умнгмкенаые на тока. Линни тока и контур стенки н 'ерн округленные значения функпии то чены от руки. 7.3. Обработка информации 492 Лучше выводить на печать все поле течения, чем его отдельные наиболее интересные области. В частном случае расчета отрывного течения над тт'-образной выемкой ') картина образования вихря внутри выемки, представленная на рис. 7.2, а, ка.
залась по крайней мере правдоподобной. Однако когда было распечатано все поле течения (рнс. 7.2, б), зто правдоподобие Рис. 7.2. Картина линий тока при ошибочном расчете течения над т7-образной выемкой. Крестиками показана разделяющая линия тока. а — фрагмент поля течения, б — все ноле течеаия. исчезло. В дальнейшем здесь была обнару>кена и исправлена ошибка в условиях на выходной границе. Можно также посоветовать выводить на печать все поле течения па двух последовательных шагах по времени, скажем на сотой и сто первой итерациях; иначе можно не обнаружить неустойчивости, связанной с расщеплением решения во времени (см. равд. 3.1.6).
Когда новая схема разрабатывается или изучается на одномерном модельном уравнении, то можно посоветовать печатать всю информацию на каждом шаге по времени и в особенности на нескольких первых начальных шагах. Для многошаговых схем можно даже посоветовать выводить на печать результаты на промежуточных шагах, Эта дополнитель- ') Эта впечатляющая иллюстраиня оказалась в нашем распоряжении благодаря любезности проф.
Мюллера из университета Нотр-Дам (см. Мюллер и О'Лири [1970)]. 4йз ГЗ2. Григтики и кинафиль,иь~ картин течений ная информация обычно окупает добавочную нагрузку на устройство вывода ЭВМ. Конечно, по мере возрастания уверенности в схеме и программе объек1 информации, выводимой на печать и используемой для контроля, может сокращаться. 7,3.2. Графики и нинофильмы картин течений 29, Широко используйте ечашинну~о графику при выводе инфор. мании. Построение графиков на ЭВМ является широко распространенным способом вывода информации, Графики могут быть двумерными, трехмернымп и контурными (нзолиниями). Их построение может осуществляться печатающими устройствами или липейнымп графопостроителями (чернильные самописцы нли электронно-лучевые трубки).
Для отладки программы и для представления результатов более удобны графики, построенные при помощи печатающего устройства. Правда, их разрешающая способность ограничена размером шагов печатающего устройства по горизонтали и по вертикали, зато они обычно строятся гораздо быстрее, поскольку это происходит одновременно с получением численных результатов и не требует дополни. тельных обращений к лентам.
Линейные графопостроители дают ббльшую разрешающую способность и представляют большие возможности для нанесения на графики символов н заголовков. Двумерные графики можно строить, например, для изображения профилей скачка при расчете одномерного распространения ударной волны, представляя, скажем, зависимость плотности от координаты в некоторый момент времени.
Примеры таких графиков были приведены на рис. 5.1. Двумерными графиками можно проиллюстрировать и итерационную сходимость, строя зависимость некоторого функционала типа г' .~~~,т~ от и. Понг добные примеры были приведены на рис. 3.32. В настоящее время в большинстве вычислительных центров имеются сервисные пакеты для построения двумерных графиков как на печатающих устройствах, так и на линейных графопостроителях. Подобную программу для печатающего устройства составить нетрудно. Пусть нужно построить зависимость плотности Я от координаты Х = !'РХ в задаче об одномерном распространении ударной волны. Положим, что на бумажной ленте печатающего устройства Х растет сверху вниз, а плотность )1 возрастает слева направо. Тогда целое число позиций )к), определяющее высоту графика, может быть найдено следующим образом: )н) = 3 С*К (1) 494 7 Д Обработка анфорлацаа где БС вЂ” масштабный коэффициент, ставящий в соответствие интервал изменения К по числу горизонтальных позипий печатающего устройства.
Если плотность приведена к безразмерному виду таким образом, что ее максимальное значение равно единице, то можно положить ЯС =100. (Большинство печатающих устройств имеет более ста позиций, однако удобно выбрать сто. 1(роме того, всплеск за скачком может привести к тому, что будет й ) 1, и потребуется более ста позиций.) Для печатн на строке ту — 1 пробелов и символов )(, О, + илн какого-либо другого символа, отмечающего значение функции, может быть сформирована холлеритовская буквенно-цифровая константа.
Затем увеличивается индекс 1, вычисляется новое значение Ф и печатается следующая строка. Трехмерные графики и картины изолиний по существу носят более качественный характер, чем двумерные графики. Примеры действия таких служебных программ, дающих возможность графически изобразить информацию в трех измерениях, приведены на рис. 7.3.
Много превосходных примеров можно найти у Харлоу и Лмсдена [1971], а также у Томана и 1Иевчика [1966]. Нетрудно составить программу построения изолиний на печатающем устройстве. Массив Ч (3) холлеритовского типа заполняется пробелами. Для некоторого значения 1 (возрастающего вдоль бумажного листа сверху вниз) безразмерная функция, график которой необходимо построить, скажем й(1,1), просматривается по 1 и в массив Ъ'(1) заносятся различные буквенно-цифровые символы в зависимости от величины )к(1,1). Можно, например, заносить последовательность символов (Л, В, С, Р, Е), а можно просто заносить звездочки в те места массива Ч(1), которые соответствуют значениям Й, лежащим в интервалах (О., 0.1), (0,2, 0.3), (0.4, 0.6), (0.6, 0.7), (0.8, 0.9), и оставлять пробелы в местах, соответствующих значениям /к, лежащим в интервалах (0.1, 0.2), (0.3, 0.4), (0.6, 0.6), (0.7, 0.8), (0,9, !.0).
После этого массив Ч(1) выводится на печать, затем снова заполняется пробелами и просматривается при следующем значении индекса 1+ 1. Этот прием применяли Томан и Шевчик [1966]. Примеры пз их работы приведены на рис. 7.4. Если отношение размеров шагов сетки Лх/Лу не равно отношению размеров шагов печатающего устройства по вертикали и по горизонтали, которое обычно составляет ('/, дюйма): :('/м дюйма) = '/а, то для получения неискаженной картины изолиний необходимо провести предварительную интерполяцию либо в направлении 1, либо в направлении 1.
Логика построения изолиний на линейном графопостроителе интересна сама по себе. Если функция, изолинии которой необходимо построить, монотонна по х и у, то эта логика очень проста. Она, однако, усложняется при наличии многосвязных обла- 3.0 зло о.о о.о о.о Ф б з.о Рис. 7.3. Трехмерный график и изолииии функции ) (х, у) =! + о(2+ + з(п (пхз(3) з(п (пу), построенные на линейном графопостроителе. (Из работы Санйберга (1970].) а — трехмерный графин ) (х, у), б — изолнннн функции ) (х, у). 7.3. Обработка анфор.чацан Рис. 77й Построенные на печатакнцсм устройстве линии тока н линии отмеченных частиц при циркуляционном обтекании кругового цилиндра с отногиеннем скоростей 1'таит!Ос — 2; йе = 200, безразмерное время 2!.139.
(Из работы Тозтана и Шевчика [!9666) а — линни тока, азр = 0,000!96; б — линии отмеченных частиц. отей, седловых точек и зкстрел!умов по одному нз направленый, вызывающих разветвление изолиний. Соображения, приведенные ниже, принадлежат Сандбергу [!9701, При построении некоторой изолинин в поисках требуемого значения просматривается вся расчетная сетка, причем рассматривается каждая ячейка, образованная четырьмя соседнимн узлами сетки. Рассмотрпз! изображенную ва рис, 7.5,а ячейку, 78.7 Графики и кинофильмьг картин течений 497 образованную узловыми точками (У, У), (У + 1, У), (У, У + 1), (У+ 1, У+ 1), и обозначим ее стороны через и, Ь, с, с(.
Пусть необходимо построить изолинию 5 = О. Если крайние значения 5 на отрезке а (т.е. значения 5(У,У) и 5(У + 1,У)) имеют разные знаки, то 5 обращается в нуль где-то внутри отрезка в точке, которую можно найти линейной интерполяцией. Лналогично просматриваются отрезки Ь, с, с(.