4. Графическое представление результатов двумерных расчетов. Построение функции двух переменных.

В соответствие, с определением, которое приводится в главе 1, функция двух переменных  образует поверхность в пространстве . Функция двух переменных задается либо аналитически (в виде функциональной зависимости), либо  в виде таблицы значений в узлах сетки.

Свойства скалярных полей, как говорилось ранее, изучаются при помощи поверхностей или линий равного уровня. Таким образом, визуализация результатов вычислительных экспериментов, в данном случае, сводится к построению в расчетной области изолиний скалярного поля. В том случае если, рассматриваются векторные поля (скорость течения, импульс силы и т.д.), то, в соответствии с основным положением изложенным в главе 1,  необходимо строить линии тока.

4.1 Файловая структура полей - двумерный массив значений соответствующих параметров в узлах сетки.

Достаточно очевидным обстоятельством является то, что в рассматриваемом случае визуализации результатов вычислительных экспериментов исходные файлы данных представляются в виде значений функции в узлах сетки. Однако имеются некоторые особенности в  структурной организации файла данных в зависимости от используемых для этой цели интерактивных графических приложений.

Для  графического приложения GNUPLOT структура файла данных, используемого при визуализации результатов двумерных расчетов, определяется следующей основной командой:

  sPLOT '<file_name>' {binary | matrix}.

Пусть обрабатывается файл, содержащий четырехбайтовые двоичные числа с плавающей точкой, следующего вида:

      <N+1>  <y0>    <y1>     <y2>   ...    <yN>

       <X0>  <z0,0>  <z0,1>  <z0,2> ...  < z0, N >

       <X1>  <z1,0>  <z1,1>  <z1,2> ...  < z1, N >

         :

       <Xm> <zm,0> <zm,1> <zm,2> ... < zm, N >,

тогда после имени файла, заключенного в кавычки, указывается аргумент {binary}. В результате исходный файл преобразуется в файл, формат которого аналогичен, к слову сказать, формату  point  в графическом приложении TECPLOT:

      <X0> <y0> <z0,0>

      <X0> <y1> <z0,1>

       :

      <X0> <yN> <z0,N>

        :

      <Xm> <y0> <zm,0>

      <Xm> <y1> <zm,1>

        :

      <Xm> <yN> <zm,N>

 

Эти блоки, состоящие из трех колонок, в последующем, используются как исходные данные при построении изолиний в среде графического приложения  GNUPLOT.

В том случае, если исходные данные  подготовлены в формате ASCII  и сохранены в виде матрицы значений функции: 

      z11  z12  z13  z14 ...z1N

      z21  z22  z23  z24 ...z2N

      z31  z32  z33  z34 ...z3N

      :

       zm1 zm2 zm3 zm4:zmN,

то задается значение аргумента - {matrix}.

Проблемно-ориентированный графический пакет TECPLOT позволяет создавать (обратите внимание!) более сложные интерпретации исходных данных, сохраняя при этом матричную структуру последних. Ниже обсуждаются некоторые специфические особенности формирования исходных файлов, характерные для рассматриваемого  графического пакета.

Как указывалось ранее (п.3.4) формат, в котором представляются файлы данных, является или стандартным текстовым форматом ASCII (стандартное расширение .dat), или двоичным (стандартное расширение .plt). Графическое приложение TECPLOT автоматически конвертирует исходные файлы в двоичный формат. Двоичные файлы позволяют экономить дисковое пространство и время при чтении. Вместе с тем, в TECPLOT'е  реализуется и обратная операция по преобразованию двоичных файлов в текстовый формат.

В целях эффективной реализации возможностей предоставляемых пользователю, работающему в среде приложения TECPLOT, в  дальнейшем достаточно  подробно описывается  структура текстового файла данных.

Файлы данных обычно организуются в виде одной (по умолчанию) или нескольких так называемых  зон, каждая из которых может представлять либо часть физического объекта (например, обтекаемую поверхность), либо временной срез физического процесса. Данные в каждой зоне являются либо упорядоченными, т.е. массивом координат и параметров поля в сеточных узлах, либо так называемыми конечно-элементными данными, которые представляются набором  данных в узлах  вместе с перечнем, показывающим, как эти узлы соединены в элементы.

Текстовый файл данных формируется из заголовка файла, в котором записываются - титул данных и имена переменных, одной или более зонных записей, содержащих данные (упорядоченные или конечно-элементные), а также текстовых и геометрических записей, которые могут относиться как ко всем, так и к  некоторым зонам.

В заголовке текстового файла -{TITLE=} может содержаться необязательная запись TITLE="Заголовок". Здесь же может присваиваться имя каждой переменной, посредством включения следующей линии: VARIABLES = "Переменная1", "Переменная2",¼. В том случае если переменные не определяются явным образом и формат первой зоны POINT  или FEPOINT, то автоматически устанавливается число переменных равное количеству числовых значений в первой строке первой зоны и  переменным присваиваются имена V1, V2  и т.д. Обычно (в режиме 2D) первые две переменные в файле данных интерпретируются как,  и - координаты, а следующая  как - координата в трехмерных графиках. Однако впоследствии можно переопределить выбранные переменные.

Зонные записи начинаются управляющей линией со словом ZONE, за которой следуют числовые данные, называемые зонными данными. В этой команде могут присутствовать следующие параметры (почти все они не являются обязательными).

В параметре T="Заголовок Зоны" может содержаться любой текст, который обрезается до 32 символов и появляется затем в различных диалоговых панелях TECPLOT'а и иногда в легенде графика. Использование зонной записи оказывается особенно полезным при обработке результатов расчетов для последовательных моментов времени. В виду того, что при этом  можно весьма просто отыскать интересующую пользователя запись непосредственно в процессе анализа полученного решения.

 Параметром  F= , который  может принимать значения  POINT или BLOCK для упорядоченных данных и FEPOINT или FEBLOCK для конечно-элементных, определяется формат записи. По умолчанию, параметру F присваивается значение F=POINT. В форматах POINT и FEPOINT сначала перечисляются значения всех переменных для первой точки, затем - для второй и т.д. В форматах BLOCK и FEBLOCK в первом блоке содержатся все значения первой переменной, во втором - второй и т.д. Эта запись вообще может, не приводится для одной зоны, содержащей значения функций одной переменной. При загрузке все зоны автоматически нумеруются, начиная с первой.

Для упорядоченных зон параметрами I=, J= и K= определяется количество точек по соответствующим переменным. По умолчанию значения параметров J= и K= равняются единице. Параметр I= необходимо определяется, если используется параметр J=.  В свою очередь параметр J=  задается, если используется параметр  K=. Если все параметры не определяются явно, то зона I - считается упорядоченной и там автоматически подсчитывается число точек и считываются соответствующие значения из массива данных.

Ниже приводятся  примеры упорядоченных данных.

"I - упорядоченные данные"  это - данные, упорядоченные по одному индексу, который изменяется от 1 до imax. Ниже приводится простой пример данных в формате POINT:

TITLE = "ПРИМЕР"

VARIABLES = "Distance", "Temperature"

ZONE T="Only Zone", I=4, F=POINT

0.0       850.9

0.083     549.4

0.25      635.9

0.6423    333.5

Тот же самый пример в формате BLOCK:

TITLE = "ПРИМЕР"

VARIABLES = "Distance", "Temperature"

ZONE T="Only Zone", I=4, F=BLOCK

0.0   0.083    0.25      0.6423  

850.9    549.4      635.9    333.5 

 

IJ-упорядоченные данные используются для 2D и 3D-поверхностных графиков. При формировании таких данных индекс I должен изменяться первым (но это требование не является принципиальным), т.е. в программе цикл записи данных по этому индексу должен быть внутренним. Пример данных в формате POINT:

TITLE = "ПРИМЕР: 2D"

VARIABLES = "X", "Y", "Press", "Temp", "Vel"

ZONE I=3, J=2, F=POINT

3.0 2.0 86.0 36.0 0.85

4.0 2.0 80.0 35.0 0.85

5.0 2.0 78.0 32.0 0.80

3.0 3.5 83.0 35.7 0.80

4.0 3.5 80.0 35.0 0.85

5.0 3.5 77.0 31.5 0.78

Тот же самый пример в формате BLOCK:

TITLE = "ПРИМЕР: 2D"

VARIABLES = "X", "Y", "Press", "Temp", "Vel"

ZONE I=3, J=2, F=BLOCK

3.0 4.0 5.0 3.0 4.0 5.0

2.0 2.0 2.0 3.5 3.5 3.5

86.0 80.0 78.0 83.0 80.0 77.0

36.0 35.0 32.0 35.7 35.0 31.5

0.85 0.85 0.80 0.80 0.85 0.78

 

Параметр DT=(ФорматПеременной1, ФорматПеременной2,¼) предназначается для того, чтобы указать формат каждой переменной. В обсуждаемом графическом приложении  поддерживаются следующие форматы -  SINGLE, DOUBLE, LONGINT, SHORTINT, BYTE, BIT смысл которых вполне очевиден. Для хранения каждой переменной отводится соответствующее количество памяти. Численные данные должны быть отделены друг от друга, по крайней мере, одним пробелом. Они могут иметь формат целый (1234), с плавающей точкой (123.4) или экспоненциальный (1.2E+34). Возможно, использовать повторители следующего вида - Повторитель*Число, например, 37*12.3.4.

Параметр C={BLACK | RED | GREEN | BLUE | CYAN | YELLOW | PURPLE | WHITE | CUST1,¼,CUST8} устанавливает первоначальный цвет для зоны.

Параметр D= содержит номера переменных, которые дублируются из предыдущей зоны, которая естественно должна иметь те же размерности. Таким образом, можно записывать только изменяющиеся данные, а неизменные просто дублировать. Например, записав D=(1,2,4) получим, что первая из переменных, для которой в зоне записаны данные, получит имя V3, а вторая - V5.

Максимальная длина строки - до 4000 символов, за исключением текста, заключенного в кавычки. Двойные кавычки используются для ограничения символьных строк, содержащих пробелы и другие спецсимволы. Символ \ используется для отмены значения следующего за ним символа (например \" дает просто "). Символ # в начале строки служит признаком комментария.

Для чтения данных используется пункт меню File/Load DataFile(s)¼. При записи данных (по команде File/Write DataFile¼) можно так же выбрать, какую часть информации и в каком виде (текстовом или двоичном) следует сохранить. Для этого достаточно включить (или выключить) на открывшейся диалоговой панели переключатель ASCII.

 

4.2 Основные системы координат, используемые в расчетах и формулы преобразований в декартову систему.

Как указывалось ранее, вычислительный эксперимент является композицией из нескольких самостоятельных элементов. Поэтому рассматривать проблему визуализации в отрыве от условий, которые соблюдаются при проведении численного моделирования, практически невозможно. Одним из основных способов, позволяющих минимизировать трудности, возникающие при интерпретации результатов, является разумный выбор подходящей системы координат на стадии постановки задачи. Далее в этом разделе дается краткое описание основных координатных систем, используемых в вычислительных экспериментах, и приводятся формулы связи с декартовой системой.

4.2.1 Полярная система координат

Координатами любой точки  в полярной системе координат являются радиус-вектор   (расстояние от точки  до полюса  системы координат) и полярный угол , который отсчитывается  от  полярной оси  в направлении вектора . Угол  считается положительным, если отсчитывается от полярной оси в направлении против часовой стрелки; в противоположном случае угол  рассматривается как отрицательный. Если полюс полярной системы совпадает с началом декартовой системы и полярная ось совпадает с положительной частью оси абсцисс, то между декартовыми координатами  точки  и полярными координатами  той же точки существуют формулы связи следующего вида:

При визуализации векторных полей необходимо учитывать, то обстоятельство что, по умолчанию экранная система координат является декартовой системой. Следовательно, если в той или иной графической интерактивной программе предусматривается построение линий тока, то прежде чем совершать такое построение необходимо преобразовать векторное поле в декартову (ортогональную) систему координат. В данном случае формулы преобразования записываются следующим образом:

 

где - компоненты вектора в декартовой системе координат, а - компоненты  соответствующего вектора в полярной координатной системе.

И, наконец, полярную систему координат удобно применять, в том случае если скалярные и векторные поля являются центрально-симметричными.

4.2.2 Цилиндрическая система координат

Координатами любой точки  в цилиндрической системе координат являются радиус-вектор   - расстояние от начала системы координат до точки  - проекции точки  на плоскость , проходящую через точку    начала системы координат перпендикулярно оси ,  угол  , который отсчитывается  от оси  в направлении вектора  (угол , как и в полярной системе координат, считается положительным, если отсчитывается от оси в направлении против часовой стрелки) а также расстояние , которое соответствует длине перпендикуляра, проведенного из точки  до пересечения с плоскостью .

 Если начало цилиндрической системы координат совпадает с началом декартовой системы и ось  совпадает с соответствующей осью декартовой системы, то между декартовыми координатами  точки  и цилиндрическими координатами  той же точки существуют формулы связи следующего вида:

Очевидно, что цилиндрическую систему координат удобно применять, в том случае если рассматриваются задачи, в которых скалярные и векторные поля являются осесимметричными. Тогда в рассмотрение вводится сечение поля плоскостью проходящей через ось . С этим сечением связывается вспомогательная ортогональная система координат , которая получается из исходной в результате следующих преобразований:

4.2.3 Сферическая система координат

В некоторых задачах целесообразно использовать сферические координаты , которые связываются с декартовыми координатами формулами:

.

Формулы преобразования в декартову систему координат записываются следующим образом:

 

4.4 Построение изолиний (контуров) в поле скалярных параметров

В графическом интерактивном пакете GNUPLOT построение изолиний поля скалярных параметров производится при помощи следующего базового набора  команд:

SPLOT  {:}

set  contour :; set  cntrparam {:}

set  nosurface

set  view {:},

синтаксис  которых приводится и обсуждается далее по тексту.

 

Основная команда sPLOT предназначается для визуализации в пространстве поверхности , а также, в частности, для изображения линии уровня или изолинии, т.е. проекции на плоскость  линии пересечения поверхности и секущей плоскости.

При обращении к команде  SPLOT   -плоскость изображается (по умолчанию) внизу  под поверхностью графика функции. Расположение ближайшего к  - плоскости  маркера на вертикальной оси   может быть изменено при помощи установочной команды  set ticslevel. По умолчанию это расстояние соответствует 0.5. Ориентация трехмерной проекции графика изменяется при помощи команды  set  view.

Функциональная зависимость задается или в аналитической форме, или в виде файла данных и описывается  способом аналогичным  тому, который применялся при обращении к команде PLOT (см. п.3.2).

Далее подробно обсуждаются только различия между командами sPLOT и PLOT.

Синтаксис:

SPLOT  {<ranges>} <function> | "<datafile>" {datafile-modifiers}}

               {<title-spec>} {with <style>}

               {, {definitions,} <function> ...}

Функция - < function >, или имя файла данных  - "<datafile>", заключенное в кавычки, являются обязательным  параметром. Функция может быть математическим выражением, или комбинацией из трех математических выражений при параметрическом способе задания.

Синтаксис для установки диапазонов <ranges> при обращении к команде sPLOT - тот же самый что и при использовании команды  PLOT. С той только разницей, что в непараметрическом способе порядок, в котором указываются диапазоны - xrange, yrange, и zrange. А при использовании параметрического способа, порядок изменяется следующим образом - urange, vrange, xrange, yrange, и zrange.

Дискретные данные, содержащиеся в файле, отображаются на рисунке, если в командной строке вводятся  последовательно sPLOT  и имя файла,  заключенное в кавычки. При этом  файл данных  определяется следующим образом.

Синтаксис:

SPLOT '<file_name>' {binary | matrix}

                                {index <index list>}

                                {every <every list>}

                                {using <using list>}

Специальное имя обозначается " " и "-" точно так же, как и в команде PLOT .

Аргумент {binary | matrix} указывает на то, что предварительно подготовленные для визуализации исходные данные соответствуют определенной специальной форме, описание которой приводилось выше (см. п.4.1) .

Файл данных по структуре аналогичен исходному файлу в рассмотренном ранее (п.3.2.1) одномерном случае. За исключением того, что каждой точке на графике теперь сопоставляются три значения - . При этом, если задается только одна единственная  запись  в виде матрицы значений то, эти данные (по умолчанию) будут интерпретироваться следующим образом: первые две колонки как значения аргументов функции - , соответственно, а последняя колонка как значение функции - .

 Выбор индекса - {index <index list>}, устанавливает те фрагменты  из набора данных, которые должны быть отображены на графике. Директива  - {every <every list>}, определяет, те строки в пределах  определенного набора данных, которые должны быть конвертированы в графическое представление. И, наконец, аргумент - {using <using list>}, определяет, как должны интерпретироваться колонки в пределах одной определенной записи.

Одиночные пробелы отделяют в исходном файле данных одни наборы значений функции от других.

4.4.1 Определение оптимального нормирования

Визуализация поля скалярной величины производится путем построения изолиний. В целях, наиболее полного изучения особенностей рассматриваемого скалярного поля необходимо некоторым оптимальным образом  определять область, в которой будут изображаться изолинии, количество изолиний на рисунке, шаг между изолиниями и, возможно, другие параметры по усмотрению пользователя.

Одной из основных, в этом смысле, является команда, определяющая положение изолиний.

Синтаксис:

set contour {base | surface | both}

set nocontour

show contour      

Таким образом, если задается один из трех аргументов - {base | surface || both} то, тем самым определяется положение контурных линий на рисунке. Пусть аргумент соответствует типу - {base}, тогда контурные линии представляются в виде соответствующих проекций на -плоскость. При этом  оси координат размечаются автоматически. Предположим, что аргументу присваивается значение - {surface}, тогда контурные линии изображаются на поверхности (графике) функции непосредственно. В последнем случае, если аргумент равняется - {both}, то на рисунке изображаются как линии равных значений, так и соответствующие проекции. По умолчанию аргументу присваивается значение - {base}.

Примеры:

set contour base

splot  'my_matrx.dat'  matrix  t  "surface" w l 9 - результат последовательного ввода указанных команд приводится на рисунке



Смысл команд set nocontour и show contour - очевиден, и в каких-либо комментариях не нуждается.

 

4.4.2 Определение графических характеристик изображения

Графические характеристики отображаемых на рисунке изолиний определяются при помощи команды окружения - set  cntrparam {:}. Текущие установки  команды  {cntrparam} можно отобразить -  вводя команду: show contour.

Синтаксис команды имеет следующий вид:

set cntrparam {{linear | cubicspline | bspline}

                          {points <n>} {order <n> }

                          {levels   auto {<n>} | <n> | discrete <z1> {,<z2>{,<z3>...}}

                             | incremental <start>, <incr> {,<end>}}}

show contour

Эта команда выполняет две функции. Во-первых, устанавливается массив значений функции, для которого производится построение изолиний, во-вторых, определяется способ, построения  последних. Параметры команды, в самом общем виде, коротко обсуждаются далее:

{linear | cubicspline | bspline}- определяется используемая методика аппроксимации или интерполяции. Например, если задается параметр -{linear}, то точки  равного  значения функции соединяются прямыми линиями. В том случае, если выбирается методика {cubicspline}, то осуществляется кусочно-непрерывная интерполяция. Наконец, если параметру присваивается значение {bspline}, то гарантируется - более гладкая аппроксимационная кривая (изолиния), соединяющая точки равных значений.

{points <n>} - параметр задается при использовании методик <cubicspline> или <bspline>. В этом случае, все линии построены при помощи кусочно-непрерывной аппроксимации и номером <n> определяется числом сегментов линии.

{order <n>} - управляющий параметр для  методики <bspline>. Чем больше число <n> - порядок аппроксимации, тем более гладким  становится контур изолинии. Следует иметь в виду, однако, что разрешенный диапазон для <n> - это целые числа в интервале значений от 2 до 10.

{levels...} - параметр, определяющий выбор уровней контуров:

·                {levels   auto {<n>}} -  автоматический выбор (задается по умолчанию). При этом фактическое число уровней будет таким, чтобы в результате получились целые значения величин уровней;

·                {levels   <n>} -  задается число уровней, ограниченное 30,

·                {levels   discrete <z1> {,<z2>{,<z3>...}}} -  задаются дискретные значения уровней,

·                {levels   incremental <start>, <incr> {,<end>}} - задается изменение значения уровня с определенным шагом, возрастающее от меньшей к  большей величине.

Смысл команды - set  nosurface является очевидным.

Пример реализации команд, определяющих графические характеристики изображения:

set nosurface

set cntrparam  bspline

set cntrparam levels incremental 0,0.4,3

show contour

set contour base

splot  'my_matrx.dat'  matrix  t  "surface" w l 9 - приводится на рисунке.



Команда set  view {:} предназначается для определения угла под которым рассматривается построенная  по команде splot поверхность. Поддерживается только ортографическая проекция трехмерного изображения.

Синтаксис команды следующий:

set view <rot_x> {,{<rot_z>}{,{<scale>}{,<scale_z>}}}

show view

Где параметрами <rot_x> и <rot_z> определяются углы вращения (в угловых градусах) в виртуальной 3-ех мерной системе координат. Эта координатная система ориентирована первоначально (то есть прежде, чем вращения выполнены) по отношению к экрану так, что горизонтальная ось - x, совпадает с горизонтальной осью экрана, вертикальная ось - y, совпадает с вертикальной осью экрана, а ось - z, перпендикулярна плоскости экрана.

Вращение <rot_x> ограничено диапазоном [0:180] с поворотом на  60 градусов (по умолчанию). В то время как  диапазон изменения параметра <rot_z> составляет полные 360 градусов с поворотом на 30 градусов (по умолчанию). Параметром <scale>  задается масштабирование всех осей. Параметром <scale_z> определяется только масштаб по оси z. По умолчанию оба масштаба соответствуют 1.0.

Пример:

set nosurface

set cntrparam  bspline

set cntrparam levels discrete 0,0.4,1,1.6,2,2.3,3

show contour

set contour base

set view 0, 0,1

splot  'my_matrx.dat'  matrix  t  "surface" w l 9 - результирующий график приводится на рисунке



 В этом примере в явном виде задаются все необходимые параметры команды set view. Кроме того, изолинии задаются дискретным образом.

В качестве иллюстрации некоторых возможностей графического приложения GNUPLOT приводится картина изолиний скалярного поля, параметры которого были определены в результате обработки данных вычислительного эксперимента.



4.4.4 Пример: визуализация результатов расчета неустановившегося течения среды, при условии осевой симметрии

Представляется целесообразным продемонстрировать, на конкретных расчетных примерах, основные инструментальные возможности другого, на этот раз, проблемно-ориентированного приложения - TECPLOT. При таком подходе не только реализуется общепринятая методология анализа результатов вычислительных экспериментов в гидродинамике, но удается избежать обсуждения большого количества разнородных несвязанных никакими общими идеями демонстрационных материалов.

Таким образом, если строго следовать разумной методике анализа результатов вычислительных экспериментов, то уже на стадии подготовки данных для последующей визуализации, необходимо формировать подходящий (удобный для обработки и обсуждения) исходный файл. В данном случае, речь идет о структурировании "глобального" файла данных путем формирования (формального разбиения, выделения) областей (или, как принято в терминологии TECPLOT'а - зон), в которых течение предположительно обладает особенностями, а также областей, представляющих проекцию поверхностей преград. Смысл данной процедуры заключается в том, чтобы в последствии анализировать результаты в данной конкретной области. В некоторых случаях такой анализ может оказаться более наглядным, чем рассмотрение результатов расчетов во всей области, в виду уменьшения диапазона, в котором изменяются параметры, по сравнению с исходным.

Хотя  с формальной точки зрения в этом нет принципиальной необходимости. Для визуализации достаточно иметь в распоряжении двоичный или текстовый файл в матричной форме.

Таким образом, в некоторых из обсуждаемых в дальнейшем примерах, исходный файл данных предварительно обрабатывался, в целях удобства последующего анализа результатов, так что в расчетной области в рассмотрение вводились несколько характерных зон. При этом геометрия зон задавалась так, чтобы изолинии, изображенные на рисунках прерывались на поверхности преград, образ которых первоначально представляется в виде фрагментов TECPLOT'овских границ (Boundary) соответствующих зон.

В дальнейшем излагаются способы визуализации результатов расчетов. Достаточно подробно описывается последовательность действий, которые совершаются при построении изолиний поля и линий тока. Физическая природа обнаруженных эффектов не обсуждается, так как это не является целью настоящего руководства.

В начале первого сеанса работы, перед тем как загрузить файл данных и преступить к построению изолиний рекомендуется (хотя это и не обязательные операции): очистить рабочую область и отформатировать электронную страницу. Для этого открывается основное меню File, внутри которого выбирается подменю New Layout . Затем после ответа O.K. на запрос в диалоговом окне (заголовок которого - Question?) - рабочая область очищается. Параметры страницы определяются в том же основном меню File , но теперь чтобы открыть диалоговое окно используется подменю Paper Setup: . В диалоговом окне задаются следующие характеристики: размер (Size) - А4, ориентация (Orientation) - в данном случае, альбомная (Landscape), цвет фона при печати (Paper Fill color) - белый (White).

Теперь в отформатированную страницу загружается файл данных. Для этого используется подменю  Load DataFile(s):, которое находится в основном меню File, причем рисунок позиционируется автоматически. Однако у пользователя есть возможности по перемещению последнего в пределах не только координатных осей, но и всей рабочей области.

В обсуждаемой версии TECPLOT'а, реализуется режим, в котором при любой загрузке файла данных, на чистую электронную страницу, по умолчанию отображаются расчетная сетка (Mesh) и границы зон в расчетной области (Boundary). На обсуждаемом рисунке, кроме изначально сформированных в файле данных зон - с первой по седьмую, на диалоговой панели Mesh Attributes описываются параметры, созданной средствами TECPLOT'а подзоны или Младшей зоны (Subzone). Структура этой зоны отличается от исходной зоны меньшим числом узлов. Подобная трансформация расчетной сетки и, как следствие, сеточных функций в некоторых определенных случаях оказывается полезной. Младшие зоны (Subzone) создаются, как говорилось ранее, средствами TECPLOT'а и для этого: открывается пункт основного меню,  Data в котором, последовательно выбираются подпункты Построение Зоны (Create Zone) и Младшая зона (SubZone). В результате открывается диалоговое окно с заголовком - Create SubZone, после чего в этом окне выделяется зона, по параметрам которой создается Младшая Зона с уникальными параметрами.

Нижеследующие основные операции, совершаются при инициировании режима работы пакета TECPLOT построение изолиний (контуров) скалярного поля.

1.   Считывается информация из файла данных.

2.   Выделяется поле с заголовком Contour  на Sidebar'е. После этого на экране появляется диалоговое окно - Contour Variable, в котором пользователю предлагается определить параметр, изолинии которого будут построены, или ответить: Close - тем самым, параметр выберется по умолчанию, а именно  первый в списке.

3.   Отключается поле с заголовком Mesh на Sidebar'е, тем самым подготавливается стирание с экрана изображения расчетной сетки.

На рисунке приводится поле давления, построенное по параметрам, заданным по умолчанию, а именно: число изолиний равняется - 15, интервал между изолиниями задается равным.



Особенности, присущие изучаемому неустановившемуся нелинейному газодинамическому процессу распространения взрывной ударной волны  в круглой трубе постоянного сечения с последующей дифракцией: первоначально на кольцевом отверстии, а затем уже на расположенном непосредственно за отверстием диске, отображаются не полностью. Так, например, на рисунке прослеживается только положение фронта прямой ударной волны, распространяющейся в сторону левого торца трубы. Фронты преломленной на отверстии и отраженной от диска ударных волн не наблюдаются. Фронт определяется, обычным образом, по сгущению изолиний. Поэтому, в целях более полного представления о качественном характере поля давления, параметрам, которыми определяется образ волновой картины течения, присваиваются другие значения.

Для этого открывается пункт основного меню Field, внутри которого выбирается подменю Contour Levels:. В результате после обращения к соответствующим подменю открываются диалоговые окна, которые используются для последовательного изменения параметров изображаемого на электронной странице рисунка. Так, например, посредством нажатия на кнопки Reset Levels  или New Levels... на панели Contour Levels,  изменяется число уровней (Number of Levels), в открывающихся при этом диалоговых окнах Enter Value или Enter Contour Levels Range. В первом случае, диапазон изменения параметра устанавливается автоматически. Во втором, задается не только минимальное и максимальное значения параметра, и количество линий, но и способ, которым производится ранжирование переменной в выбранном диапазоне. Параметры визуализации изменяются следующим образом: число изолиний увеличивается с 15 до максимального числа 151. Применяется экспоненциальный масштаб, с учетом наличия в расчетном поле областей с большими градиентами давления по пространству в относительно узких зонах. Результирующая волновая картина, приведенная на рисунке, формируется после применения к рабочему окну операции Redraw All.



Тривиальный анализ показывает, что в изучаемом режиме течения реализуется сложная ударно-волновая картина течения, обусловленная взаимодействием прямой взрывной волны с системой отраженных и преломленных ударных волн. Одним  из изображенных на рисунке фронтов является, как и ранее, фронт прямой ударной волны взрыва.

Таким образом, если параметры визуализации изменяются, то существенным образом перестраивается образ волновой картины течения, изображаемый средствами TECPLOT'а на электронной странице. Следовательно, информация характеризуется как оптимальная, при некотором определенном соотношении между диапазоном изменения давления и количеством изолиний, задаваемых при визуализации, причем это соотношение определяется опытным путем в каждом конкретном случае.

Ниже приводятся описание панелей основного меню Field, которые используются при построении изолиний (контуров).

Панель Contour Attributes (Свойства контура) предназначается для описания способа визуализации: дискретными изолиниями (Lines), непрерывной заливкой (Flood) или обоими этими способами вместе (Fld&Line). В том случае, если визуализация производится при помощи изолиний, то на панели в пункте меню Line Pttrn (Образец линии) задается тип линии: непрерывная (Solid), штриховая (Dashed), точечная (Dotted) и возможные комбинации, который действует на всем пространстве зоны. В пункте Pttrn Lngth (Размер узора) определяется геометрический размер - длина штриха или диаметр точки при рисовании изолинии. Пункт меню Line Thck (Толщина линии) в комментариях не нуждается. Пункт Cont Color (Цвет линии) используется для изменения цвета изолиний в определенной зоне. Задается один из возможных цветов основной палитры, или мультицветное изображение, которое характеризуется плавным изменением цветовой гаммы при переходе от одной изолинии к другой, в зависимости от изображаемого уровня.

Панель Contour Levels (Контурные уровни) предназначается для описания диапазона, в котором изменяется визуализируемый параметр, при этом используются кнопки: Reset Levels  (Вновь устанавливать уровни), New Levels  (Новые уровни) - для определения новых уровней и Add Levels (Добавить Уровни) - для включения дополнительных уровней в существующий диапазон. Количество изолиний изменяется при неизменном диапазоне, если нажимается кнопка Reset Levels  ,тогда открывается диалоговая панель,  Enter Levels   в которой и задается новое число изолиний. Число изолиний и диапазон изменяются при нажатой кнопке New Levels  в открывающейся диалоговой панели,  Enter Contour Levels Range где задается величина диапазона одним из трех возможных способов:

1)      минимальное и максимальное значение параметра, число изолиний;

2)      минимальное и максимальное значение параметра, интервал между изолиниями;

3)      экспоненциальное распределение, ввод которого сопровождается сообщением о минимальном и максимальном значении, а также общем количестве уровней, изображаемых на электронной странице.

Панель Contour Labels (Контурные метки) предназначается для нанесения на изолинии, либо соответствующих значений параметра (Use Contour Value), либо порядкового номера изолинии (Use Contour Number). Задается формат Format надписи, включающий описания: типа числа - целое (Integer) или десятичное (Best Float или Float), для последних количество значащих цифр после запятой (Precision), экспоненциальное (Exponent), использующее формат Ew.d  Фортран'а; а также в виде рационального числа, умноженного на степень числа десять (Superscript); цвета (Color); гарнитуры (Font); размера (Size %); фона (Fill Behind), на котором делается надпись; цвета фона (Fill Colour); толщины рамки (Fill Margin). Определяется процедура (Generate Automatic Labels), в соответствии, с которой метки восстанавливаются при каждой операции Redraw. Также задается правило (Align Labels), определяющее дистанцию (Spacing) между метками на изолинии и интервал (Level Skip) между помеченными изолиниями.

Панель Contour Legend (Контурные легенды) предназначается для создания изображений масштабной линейки, устанавливающей соответствие между абстрактной символикой (цветом, номером или символом) и действительным значением параметра, отвечающим конкретной изолинии. Определяется положение линейки - вертикальное или горизонтальное (Align Vertical или Align Horizontal); стартовая позиция в рабочей области (X%,Y%); пропущенные уровни (Level Skip); помечаемый диапазон (Line Spacing); формат надписи на линейке; формат чисел (Integer, Float, Best Float...), а также количество десятичных знаков (Precision); и, наконец, параметры рамки (Box Around Table): нет рамки (No Box), рамка с фоном (Filled), простая рамка (Plain) и т.д.

Следующий пример иллюстрирует некоторые из обсужденных ранее возможностей графического приложения. В целях более подробного рассмотрения неустановившегося течения в области между срезом отверстия и диском из исходного файла данных записываются во вспомогательный файл значения переменных из областей - Zone2,:,Zone4.



Для этого в основном меню File открывается подменю Write DataFile: и в открывающейся диалоговой панели Write DataFile Options выделяются те области и переменные, которые надлежит записать во вспомогательный файл, а также определяются характеристики этого файла (текстовый или двоичный, формат записи и т.д.). В результате диапазон изменения переменной величины существенно уменьшился со значений 0.1367:86.844 до значений 0.1367:10.572, и, как следствие, появилось возможность детального исследования структуры ударно-волновой картины в этой области.

 

4.5 Построение векторного поля

Векторное поле можно отображать и непосредственно, однако гораздо нагляднее оно отображается при помощи линий тока - касательных кривых к каждой точке поля.

4.5.1 Преобразование компонентов векторного поля в систему координат электронной страницы

При визуализации векторных полей необходимо не упускать из виду то обстоятельство что, как указывалось выше (п.4.2.1), по умолчанию под системой координат экрана понимается  декартова система координат. Следовательно, если в той или иной графической интерактивной программе предусматривается возможность построения линий тока, то прежде чем приступить к процедуре визуализации требуется, в зависимости от обстоятельств, преобразовать векторное поле в декартову (ортогональную) систему координат. В случае полярной системы координат формулы преобразования записываются следующим образом:

 

где - компоненты вектора в декартовой системе координат, а - компоненты  соответствующего вектора в полярной координатной системе.

4.5.2.Построение линий тока

Обсуждаемый выше пример (п.4.4.4) является иллюстрацией способа визуализации поля скалярной величины. Вместе с тем, базовый пакет TECPLOT используется также при визуализации векторных полей: скорости, силы или любого другого поля, определяемого как  векторное.

Простой график вектора скорости создается следующим образом:

1.   Нажимается кнопка Vector  (Вектор) на Sidebar'е.

2.   Затем в открывающемся окне Select Variables  (Выбрать Переменную) задаются переменные, соответствующие компонентам вектора, которые могут быть изменены пользователем в любой момент.

3.   Для дальнейшего анализа полезно (хотя не обязательно) отключить на Sidebar'е кнопки: Mesh (Сетка) и Contour (Контур).

4.   Теперь после применения операции Redraw на электронной странице восстановится векторное поле, параметры и особенности изображения которого являются заданными по умолчанию.

Здесь не приводится рисунок поля вектора скорости, построенный с использованием (по умолчанию) установок диалоговой панели Vector Attributes (Атрибуты вектора), ввиду того, что эта картинка не допускает разумной интерпретации из-за большой частоты узлов сетки.

Ниже приводится построенное, на базе данных из вспомогательного файла, векторное поле, причем шаг по индексу равняется Index Skip=5. На том же рисунке изображены изолинии поля давления и граничные поверхности обтекаемых преград.



 Изменения в изображение векторного поля, как сказано, вносятся при помощи диалоговой панели Vector Attributes, последовательное описание которой приводится ниже:

1.   В пункте меню Zone Show  (Отображать Зону) определяется статус зоны - активная или пассивная.

2.   В активных зонах при помощи пункта меню Vector Show  (Отображать Вектора) определяется статус векторов - активный или пассивный.

3.   В пункте меню Vect Plttype  (Тип Изображения Вектора) задаются особенности изображения вектора. Выбор осуществляется из 4-х возможных вариантов, а именно:

n    вектор с уникальными параметрами (модулем и направлением) исходит из узловой точки расчетной сетки - <Хвост в Точке> (Tail At Point);

n    вектор с уникальными параметрами (модулем и направлением) располагается таким образом, что узловой точкой расчетной сетки делится пополам- (Anchor At Midpoint);

n    вектор с уникальными параметрами (модулем и направлением) позиционируется так, что стрелка, обозначающая направление, располагается в узловой точке расчетной сетки - <Голова в Точке> (Head At Point);

n    изображается только стрелка вектора и больше ничего - (Head Only).

4.   В пункте меню Vect Color  (Цвет Вектора) определяется цвет линии.

5.   В соответствующих пунктах меню: Line Pttn , Pttn Lngth , Line Thick задаются - тип линии, толщина линии, длина линии.

6.   В пункте меню Index Skip  (Шаг по индексу) задается область определения вектора.

В качестве иллюстрации возможностей графического приложения приводятся изолинии поля скалярной величины, а также пространственное положение некоторых характерных границ раздела сред.



 При построении этого рисунка в рабочей области TECPLOT  открывались последовательно несколько окон, в которых производилось построение соответствующих параметров. Затем окна и изображения совмещались, причем второе и третье окна делались прозрачными путем выключения на диалоговой панели - Edit Current Frame  кнопки Show Background. Совмещение изображений обеспечивалось использованием при построении картин течения одинакового стиля рисунка, который сохраняется пользователем в файле с расширением  *.sty при обращении к пункту основного меню - Style и соответствующих вспомогательных команд - Copy Style to File:  и Paste Style from File: .

В заключение этого обзора базовых операций по визуализации результатов вычислительных экспериментов при помощи графических приложений  отметим, что это именно краткий обзор, которым не исчерпываются возможности реализованные в рассмотренных приложениях. Однако этой первоначальной информации вполне достаточно, для того чтобы, творчески применяя методы визуализации на практике постепенно выработать собственные приемы обработки и представления результатов вычислительных экспериментов.