logo desc

Хотите быстро переносить поля величин между проектами, не копаясь в куче текстовых файлов? Прочтите эту статью, во FlowVision теперь есть инструмент для этого.

Зачем нужен Вычислитель GLO и как он работает

Результаты одних расчетов могут быть входными данными для других.

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

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

Для решения этих проблем в дистрибутив версии FlowVision 3.13.02 входит модуль «Вычислитель GLO», который умеет интерполировать и экстраполировать значения из GLO-файлов на поверхность граничного условия. Таким образом, снимаются ограничения по виду расчетной сетки в двух проектах, становятся допустимы отличия в форме поверхностей между двумя проектами, а также устраняется ручная работа по переносу текстовых таблиц между проектами.

Как пользоваться Вычислителем GLO

Чтобы воспользоваться новым модулем, его нужно загрузить в ППП в папку «Пользовательские модули» на вкладке «Препроцессор» из библиотеки EvaluatorGLO_original.fvdll. Она находится в установочной директории FlowVision в подпапке \SDK\examples\EvaluatorGLO. После загрузки модуля значения пользовательских переменных, переменных в граничных условиях и модификаторах можно будет задавать через Вычислитель GLO.

                           

После нажатия на кнопку откроется окно настройки экспорта данных из GLO-файла. Выбрать нужный GLO-файл можно с помощью кнопки

Если размер поля из GLO-файла меньше размера ГУ/модификатора, то в оставшихся точках данные можно задать с помощью экстраполяции, либо установить в них значение по умолчанию в виде константы.

Если необходимо переместить исходное поле из GLO-файла в пространстве, то можно воспользоваться сдвигом вдоль осей глобальной системы координат, либо поворотом на определенный угол вокруг задаваемого вектора. Угол поворота указывается в градусах, вектор задается компонентами по осям глобальной системы координат.

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

Подробное описание алгоритма работы и интерфейса Вычислителя GLO вы можете найти в разделе документации «Работа с Пре-Постпроцессором > Справочник по интерфейсу Пре-Постпроцессора > Окно Проекта > Окно проекта, вкладка «Препроцессор» > Папка "Пользовательские модули" > Пользовательский модуль Вычислитель GLO».

Пример использования Вычислителя GLO

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

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

В качестве первого проекта возьмем готовый пример из нашего Самоучителя «Ламинарное течение в трубе». В нем создаем супергруппу на ГУ «Выход» в Постпроцессоре. На ней строим слой «Цветовые контуры» по Z-компоненте скорости. В свойствах слоя включаем его автоматическое сохранение в файл в режиме перезаписи, считаем проект (критерии останова уже настроены). В результате получим распределение скорости по выходной границе.

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

На этом настройка импорта данных из GLO-файла завершена. После окончания расчета, можно визуализировать полученные результаты.

 

Вычислитель GLO также можно использовать для сравнения результатов, полученных в разных проектах и/или на разных сетках. Для этого в Препроцессоре создадим локальную пользовательскую переменную, к которой "привяжем" данные из GLO-файла через Вычислитель. Затем на объекте, аналогичном тому, с которого получен используемый GLO-файл, строим слой по созданной пользовательской переменной. Таким образом можно сравнить два разных решения.

 

Все вопросы по работе с Вычислителем GLO пишите на support@flowvision.ru.

Об авторе

Вадим Петух, инженер

Образование: МГТУ им. Н.Э. Баумана, кафедра Динамика и управление полетом ракет и космических аппаратов. 

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