10 - 2000

GasDynamicsTool 4.0: передовые CFD-технологии для персонального компьютера

Алексей Зибаров, Дмитрий Бабаев, Алексей Шадский

Трехмерная базовая комплектация интерфейса

Новый геометрический препроцессор

Частичная совместимость с нейтральным форматом STEP

Трехмерная воксельная графика

Новый редактор цветовых палитр

Возможность сохранения рабочей среды интерфейса

Задачи с подвижными телами

Новые типы солверов

Тестирование

Приложения

Быстродействие и работа с памятью

Несколько слов о планах на будущее

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

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

Моделирование осуществляется посредством решения нелинейных нестационарных уравнений Эйлера или Навье-Стокса при наличии значительного количества подмоделей, описывающих такие физико-химические процессы, как теплопроводность, диффузия, многокомпонентность и многофазность течения, химические реакции в фазах и т.п.

В журнале «САПР и графика» № 10’99 была опубликована статья «Моделирование газодинамических процессов с помощью пакета GasDynamicsTool», в которой были даны общие характеристики пакета GDT версии 3.51 и приведены результаты его применения в ряде интересных научных и инженерных проблем.

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

Основными отличиями новой версии являются:

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

Теперь по порядку более подробно рассмотрим структуру и возможности новой версии пакета.

в начало

в начало

Трехмерная базовая комплектация интерфейса

Основой интерфейса GDT 4.0 является приоритетная ориентация на решение трехмерных задач. И хотя плоские и осесимметричные постановки остались, решение их производится при помощи редукции соответствующих функций, базовое исполнение которых является трехмерным. При построении интерфейса используется технология WYSIWYG, позволяющая в любой момент во время работы с пакетом быстро вносить изменения в конфигурацию задачи. Кроме того, данная технология позволяет легко выбирать разнообразные виды представления промежуточных и окончательных результатов решения задач непосредственно в процессе решения, давая возможность анализа уже на этом этапе работы. Это существенное отличие от традиционных схем построения CFD-приложений, в основе технологии которых лежит традиционная триада «препроцессор — солвер — постпроцессор».

Динамический сценарий расчета

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

в начало

в начало

Новый геометрический препроцессор

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

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

в начало

в начало

Частичная совместимость с нейтральным форматом STEP

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

В пакете реализована частичная совместимость со стандартом STEP, что позволяет оперативно импортировать объекты со сложной геометрией. Частичность означает, что в настоящее время программа способна обработать пока не все объекты данного формата. На рис. 2 приведен пример нетривиальной геометрической поверхности, импортированной пакетом GDT через STEP-файл, изготовленный при помощи CAD-системы.

в начало

в начало

Трехмерная воксельная графика

В пакете GDT 4.0 применена технология воксельной графики для визуализации трехмерных течений. Этот вид графики дает объемное представление распределения параметра для трехмерных задач. Значение параметра в каждой ячейке счетной области представляется цветом из палитры, а также значением прозрачности этого цвета. Величина прозрачности входит в цветовую палитру и настраивается в зависимости от необходимости представления данного диапазона значений представляемого физического параметра. Таким образом, пакет позволяет выделять в трехмерной области задачи фрагменты с интересующими пользователя значениями параметров, показывая при этом всю область. Пользователь может получать представления параметров под любым углом зрения в системе координат задачи, а также выполнять различные вырезы и сечения. Это обеспечивает наглядное видение процесса в трехмерной постановке с одновременным получением информации о числовых характеристиках представляемого параметра. В качестве примера применения разработанной технологии приведем вариант представления давления при сверхзвуковом обтекании двух тел (рис. 3) — спереди небольшой куб, за ним горизонтально расположенный цилиндр с осью, перпендикулярной потоку. Для более детального представления особенности распределения давления во внутренней области течения при визуализации сделан вырез (рис. 10 и 13).

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

в начало

в начало

Новый редактор цветовых палитр

Для обеспечения полноценного функционирования воксельных и обычных графических представлений распределения параметров был разработан редактор цветовых палитр. Теперь пользователь сам может создавать и редактировать цветовые шкалы, используемые для визуализации. На рис. 4 изображено окно диалога редактирования палитры. Сама палитра, как и прежде, состоит из 255 оттенков, причем каждый цвет представлен сочетанием восьмибитных представлений красного, синего и зеленого цвета. Кроме того, в редакторе присутствует еще один параметр, характеризующий прозрачность (в 256 градациях), который используется при обработке трехмерных изображений и позволяет просматривать всю счетную область. Один цвет зарезервирован под изображение тел.

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

в начало

в начало

Возможность сохранения рабочей среды интерфейса

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

в начало

в начало

Задачи с подвижными телами

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

в начало

в начало

Новые типы солверов

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

Таким образом, в настоящее время пакет имеет четыре типа солверов, которые отвечают за решение следующих систем уравнений:

+ Нестационарные уравнения Эйлера для многокомпонентной системы сжимаемых газов.

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

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

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

Солверы реализованы в двухмерном плоском, осесимметричном и трехмерном вариантах. По сравнению с третьей в четвертой версии программы солверы работают в среднем на 15% быстрее.

в начало

в начало

Тестирование

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

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

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

Кроме того, ввиду широкого применения пакета для решения задач, связанных с нестационарным высокоградиентным истечением струй, была проведена серия тестов для подобного класса течений. На рис. 6 представлено сопоставление теневой фотографии начальной фазы процесса истечения сверхзвуковой струи с результатами численного эксперимента (первая производная плотности). Хорошо виден обратный скачок уплотнения — явление весьма сложное для моделирования. За диском Маха и основной ударной волной имеются локальные области высокого давления, и движение газа, вызванное диском Маха, формирует высокую завихренность и обратное течение. В области за скачком поток становится дозвуковым.

Следует подчеркнуть, что в большинстве представленных выше примеров в области течения одновременно присутствуют как дозвуковые, так и сверхзвуковые области, контактные, тангенциальные разрывы, вихри. При этом пакет правильно отражает не только пространственное положение и форму этих образований, но и их интенсивность. Таким образом, можно сделать вывод, что разностная схема, физико-математическая модель и созданный на их основе компьютерный код адекватно описывают явления, приведенные в качестве тестовых. Отметим также, что добиться высокой точности вычислений в столь сложных задачах можно только за счет высокого качества алгоритма и эффективной реализации кода. При тестировании пакета GasDynamicsTool было проведено большое количество численных экспериментов в различных режимах течений и в самых разнообразных начальных и граничных условиях. В большинстве случаев было получено хорошее соответствие результатов расчетов и опытных данных как в качественном, так и в количественном плане. Во избежание повторов авторы рекомендуют читателю познакомиться с информацией о подходе к тестированию в журнале «САПР и графика» № 10’99.

в начало

в начало

Приложения

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

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

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

На рис. 7 представлены результаты решения задачи определения газодинамических параметров как внутри ДТ, так и в окружающем пространстве. Синий цвет соответствует высокому давлению, темно-серый — низкому. Сечения тел показаны белым цветом. На рисунке изображено распределение давления для 12 последовательных моментов времени, причем интервал вывода информации для первых шести кадров в два раза меньше, чем для последующих. На начальном этапе выхода снаряда из канала ствола (1) происходят прорыв пороховых газов и формирование основной ударной волны (2). Волна обладает весьма значительной интенсивностью и обгоняет снаряд. Достигая перегородки и направляющей выходного окна (3), волна отражается и формирует первый импульс силового воздействия на ДТ. Именно в этот момент снаряд испытывает максимальные нагрузки, так как в дальнейшем интенсивность будет падать, несмотря на локальные всплески, обусловленные воздействием вторичных или отраженных волн, а также эффектами запирания при прохождении снарядом перегородок или выходных отверстий. Именно такой эффект наблюдается на фрагментах (4-6), где при прохождении снарядом перегородки формируется мощная вторичная отраженная волна. В этот же промежуток времени наблюдается выход из первого окна дульного тормоза воздушной ударной волны, в направлении, обратном направлению выстрела.

После прохождения перегородки (7), снаряд попадает в зону относительно небольших давлений и соответственно слабых нагрузок. Однако после отражения первичной ударной волны от передней стенки второй камеры и формирования отраженной волны (8) эти нагрузки (и давление) значительно возрастают. К этому моменту газодинамическое течение в первой камере практически устанавливается, за исключением слабых осцилляций течения между передней и задней стенками газоотводящего канала. На следующей фазе процесса (9) снаряд проходит выходное отверстие ДТ. На рисунке видно, что к этому моменту начинается интерференция между ударными волнами, выходящими из первого и второго окна, отраженная волна во втором окне движется навстречу потоку. На фрагменте (10) видны формирование течения Прандтля-Майера на кромке выходного отверстия дульного тормоза и начало выхода снаряда в свободно-баллистический полет. На фрагменте (11) течение практически установилось в обеих камерах. На последнем фрагменте (12) снаряд выходит в режим внешней баллистики, а перед срезом дульного тормоза формируется хорошо известная структура нестационарного истечения сверхзвуковой струи.

Аналогично решена задача о движении пули в дульном глушителе. Представлены распределение давления и положение ударных волн в форме распределения модуля градиента плотности (рис. 8 и 9).

На рис. 10 приведено решение задачи о движении модельного снаряда со сложной геометрией в начальной фазе периода последействия пороховых газов. Показано распределение давления в полупрозрачной цветовой шкале с использованием воксельной технологии. Задача решена в системе покоя снаряда. Ближняя плоскость является плоскостью симметрии. Для улучшения видимости сделан вырез плоскостью, перпендикулярной плоскости симметрии, вдоль оси системы, и плоскостью, параллельной дальней границе, на расстоянии 10 ячеек от нее. Размер счетной области составлял 100×200×300, то есть 6 млн. ячеек.

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

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

На рис. 12 приведен пример применения разработанного подхода к решению задачи о взрыве газовой смеси в квартире. Сверху — экспериментальные данные, снизу — распределение первой производной плотности. Сетка 300×400, плоский случай. Данный расчет выполнен с применением солвера для детонации однородных составов и может служить хорошим тестом на адекватность описания численной моделью реальных процессов.

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

И последний пример, который мы приводим здесь, — расчет дифракции ударной волны на трехмерном угле. На рис. 14 изображено распределение давления с резким выделением выбранного интервала, тело изображено темно-зеленым цветом. Представлены виды спереди, сзади и снизу. На виде спереди справа находится плоскость симметрии, ударная волна движется в сторону наблюдателя. Расчет выполнен в сетке 350×200×100 (то есть 7 млн. трехмерных ячеек. На сегодняшний день это, пожалуй, самая большая задача в мире, решенная на однопроцессорном персональном компьютере в течение одних суток). Интервал выделенного давления соответствует среднему давлению в волне торможения (желтый цвет).

в начало

в начало

Быстродействие и работа с памятью

На компьютере Pentium II 266, 64 Мбайт RAM выполнение 1000 итераций по времени в расчетной области, состоящей из 10 тыс. ячеек, занимает 63 секунды. Та же задача на компьютере Pentium III 550 занимает 22 секунды. Расчет 100 тыс. ячеек занимает 214 секунд. Это свидетельствует о линейной зависимости (и даже некотором ускорении за счет кэширования) между размером счетной области и временем счета, что выгодно отличает пакет от аналогов, основанных на методах конечных элементов и им подобных, где с ростом числа ячеек время расчета растет быстрее, чем линейная зависимость. При наличии на компьютере 512 Мбайт оперативной памяти пакет способен просчитать задачу в 15 млн. двухмерных или 12 млн. трехмерных ячеек без использования дополнительных ресурсов памяти (жестких дисков или внешних устройств).

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

в начало

в начало

Несколько слов о планах на будущее

  • В начале следующего года ожидается выход пятой версии пакета. Основным ее отличием будет многопроцессорность. Проводимые в настоящее время тесты солверов показывают высокую масштабируемость (коэффициент использования процессоров) — около 0,96. Это свидетельствует о высоком качестве алгоритма распараллеливания, что, в свою очередь, позволит эффективно использовать многопроцессорные персональные компьютеры для моделирования сверхбольших (до 50 млн. трехмерных ячеек) задач газовой динамики. Начать работу с такой размерностью задач планируется уже в начале 2001 года.
  • Другой важной вехой в истории развития пакета GDT станет выход пятой версии в двухплатформном варианте. Завершается разработка аналога программы под Linux.
  • За счет оптимизации солверов и изменения их структуры ожидается существенное (более 25%) увеличение их быстродействия. Таким образом, планируемая суммарная эффективность использования пакета пятой версии на четырехпроцессорном персональном компьютере будет минимум в пять раз выше сегодняшней.
  • Пользователь пакета найдет много приятных новинок в работе с модернизированным интерфейсом.

***

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

«САПР и графика» 10'2000