Возможности открытых пакетов (Salome/OpenFOAM/Paraview) для решения задач МСС

Руководители: 

Стрижак Сергей Владимирович, к.т.н., Hewlett Packard, МГТУ им. Баумана
Аветисян Арутюн Ишханович , д.ф.-м.н., ученый секретарь ИСП РАН
Крапошин Матвей Викторович, НИЦ "Курчатовский институт", начальник лаборатории
Самоваров Олег Ильгисович, ИСП РАН, к.т.н., с.н.с.
Щеглов Георгий Александрович, МГТУ им. Н.Э. Баумана, кафедра “Аэрокосмические системы”, д.т.н., профессор
Ткаченко Игорь Вячеславович, СПбГМГТУ, кафедра “Гидроаэромеханика и морская акустика”, д.т.н., профессор РАН
Сибгатуллин Ильяс Наилевич, МГУ Мехмат, НИИ Механики МГУ, к.ф.-м.н., с.н.с.

Аннотация: 

Читаемый на Суперкомпьютерной Академии трек нацелен на получение знаний в области решения задач механики сплошной среды (МСС) с использованием свободного программного обеспечения и суперкомпьютерных технологий. Трек включает в себя базовые и тематические лекции, а также практические занятия.

Слушателям будет рассказано о возможностях открытых пакетов Salome/OpenFOAM/Paraview для решения задач МСС.
Особое внимание будет уделено возможностям создания собственного решателя на базе открытого пакета OpenFOAM, решению практических
задач с использованием пакетов Salome/OpenFOAM/Paraview с применением ресурсов вычислительного кластера web-лаборатории UniHUB.

Пререквезиты: знания в области механики сплошной среды (гидродинамика, аэродинамика, многофазные среды и турбулентные течения,
гидроупругость, теория горения), уравнения в частных производных, численные методы решения СЛАУ, методы построения расчетных сеток, основы программирования на C++, ОС Linux.

Подробная информация: 

Лекция: Основные возможности пакетов Salome и Paraview для подготовки расчетной области, сетки, визуализации результатов.

Лекция: Создание простейшей геометрии (цилиндр, сфера, диффузор), построение расчетной сетки, задание граничных условий, конвертация сетки в формат OpenFOAM, подготовка расчетного примера, запуск на счет на кластере, обработка и визуализации расчетов в Paraview. Отдельный материал посвящен возможностям языка Python для написания управляющих скриптов в пакете Salome

Лекция: Особенности сборки и компилляции пакета OpenFOAM. Архитектура пакета OpenFOAM с точки зрения исходного кода. Обзор основных возможностей языка программирования C++. Использование технологий C++ (инкапсуляция, наследование, полиморфизм) в OpenFOAM. Уровни абстракции в OpenFOAM. Основные классы в OpenFOAM (polyMesh, fvMesh, Time, Field, fvPatchField, lduMatrix, fvMatrix, fvc, fvm). Примитивы системного уровня. Представление полей в OpenFOAM. Представление разреженных матриц. Дискретиазция слагаемых в уравнениях. Вопросы использования ресурсов вычислительных кластеров при параллельных вычислениях.

Лекция: рассматриваются уравнения в частных производных эллиптического, парабалического и гипербалического типа. Делается акцент на построение собственных решателей и выбор расчетных схем. Особенности реализации кода (Code styling). Создание собственного решателя. Пример реализации стандартного решателя ScalarTransportFoam. Лабораторная работа: создание собственного решателя myScalarTransportFoam и библиотеки граничного условия. Акцент делается на исходный код решателя на C++.

Лабораторная работа: Создание и компилляция собственного решателя (elliFoam, hyper1Foam, hyper2Foam, parabFoam).

Лабораторная работа: решение задач с использованием нового решателя, обработка результатов, визуализация расчетов в Paraview. Слушатели могут внести изменения в код. Дополнительно слушателям предлагается самостоятельно выбрать и решить 3 тестовые задачи по различным тематикам (аэродинамика, аэроупругость, гидродинамическая устойчивость, многофазные течения, теплообмен, горение, течение со свободной поверхностью).

Тематические лекции: - Численные методы линейной алгебры. Итерационные методы решения СЛАУ в OpenFOAM; - Задачи прикладной аэродинамики (simpleFoam,pisoFoam,rhoCentralFoam) и аэроакустики - Задачи аэроупругости (icoFsiFoam); - Задачи гидродинамической устойчивости (interFoam, compressibleFoam) и задачи со свободной конвекцией (buoyantPimpleFoam, buoyantBoussinesqPimpleFoam); -Течения со свободной поверхностью (решение задач обтекания корабельных тел безграничной жидкостью, моделирование движения судов с учетом свободной поверхности, построение расчетных сеток для судовых поверхностей) - Задачи сопряженного тепломассобмена (chtMultiRegionFoam); - Задачи с горением (fireFoam, reactingFoam); - Многофазные течения (cavitatingFoam, twoPhaseEulerFoam ,bubleFoam). - Оптимизационные задачи газовой динамики (adjointShapeOptimizationFoam); - Особенности реализации класса Pstream для параллельных вычислений в OpenFOAM; - Особенности реализации решателей СЛАУ на CUDA в OpenFOAM;

Продолжительность курса: 32-36 часов. 8-10 лекций, 12-14 лабораторных работ. 5 дней. Учебный курс рассчитан на специалистов в области прикладной математики, механики, физики.

Минимальные знания для слушателей: Механика Сплошной Среды , Уравнения в частных производных , Численные методы, Язык программирования C++ и Python, Параллельное программирование Максимальное количество слушателей: 20

Материалы: