Принятые обозначения:
<tag>…</tag>).Пример тега: <tag attr=”attribute”>12345</tag>.
Здесь attr – имя атрибута; attribute – значение атрибута; 12345 – значение тега.
Все числовые значения задаются в системе Си.
Алфавит пользовательских имен состоит из букв латинского алфавита, цифр, пробела и знака подчеркивания.
Описание области должно быть заключено в тег <region>. Текст, не ограниченный тегами, считается комментарием. У каждой области имеется ряд характеристик, которые присутствуют обязательно. Это размеры области, тип границ области, шаги разбивки области по координатам, шаг по времени, вещества и фазы, которые присутствуют в данной области, а также начальные и граничные условия.
ТИПЫ ЗАПОЛНЕНИЙ ОБЛАСТИ И ГРАНИЦ
Существует 6 типов заполнений:
ЗАДАНИЕ РАЗМЕРОВ ОБЛАСТИ
Все размеры области должны быть заключены в тег <bounds>.
Так как расчетная область представляет собой параллелепипед, то требуется задать координаты двух противоположных вершин (xmin, ymin, zmin) и (xmax, ymax, zmax).
Общая схема задания размеров:
<bounds>
<xmax type=”{тип поверхности}” [name = ”{имя границы}”]>{координата}</xmax>
<ymax type=”{тип поверхности}” [name =” {имя границы}”]>{координата}</ymax>
<zmax type=”{тип поверхности}” [name = ”{имя границы}”]>{координата}</zmax>
<xmin type=”{тип поверхности}” [name = ”{имя границы}”]>{координата}</xmin>
<ymin type=”{тип поверхности}” [name = ”{имя границы}”]>{координата}</ymin>
<zmin type=”{тип поверхности}” [name = ”{имя границы}”]>{координата}</zmin>
</bounds>
Здесь
<bounds>
<xmin type="hard" name=”bound”>0</xmin>
<xmax type="open">10</xmax>
<ymin type="impen">0</ymin>
<ymax type="open">3</ymax>
<zmin type="impen">0</zmin>
<zmax type="open">3</zmax>
</bounds>
В примере задается параллелепипед размером 10х3х3 с двумя твердыми границами проскальзывания ymin и zmin. К границе xmin с именем bound в дальнейшем должны быть приложены граничные условия.
ЗАДАНИЕ СЕТОЧНЫХ ПАРАМЕТРОВ
Схема задания дискретизации:<steps>
<timestep>{шаг по времени}</timestep>
<xstep>{число}</xstep>
<ystep>{число}</ystep>
<zstep>{число}</zstep>
</steps>
Здесь в теге <timestep> задается шаг по времени в секундах, а в тегах <xstep>, <ystep> и <zstep> - размеры ячейки в метрах.
Пример:
<steps>
<xstep>0.2</xstep>
<ystep>0.2</ystep>
<zstep>0.2</zstep>
<timestep>0.001</timestep>
</steps>
ЗАДАНИЕ РАССМАТРИВАЕМЫХ ВЕЩЕСТВ
Все вещества, которые рассматриваются в расчетной области, должны быть предварительно описаны в теге<matters>. Для этого для каждого вещества надо задать имя и коэффициент диффузии [с/м2].
Схема:
<matters>
<matter name=”{название 1-го вещества}”>
<diffusion>{коэф. диффузии}</diffusion>
</matter>
<matter name=”{название 2-го вещества}”>
<diffusion>{коэф. диффузии}</diffusion>
</matter>
.......................
</matters>
Пример:
<matters>
<matter name="CO">
<diffusion>0.32</diffusion>
</matter>
<matter name="NO">
<diffusion>0.22</diffusion>
</matter>
</matters>
В примере описываются два вещества "CO" и "NO" со своими коэффициентами.
ЗАДАНИЕ ФАЗ
В программе рассматривается многофазное течение. Газовая фаза присутствует всегда. Она представляет собой некий инертный газ, который не взаимодействует с присутствующими веществами. Дисперсная фаза может быть представлена несколькими фракциями. Описание всех фаз должно быть заключено в тег<phases>.
Описание газовой фазы (gas) включает в себя <adiabatic> - коэффициент адиабаты.
Описание дисперсной фазы (“drop”) содержит:
diameter> - диаметр частицы [м];- <density> -
истинная плотность частиц [кг/м3];
<phases>
<phase sort="gas">
<adiabatic>{коэф. адиабаты}</adiabatic>
</phase>
<phase sort="drop">
<matter name=”{1-е вещество, из которого состоит фаза}”>
<min>{Минимальное содержание}</min>
<max>{Максимальное содержание}</max>
<count>{Количество делений}</count>
</matter>
<matter name=”{2-е вещество, из которого состоит фаза}”>
<min>{Минимальное содержание}</min>
<max>{Максимальное содержание}</max>
<count>{Количество делений}</count>
</matter>
………………………………………
<diameter>{диаметр}</diameter>
<density>{плотность}</density>
</phase>
</phases>
Пример:
<phases>
<phase sort="gas">
<adiabatic>2.7</adiabatic>
</phase>
<phase sort="drop">
<diameter>0.001</diameter>
<density>1000</density>
<matter name="CO">
<min>0</min>
<max>1</max>
<count>10</count>
</matter>
<matter name="NO">
<min>0</min>
<max>2</max>
<count>10</count>
</matter>
</phase>
</phases>
В данном примере у газовой фазы задан коэффициент адиабаты равный 2.7. Дисперсная фаза представлена 100 фракциями (10 разбиений по CO и 10 разбиений по NO). Минимальное и максимальное содержание CO во фракциях соответственно 0 и 1 кг; NO – 0 и 2 кг соответственно. Диаметр частиц 0.001м. Плотность – 1000 кг/м3.
СОЗДАНИЕ ОБЪЕКТОВ Объекты бывают двух видов: простейший – точка, и макрообъекты – параллелепипед, шар и др. Макрообъекты физически присутствуют в области, а простейший объект точка необходим только для задания макрообъектов.СОЗДАНИЕ ТОЧКИ
Точка является простейшим объектом. Она задается уникальным числовым идентификатором<id> и своими координатами в пространстве. Ее схема:
<point>
[<id>{идентификатор точки}</id>]
<x>{координата}</x>
<y>{координата}</y>
<z>{координата}</z>
</point>
Пример:
<point>
<id>1</id>
<x>2</x>
<y>0.5</y>
<z>0</z>
</point>
Создается точка с координатами (2,0.5,0).
Если точка объявляется вне описания макрообъекта, то обязательно наличие идентификатора. Им может стать любое натуральное число. По этому идентификатору можно будет в дальнейшем ссылаться на данную точку:<point>{идентификатор точки}</point>
Если точка объявляется внутри описания макрообъекта, то она только в нем и видна. В этом случае идентификатор не обязателен.
СОЗДАНИЕ МАКРООБЪЕКТОВ
Перечислим одинаковые черты макрообъектов:
СОЗДАНИЕ ПАРАЛЛЕЛЕПИПЕДА
Любой параллелепипед можно задать четырьмя точками – одной вершиной и тремя ребрами.
Схема создания параллелепипеда:
<bar type=”{тип поверхности}” name=”{имя границы/области}”>
{точка 1}
{точка 2}
{точка 3}
{точка 4}
</bar>
СОЗДАНИЕ ПИРАМИДЫ
Для создания пирамиды так же необходимо задать четыре точки. Схема:
<piramid type=”{тип поверхности}” name=”{имя границы/области}”>
{точка 1}
{точка 2}
{точка 3}
{точка 4}
</piramid>
СОЗДАНИЕ ШАРА
Необходимо указать центр шара и его радиус:
<ball type=”{тип поверхности}” name=”{имя границы/области}”>
{точка}
<radius>{радиус}</radius>
</ball>
СОЗДАНИЕ ЦИЛИНДРА
Цилиндр возможно задать двумя способами:
{точка 1} {точка 2} <radius>{радиус}</radius> </cilinder><cilinder type=”{тип поверхности}” name=”{имя границы/области}”>
{точка} <radius>{число}</radius> <normal> <angleFi>{угол φ}</angleFi> <anglePsi>{число}</anglePsi> </normal> <height>{угол ψ}</height> </cilinder><cilinder type=”{тип поверхности}” name=”{имя границы/области}”>
ЗАДАНИЕ НАЧАЛЬНЫХ И ГРАНИЧНЫХ УСЛОВИЙ
<conditions>.
При задании граничных условий необходимо указать имя границы, для которой эти условия должны выполняться. Имя присваивается границе при задании размеров области.
Описание граничных условий заключено в тег <boundary>.
При задании начальных условий необходимо указать имя области, для которой эти условия должны выполняться. Имя присваивается области при создании объекта типа empty. О том, как это делается, смотрите ниже. Если же требуется задать начальные условия всей области, то имя можно опустить или указать default.
Описание начальных условий заключено в теге <initial>.
Общие схемы задания начальных и граничных условий идентичны. Отличия только в ограничивающих тегах. Поэтому рассматриваются только начальные условия.
Условия задаются для каждой из двух фаз: газовой и дисперсной. В каждой из двух фаз задаются распределения скорости <velocity>, плотности <density> и давления <pressure>. В газовой фазе принято, что плотность, давление и три проекции скорости линейно зависят от координат. Например:
![]()
Схема задания скорости:
<velocity>
<x>
[<cx>{число}</cx>]
[<cy>{число}</cy>]
[<cz>{число}</cz>]
[<c>{число}</c>]
</x>
<y>
[<cx>{число}</cx>]
[<cy>{число}</cy>]
[<cz>{число}</cz>]
[<c>{число}</c>]
</y>
<z>
[<cx>{число}</cx>]
[<cy>{число}</cy>]
[<cz>{число}</cz>]
[<c>{число}</c>]
</z>
</velocity>
Как видно из схемы, для каждой компоненты необходимо задать 4 крнстанты. Однако если имеются нулевые константы, то их вместе с окружающими тегами можно опустить. Если все константы при переменных нулевые, то можно указать только свободную константу, опустив тег <c>. Поясним сказанное на примере:
<velocity>
<x>
<cx>10</cx>
<c>-2</c>
</x>
<y>
<cy>-5</cy>
</y>
<z>10</z>
</velocity>
Если обозначить проекции скорости на оси координат через U, V и W, то:
![]()
В задании плотности и давления присутствуют только 4 константы:
<pressure>
[<cx>{число}</cx>]
[<cy>{число}</cy>]
[<cz>{число}</cz>]
[<c>{число}</c>]
</pressure>
<density>
[<cx>{число}</cx>]
[<cy>{число}</cy>]
[<cz>{число}</cz>]
[<c>{число}</c>]
</density>
В дисперсной фазе скорость и давление задается таким же образом. Однако задание плотности происходит законом статистического распределения. При этом требуется задать вид распределения и значение необходимых параметров по каждому из веществ. Например, для нормального распределения это математическое ожидание и дисперсия. В настоящее время реализовано только нормальное распределение.
Так как закон распределение нормирован, то используется множитель <factor>, который также линейно зависит от координат. Его размерность кг/м3.
Общая схема:
<density>
<factor>
[<cx>{число}</cx>]
[<cy>{число}</cy>]
[<cz>{число}</cz>]
[<c>{число}</c>]
</factor>
<distribution type=”{закон распределения}”>
<param number="1">
<matter name=”{1е вещество}”>{значение}</matter>
<matter name=”{2е вещество}”>{значение}</matter>
………………………………………………...
</param>
<param number="2">
<matter name=”{1е вещество}”>{значение}</matter>
<matter name=”{2е вещество}”>{значение}</matter>
………………………………………………...
</param>
</distribution>
</density>
Пример:
<density>
<factor>1</factor>
<distribution type="normal">
<param number="1">
<matter name="CO">0</matter>
<matter name="NO">1</matter>
</param>
<param number="2">
<matter name="CO">0.1</matter>
<matter name="NO">0.1</matter>
</param>
</distribution>
</density>
Так же в начальных и граничных условиях необходимо задать концентрацию каждого вещества [кг/м3]. Распределение концентрации также линейно зависит от координат. Схема задания концентрации выглядит следующим образом:
<matter name=”{1е вещество}”>{>
<concentration>
[<cx>{число}</cx>]
[<cy>{число}</cy>]
[<cz>{число}</cz>]
[<c>{число}</c>]
</concentration>
</matter>
<matter name=”{2е вещество}”>{>
<concentration>
[<cx>{число}</cx>]
[<cy>{число}</cy>]
[<cz>{число}</cz>]
[<c>{число}</c>]
</concentration>
</matter>
::...:::::::::::::...
Как отмечалось выше, схема граничных условий выглядит также.
Пример задания начальных условий:
<initial name="default">
<phase sort="gas">
<velocity>
<x>
<z>10</z>
</x>
<y>
<z>10</z>
</y>
<z>
<z>10</z>
</z>
</velocity>
<density>1.3</density>
<pressure>10000</pressure>
</phase>
<phase sort="drop">
<velocity>
<x>
<z>10</z>
</x>
<y>
<z>10</z>
</y>
<z>
<z>10</z>
</z>
</velocity>
<pressure>10000</pressure>
<density>
<factor>1</factor>
<distribution type="normal">
<param number="1">
<matter name="CO">0</matter>
<matter name="NO">1</matter>
</param>
<param number="2">
<matter name="CO">0.1</matter>
<matter name="NO">0.1</matter>
</param>
</distribution>
</density>
</phase>
<matter name="CO">
<concentration>0</concentration>
</matter>
<matter name="NO">
<concentration>0</concentration>
</matter>
</initial>
Начальные условия заданы для области с именем default. Скорости фаз зависят только от высоты (координаты z). В дисперсной фазе распределение плотности происходит по нормальному закону. Концентрация веществ CO и NO равна нулю.