Moving Body Controller (MBC) – новинка релизной версии FlowVision 3.11.02. Это функционал для управления подвижными телами, позволяющий моделировать движение объекта под действием разнообразных, заданных пользователем, факторов. МВС даёт свободу выбора в построении физической модели движения объекта с учётом деформаций. Убедитесь в этом сами!
На видео представлен результат моделирования движения самолёта во FlowVision. Источником нашего вдохновения стало воплощение этого изделия «в металле».
Что такое Moving Body Controller
MBC – сторонний функционал, позволяющий FlowVision взаимодействовать в рамках расчёта проекта с программой, созданной пользователем. Взаимодействие FlowVision и Abaqus при проведении FSI расчётов является частным случаем применения MBC.
Ранее во FlowVision изменение положения тел в процессе расчёта достигалось двумя способами:
- С помощью внутренних средств FlowVision – модификатор "Подвижное тело". В этом случае в окне свойств модификатора задаются параметры движения тел и действующие на них внешние силы.
Однако главное ограничение такого подхода в том, что подвижные тела не деформируются, а только перемещаются по расчётной области. - С помощью внешнего взаимодействия с программным пакетом Abaqus (FSI). Для обеспечения этого взаимодействия Подвижное тело задаётся в качестве поверхности обмена. Так можно настроить полную замену геометрии FlowVision на геометрию, полученную из Abaqus – таким образом реализуется деформация тела в процессе расчёта.
С появлением МВС, который развивается в русле второго подхода, пользователь, используя только каркас подвижного тела, может запрограммировать свой заменитель Abaqus, решающий требуемую задачу.
Как устроен Moving Body Controller
В основе МВС лежит протокол, по которому FlowVision взаимодействует с Abaqus, но изменённый под конкретную задачу пользователя.
MBC состоит из двух блоков:
- Коммуникационный - обеспечивает обмен данными с FlowVision по сетевому каналу. Коммуникационный модуль, представленный в виде динамической библиотеки MbcConnector, уже разработан и не требует никаких модификаций в дальнейшем. Файл MbcConnector.dll можно найти в инсталляционной директории FlowVision: Fvlib64 > MbcConnector.dll.
- Расчётный – выполняет расчёт указанных пользователем величин по данным, получаемых от FlowVision (например, нагрузкам в узлах сетки). Расчётный модуль - отдельная программа, которая представляет из себя набор кодов С++ и программируются пользователем самостоятельно.
Как использовать возможности Moving Body Controller
По запросу мы предоставляем документацию разработчика и пример исходного кода с комментариями. Пользователь может модифицировать этот код на C++ для создания собственной программы, определяющей произвольное движение поверхности подвижного тела. Пользователю предлагается самому указать в этом коде те данные, которыми необходимо обмениваться.
Как результат - в начале шага обмена FlowVision передаёт данные об исходном «каркасе» подвижного тела на данный момент и принимает в ответ от МВС указанные параметры, например, деформированную геометрию поверхности обмена.
Для каких задач применять Moving Body Controller
- Моделирование очень сложных движений нескольких объектов. Пользовательский модуль может рассчитывать законы движения элементов конструкции с учетом столкновений, контактов и т.п., а также под действием гидродинамических сил из FlowVision.
- Моделирование с учетом теплового расширения. Например, в задаче винтового компрессора, можно с помощью MBC изменять величину зазора между роторами, связанную с температурой поверхности роторов.
- Аппроксимация изменения геометрической модели в последовательности моделей (когда временной интервал между двумя состояниями геометрии много больше шага по времени во FlowVision). См. подробнее о замене геометрии в статье.