Автоматическая замена геометрической модели в процессе расчета. Теория и практика

К.В. Кузнецов, И.В. Москалёв, Л.Р. Бегишева, ООО «ТЕСИС»

Москва, 2015 г.

Введение

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

mbrepl 3

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

mbrepl 1   mbrepl 2

Рис. 1, 2.

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

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

Такую серию можно получить одним из следующих способов:

  • Расчет деформации объекта в конечно-элементном пакете с последовательным сохранением геометрической модели в разные моменты времени;
  • Применение трехмерных сканеров и томографов;
  • Применение технологии Motion Capture, которая позволяет записывать движение скелетного представления объекта; затем на данный скелет «натягиваются» поверхность – «кожа», достоверно представляющая моделируемый объект (см. https://flowvision.ru/index.php/press-release/214-motion-of-living-being ).

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

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

mbrepl 3

Рис.3. Моделирование обтекания подвижного тела в процессе расчета конькобежца

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

Замечание: Следует сразу отметить тот факт, что для корректного решения различия между последовательными «снимками» геометрии не должны быть слишком велики.

Замена геометрии подвижного тела

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

mbrepl scheme

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

  • Исполняемый скриптовый файл, содержащий командную строку запуска солвера.
  • Командный файл - файл, содержащий набор команд, предназначенных для управления запущенным Солвером

Пример содержимого исполняемого файла, запускающего Солвер

"C:\FlowVision\FvSolver.exe" threads=4 sa_user=1 sa_ID=111-111111 sa_license=fvlic cmdfile="D:\ FV_Batch_Run\cmd.txt"

Здесь:

  • "C:\FlowVision\FvSolver.exe" - путь до Солвера;
  • threads=4  - режим запуска на 4 ядрах процессора;
  • sa_user=1 – имя пользователя на Солвер Агенте;
  • sa_ID=111-111111 - идентификатор Солвера;
  • sa_license=fvlic – лицензионное имя;
  • cmdfile="D:\FV_Batch_Run \cmd.txt" – путь до командного файла.

Пример командного файла

SS_PROJECTLOAD<D:\solverside\ FV_Batch\fvbatch.fvproj><><><>
SS_APPLYNEWGEOMETRY<OBJECT[10]><D:\FV_Batch_Run\Geom\0.wrl>
SS_SOLVESTART_EX<0><RI><2>
SS_DO_NOT_DISTURB
SS_APPLYNEWGEOMETRY<OBJECT[10]><D:\ FV_Batch_Run\Geom\1.wrl>
SS_SOLVESTART_EX<7><RI><2>
SS_DO_NOT_DISTURB
SS_APPLYNEWGEOMETRY<OBJECT[10]><D: \FV_Batch_Run\Geom\2.wrl>
SS_SOLVESTART_EX<7><RI><2>
SS_DO_NOT_DISTURB
SS_APPLYNEWGEOMETRY<OBJECT[10]><D:\ FV_Batch_Run\Geom\3.wrl>
SS_SOLVESTART_EX<7><RI><2>
SS_DO_NOT_DISTURB



SS_PRJDATASAVE
SS_PROJECTUNLOAD
SS_SHUTDOWNSOLVER

Здесь:

  • SS_PROJECTLOAD<D:\_solverside\For_Peter_2\For_Peter_2.fvproj> -  загрузка указанного проекта на Солвер;
  • SS_APPLYNEWGEOMETRY<OBJECT[10]><D:\FOR FV\FV_Batch_Run\Geom\0.wrl> - замена геометрии импортированного объекта 10 (соответствующий номер указан в *.fvinp файле)  геометрией, находящейся в указанной директории; для этого в нем необходимо найти подобную строчку «UIName="Imported object #0" myid="10"»
  • SS_SOLVESTART_EX<0><RI><2> - запуск Солвера на расчет. Данный параметр имеет следующие значения 0 – начать расчет с нуля (3 – начать расчет с нуля, но не перестраивать расчетную сетку, 7 – продолжить расчет), RI – относительное число итераций, после которых происходит замена геометрии (AI – абсолютное число итераций, AT – абсолютное время, RT – относительное время), 2- замена через каждые 2 итерации.
  • SS_DO_NOT_DISTURB - Не обрабатывать другие запросы, пока программа не досчитала до конца;
  • SS_SOLVESTOP - остановка счета солвера;
  • SS_PRJDATASAVE - сохранение результатов расчета;
  • SS_PROJECTUNLOAD - выгрузка проекта с солвера;
  • SS_SHUTDOWNSOLVER - выгрузка солвера.

Замечания

  1. Частота замены геометрии подвижного тела не обязательно должна быть равна шагу расчета по времени. 
  2. Необходимо включить обновление подвижного тела. Иначе после замены геометрии Солвер не будет её учитывать, и расчет будет производиться во всей подобласти, включая и внутреннюю часть подвижного тела.

Пример использования

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

mbrepl 4

Рис.4.

На рисунке 4 изображен клапан 2, который движется в канале 1 под действием расширения (деформации) толстостенного подвижного тела 3. На следующем рисунке представлена расчетная область. Синим цветом обозначено граничное условие «Стенка», красным – граничное условие «Вход/Выход». Цилиндр большего диаметра, который сопряжен с каналом, необходим для того, чтобы деформируемые стенки не вышли за пределы расчетной области, в которой определена расчетная сетка.

mbrepl 5

Рис. 5.

Подвижное тело, за счет замены геометрии которого происходит движение клапана, представлено на рисунке 6. Для наглядности оно рассечено плоскостью YOZ. Поверхности 1 не подвержены деформациям, в то время как поверхность 2 равномерно расширяется. Деформации тела были посчитаны в конечно-элементном  программном комплексе SIMULIA/Abaqus. К поверхности 2 было приложено равномерное давление, амплитуда которого равномерно нарастала от 0 до 1 за 1 секунду. Поверхность 1, в свою очередь,  была жестко закреплена по всем степеням свободы. В конечном итоге были записаны 10 *.wrl файлов, содержащие 10 различных состояний поверхности 2 в моменты времени 0.1 с, 0.2 с ….0.9 с, 1 с.

mbrepl 6

Рис.6.

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

Положение подвижного тела в расчетной области показано на рисунке 7. Они пересекаются таким образом, что в расчете участвует только область, показанная красными линиями. Из расчета исключаются ячейки, находящиеся внутри замкнутого подвижного тела. Однако, расширяющиеся внутренние стенки (рис. 4) постоянно находятся в расчетной области.

mbrepl 7

Рис.7.

Возможность расчета внутри подвижного тела

В FlowVision (начиная с версии 3.08.01) реализована возможность построения расчетной сетки (рис. 8, поз. 4) внутри подвижного тела (рис. 8, поз. 2). Данная возможность позволяет решить предыдущую задачу без создания взаимоисключающих и по сути избыточных объемов подвижного тела и расчетной области. Расчет (течение жидкости или газа) происходит в границах Подвижного тела, которое, в свою очередь, так же может автоматически заменяться в соответствии с командным файлом. Расчетная область в виде параллелепипеда (рис. 8, поз. 1) используется лишь для определения начальной расчетной сетки.

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

mbrepl 8

Рис.8.

Заключение

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

mbrepl 9

Рис. 9. Моделирование индивидуального сердечного клапана на основе сканирования живого работающего сердца - исследование с применением FlowVision  в Гентском университете, Бельгия

Об авторе
Игорь Москалев
Author: Игорь Москалев
Директор в группе компаний ТЕСИС
к.т.н., МГТУ им. Н.Э. Баумана. Экспертиза в областях: CFD, ДВС, суперкомпьютеры, ITSM

теги: