Новости
12.04.2024
Поздравляем с Днём космонавтики!
08.03.2024
Поздравляем с Международным Женским Днем!
23.02.2024
Поздравляем с Днем Защитника Отечества!
Оплата онлайн
При оплате онлайн будет
удержана комиссия 3,5-5,5%








Способ оплаты:

С банковской карты (3,5%)
Сбербанк онлайн (3,5%)
Со счета в Яндекс.Деньгах (5,5%)
Наличными через терминал (3,5%)

ВИЗУАЛИЗАЦИЯ СЕТОЧНЫХ РАЗБИЕНИЙ РАСЧЕТНОЙ ОБЛАСТИ НЕРЕГУЛЯРНОЙ ГЕОМЕТРИИ

Авторы:
Город:
ТАШТАГОЛ
ВУЗ:
Дата:
18 декабря 2016г.

Для упрощения инженерной разработки визуализаций с последующим включением их в научно- технический и дидактический контент мы разрабатываем модель создания визуализаций в форме периодических таблиц обобщенных методов визуализации [2]. В данной статье мы описываем разработку таких визуализаций, как сеточные разбиения и анализируем инструкции пакета Xy-pic, использованные при их разработке.

В технологических устройствах с реакторными вихревыми каналами малого радиуса с нерегулярной геометрией поперечного сечения могут проводиться тепло-, массо- обменные и гидродинамические процессы с образованием динамического многофазного слоя в пристенной области. Расчетная область показана на рис. 1. Мы вывели определяющие уравнения модели [7], [8], решили их численно для ламинарного и турбулентного режимов, определили оптимальный угол раскрытия канала.

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

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


Далее мы описываем получение визуализаций сеточных разбиений расчетных областей в естественной (рис. 1) и вычислительной (рис. 2) системах координат посредством графического пакета Xy-pic.

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

При выборе графического пакета для разработки визуализаций наших объектов мы проанализировали источники [6] (обзор графических расширений LaTeX), [3] (пакет Xy-pic), [5] (пакет PSTricks), [4] (пакет TikZ/PGF), [1] (пакет XyMTeX), установили и протестировали пакеты и остановили свой выбор на пакете Xy-pic.



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

Зададимся некоторыми характеристиками сеточных разбиений. Будем считать, что в радиальном направлении номера узлов изменяются от 0 в центре до 9 на твердой границе, что узлы с номерами 10 и 11 находятся за пределами твердой границы и значения параметров течения в этих узлах принимаются равными нулю.

Принимаем, что номера линий сеточных разбиений в окружном направлении изменяются в диапазоне от 0 до 38. Линии со значениями индексов, равными i=0 и i=36, i=1 и i=37, i=2 и i=38 считаем эквивалентными.

Использованное сеточное разбиение является неравномерным с коэффициентами неравномерности в радиальном, и в окружном направлении равными 0.85. Соответственно, мы рассчитываем шаги сетки в обоих направлениях, формируем из них массивы шагов, радиусов, углов.

Принимаем, что положительным направлением при отсчете углов является направление по часовой стрелке, отсчет начинается от крайней верхней точки i=0.

Приведем коды инструкций для элементов визуализации на языке Xy-pic. Рассмотрим инструкцию для рисования дуг сеточного разбиения (рис. 3)

,<0mm,0mm>*[blue][|(1.5)]{\ellipse<56.3200mm,56.3200mm>:a(270),_,:a(122){.} 

которая дает элемент визуализации в виде 

Эта инструкция строит дугу сеточного разбиения, используя объект эллипс (\ellipse) из функции (feature) 

«Circle,  ellipse, arc», конечные  точки дуги задаются через  углы и радиусы.  Радиусы и углы  являются изменяемыми параметрами, таких дуг мы строим 11 штук.

Вышеприведенную команду можно интерпретировать следующим образом.

 

1.     Текущей “,” сделать позицию с координатами, определяемыми вектором “<0mm,0mm>”. 

Инструкцию                можно                рассматривать               как                реализацию полиморфного метода 

Object::SetPosition(). 

2.     В текущей позиции «уронить» “*” объект, что соответствует реализации полиморфного метода 

Object::Drop(). 

3.     Объектом является эллипс, из которого берется дуга “{\ellipse< 56.3200mm, 56.3200mm>: a(270),_,:a(122){.}”.

4.     Оси эллипса равны

 “{< 56.3200mm, 56.3200mm>”, т.е. строится окружность.

 5.     Начальная точка дуги определяется углом “: a(270)” в текущей системе координат, конечная точка дуги находится в направлении по часовой стрелке “,_,” до положения, определяемого углом “:a(122)”. Дуга выполняет функции соединителя.

6.     Линия дуги задается пунктирной “{.}”. Это реализация полиморфного методы задания типа линии.


8.     Рис. 3. Дуга сеточного разбиения

 

Дугу модифицировать параметрами в угловых скобках, а именно, цвет сделать синим “[blue]”, толщину линии задать форм-фактором равным 1.5 “[|(1.5)]”. Здесь используется реализация полиморфного метода задания цвета для эллипса Object::SetColor().

Радиальные отрезки сеточного разбиения (рис. 4) рисуются командами наподобие следующей, которая проводит радиус для i=9, используя объект «прямолинейная стрелка» из функции «Arrow and Path».

“\POS<0mm,0mm>+/v<0mm,10mm>:a(247) 0.0000mm/\ar@{.@*{[|(1.5)][blue]} /v<0mm,10mm>:a(247) 77.8000mm/*\txt{}=" 9"\POS" 9"+/3mm/*\txt{\small 9}”.

Дадим интерпретацию инструкции.

 Текущей становится позиция, соответствующая началу координат рисунка Xy-pic “\POS<0mm,0mm>”, что реализует полиморфный метод Object::SetPosition().

Относительно текущей позиции задается исходная позиция для проведения линии “+/v<0mm,10mm>:a(247) 0.0000mm/”. Здесь “v<0mm,10mm>” — это вектор, относительно которого производится отсчет угла для задания исходной позиции для проведения вектора. “:a(247)” — угол для задания направления радиального отрезка, отсчитывается против часовой стрелки. “0.0000mm” — расстояние, которое отсчитывается от основания луча для определения начальной точки для проведение радиального отрезка.

Проводится отрезок

 “\ar@{.@*{[|(1.5)][blue]}” до точки “/v<0mm,10mm>:a(247)    77.8000mm/”. Линия проводится пунктирная “\ar@{.}” толщины с форм-фактором 1.5 “@*{[|(1.5)]” синего цвета “[blue]”.

В конечной точке линии «роняется» пустой объект “*\txt{}”. Позиции, в которой «уронили» объект, присваивается имя “=" 9"”. Интерпретируем позицию “\POS" 9"”.

Относительно нее смещаемся на вектор “+/3mm/” в текущем направлении и «бросаем» объект “*\txt{\small 9}”, который является текстом, набранным размером “\small”. Получаем метку 9, соответствующую текущей радиальной линии сеточного разбиения. Таким образом строим 36 радиальных отрезков.

Расставляем номера линий сетки по j.

 \POS<0mm,0mm>+/v<0mm,10mm>:a(0)61.5800mm/+/r1.0mm/+/u0.5mm/*!LD\txt{\small 7}.

 Новым в этой команде является то, что  точкой  привязки  «бросаемого» объекта становится левый нижний угол объекта “!LD\txt{\small 7}”.

Рисуем точки набегания и отрыва

 “\POS<0mm,0mm> +/v<0mm,10mm>:a(212) 70.0000mm/*[red]{\bullet }”.

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

“\POS<0mm,0mm> +/v<0mm,10mm>:a(212) 61.5800mm/*{}=" 13 7"”.

 Реализация полиморфного метода Object::SetLabel().

 Проводим горизонтальные отрезки в секторе угла раскрытия (рис. 5), например, “\POS" 23 7"\ar@{.@*{[|(1.5)][blue]}" 13 7"”.


Проставляем узлы сеточного разбиения, например,

 “\POS<0mm,0mm> +/v<0mm,10mm>:a(347) 61.5800mm/ *[blue]{\circ}”.

 Инструкция с изменяемыми параметрами выполняется в цикле 396 раз.

 На этом построение сеточного разбиения расчетной области в естественной системе координат для текущей геометрии заканчивается.

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

При построении визуализаций сеточных разбиений Xy-pic-код генерируется автоматически программами на языке C.

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

Мы выполнили обобщенную интерпретацию инструкций пакета Xy-pic, на основе которой могут быть предложены шаблоны проектирования.

При продолжении исследований мы предполагаем использовать продемонстрированный подход в случаях других репрезентативных визуализаций, конструируя шаблоны проектирования и реализуя их на языке программирования C++. Это позволит охарактеризовать ячейки периодической таблицы методов визуализации, относящиеся к другим группам обобщенных объектов (фреймам, путям, матрицам, графам, многоугольникам, “умным” путям и т.д.) и репрезентативных визуализаций.

 

Список литературы

1. Fujita S. XyMTeX: Reliable tool for drawing chemical structural formulas. — Kanagawa, Japan: Shonan Institute of Chemoinformatics and Mathematical Chemistry, 2013. — 760 p.

2.    Leontyev, B. P. Enhancement of a periodic table and generic visualization methods // Proc. 10th IASTED International Conference Computers and Advanced Technology in Education (CATE-2007). — Bejing, China: 2007. — Oct. — P. 96-101.

3.   Rose S. R. , Moore R. Xy-pic reference manual — IBM Thomas J. Watson Research Center, USA. Macquarie University, Australia, 2013. — 82 p.

4.    Tantau T. The TikZ and PGF Packages. Manual for version 3.0.1 — Institut fur Theoretische Informatik, Universitat zu Lubeck, 2013. — 1110 pp.— URL: http: //sourceforge.net/projects/pgf (дата обращения 6.05.2016).

5. Zandt T. PSTricks: PostScript macros for Generic TeX. User's guide. — 2007. — 127 p.

6.   Гуссенс М., Ратц С., Миттельбах Ф. Путеводитель по пакету LaTeX и его графическим расширениям.Иллюстрирование документов при помощи TeX'а и PostScript'а — М.: Мир, 2002. — 621 с.

7.    Леонтьев Б. П., Крайнюков Н. И., Щукин В. П. Уравнения трехмерной модели для ядра течений в областях нерегулярной геометрии // Труды 13-ой межд. конф. по химическим реакторам «Химреактор- 13» / Госуд. научный центр РФ «НИФХИ им. Л.Я. Карпова». — Новосибирск: 1996. — С. 171-173.

8.    Леонтьев, Б. П. Контекстно-ориентированные гиперсреды: Монография. — Тольятти: Изд-во ПВГУС,2013. — 228 с.