Стрижак Сергей Владимирович
Дается обзор возможностей открытых пакетов для решения задач МСС (механики сплошной среды). Рассматриваются возможности операционной системы CAELinux, котороя включает в себя многие открытые пакеты (Salome, Engrid, Code-Saturne,Code-Aster, OpenFOAM, Elmer, Paraview и другие). Далее рассказывается о возможностях web-лаборатории UniHUB (www.unihub.ru) и особенностях настройки окружения для работы с пакетами Salome/OpenFOAM/Paraview. Таким образом, слушатели сразу получают доступ к рабочей консоли. Одна из презентаций посвящена истории создания пакета OpenFOAM. Проводится сравнение двух различных направлений (основная и расширенная версии) в развитии пакета OpenFOAM. Рассматриваются основные возможности пакета OpenFOAM для решения задач МСС. Разбирается структура каталогов. Рассматривается метод контрольного объема, который является основой решения уравнений в частных производных. Рассматриваются академические и практические задачи, решенные с помощью OpenFOAM. Проводится обзор стандартных решателей в OpenFOAM.
На примере тестовых задач (течение в каверне в движущейся крышкой (cavity), обтекание обратного уступа (pitzDaily), расчет течения в комнате с подогревом (hotRoom), расчет обрушения столба жидкости воды (damBreak), расчет турбулентного пламени, построение адаптивной расчетной сетки (motorBike) рассматриваются особенности создания расчетного примера.
Лекторы демонстрируют выполнение готовых примеров (tutorials). Лабораторные работы включают в себя 4-6 готовых примеров. Слушатели скачивают примеры из репозитория UniHUB в свои домашние директории и выполняют примеры на вычислительном кластере.
Описываются основные возможности пакетов Salome и Paraview для подготовки расчетной области и сетки. Проводится демонстрация возможностей пакетов с использованием web- лаборатории UniHub. Отдельный материал посвящен возможностям языка Python для написания управляющих скриптов для Salome. Лектором будут продемонстрированы тестовые примеры: создание простейшей геометрии (цилиндр, сфера, канал), построение расчетной сетки, задание граничных условий, конвертация сетки в формат OpenFOAM, подготовка расчетного примера, запуск на счет на кластере, обработка и визуализации расчетов в Paraview.
Слушатели под руководством преподавателей выполнют лабораторные работы. Цель практических занятий – выполенение примера с использованием Salome/OpenFOAM/Paraview. Подготовленные 4 примеры с различными исходными данными скачиваются из репозитория UniHUB.
Планируются тематические лекции:
Особенности сборки и компилляции пакета OpenFOAM. Архитектура пакета OpenFOAM с точки зрения исходного кода. Обзор основных возможностей языка программирования C++. Использование технологий C++ (инкапсуляция, наследование, полиморфизм) в OpenFOAM. Уровни абстракции в OpenFOAM. Основные классы в OpenFOAM (polyMesh, fvMesh, Time, Field, fvPatchField, lduMatrix, fvMatrix, fvc, fvm). Примитивы системного уровня. Представление полей в OpenFOAM. Представление разреженных матриц. Дискретиазция слагаемых в уравнениях. Рассматриваются вопросы использования ресурсов вычислительных кластеров при параллельных вычислениях. В отдельной лекции рассматриваются уравнения в частных производных эллиптического, парабалического и гипербалического типа. Делается акцент на построение собственных решателей и выбор расчетных схем.
Проведение лабораторных работ:
Планируются тематические лекции:
Особенности реализации кода (Code styling). Создание собственного решателя. Пример реализации стандартного решателя ScalarTransportFoam. Лабораторная работа: создание собственного решателя myScalarTransportFoam. Слушатели выполняют лабараторную работу. Акцент делается на исходный код решателя на C++. Дополнительно выполняются лабораторные работы.
Слушателям предлагается самостоятельно выбрать и решить 3 тестовые задачи по различным тематикам (аэродинамика, аэроупругость, гидродинамическая устойчивость, многофазные течения, теплообмен, горение, течение со свободной поверхностью). Тестовые примеры будут доступны для скачивания из репозитории UniHUB.
Планируются тематические лекции:
Рассматриваются задачи и проекты слушателей. Проводится совместное обсуждение.
Планируются тематические лекции:
Завершение учебного курса. Подведение итогов.
Механика сплошной среды, уравнения в частных производных , численные методы, языки программирования C++ и Python.
Максимальное число участников: 24