Реализация простой модели гидроупругости с помощью functionObject

Преподаватель: Илья Марчевский, к.ф.-м.н., доцент, МГТУ им. Н.Э. Баумана (Россия).

Сложность модуля: Средняя.

Тип модуля: Лабораторная работа.

Программное обеспечение: OpenFOAM 4.1, OpenFOAM 3.0.x.

Разработчики модуля:
И. Марчевский, Россия,
М. Крапошин, Россия.

Язык презентации: English.

Описание:

Учебный модуль начинается с краткого введения в проблематику задач гидро- и аэроупругости, включая обзор и классификацию случаев, возникающих на практике. Одним из наиболее простых и частых случаев взаимодействия конструкции и потока является слабосвязанное, с 1-ой или 2-мя степенями свободы, движение твёрдого тела в потоке жидкости. Эта задача была выбрана с целью демонстрации возможностей пакета OpenFOAM для разработки сложных моделей механики сплошных сред. В рамках данного учебного модуля рассматриваются вызванные нестационарным потоком колебания цилиндра, закреплённого на одной и двух линейных вязко-эластичных пружинах (см. рисунок ниже). Описание математической модели приводится.

Implementation of simple FSI model with functionObject

На основе данного примера рассматриваются различные подходы к решению данной задачи. Обсуждается разница между пользовательским приложением-решателем, и определяемыми пользователем процедурой (functionObject), и источником (fvOption) и реализующими их классами. Обосновывается выбор стандартного приложения OpenFOAM — pimpleDyMFoam, связываемого с пользовательской процедурой, реализуемой в классе-наследнике functionObject. Описываются основные этапы разработки определяемого пользователем класса functionObject: настройка проекта динамически загружаемой библиотеки, создание класса-наследника использующего стандартную библиотеку OpenFOAM для вычисления силовых нагрузок на тело — «forces», вопросы работы с подвижными сетками, преобразование систем координат, реализация процедуры запуска с записанного состояния по времени и т.п. В процессе выполнения работы слушатели смогут скомпилировать созданный новый класс и запустить задачу на решение с использованием разработанной библиотеки.

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

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

Слушатели должны обладать хорошими навыками настройки расчётных случаев в OpenFOAM, уметь запускать и модифицировать учебные расчётные случаи, владеть базовыми знаниями в области программирования, уметь компилировать исходный код. Данный модуль является практическим занятием — лабораторной работой. Для выполнения заданий слушателю понадобится персональный компьютер с установленным пакетом OpenFOAM или возможностью загрузки с USB-образа.

Учебные материалы расположены на git архиве в свободном доступе и могут быть загружены с ресурса github:

Для OpenFOAM 4.1 — https://github.com/unicfdlab/TrainingTracks/tree/master/OpenFOAM/simpleFsi-OF4.1

Для OpenFOAM 3.0.0 — https://github.com/unicfdlab/TrainingTracks/tree/master/OpenFOAM/simpleFsi-OF3.0.0