М.П. Галанин, В.В. Лукин, А.С. Родин Интегрированная программная платформа сопровождения вычислительного эксперимента Теметос: архитектура и задачи Новороссийск, Россия Конференция «Научный сервис в сети интернет» 21-26 сентября 2015 года 2 Мотивация Необходимость программной поддержки стандартных этапов математического моделирования: геометрическое (2d, 3d) моделирование расчетной области; дискретизация расчетной области (сетки); задание сценария моделирования (граничные и начальные условия); прохождение расчета – запуск на ЭВМ различных архитектур (в т.ч. параллельных, удаленно, с прохождением очереди); визуализация и постпроцессинг результатов расчетов; хранение версий расчетов с различными параметрами. 3 Мотивация Множество ПО для каждого этапа (CAD, построители сеток, графопостроители и т.д.) Мультифизические расчетные пакеты коммерческие (Ansys, Abaqus, Nastran) развитый интерфейс, протестированные расчетные процедуры; сложность с включением собственных модулей; открытые (OpenFOAM, Salome, Code Athena) широкие возможности настройки «под себя»; слабость при решении нестандартных задач; авторские решение задач требуемого уровня сложности – зависит от автора; нестандартность и отсутствие развитых графических средств для выполнения расчетов. Задача максимально корректного сопровождения моделирования с использованием сложных авторских расчетных программ (солверов). Общий подход к реализации – программная платформа! 4 Требования к платформе Модульность в самом широком понимании – элементами платформы могут становиться независимые авторские солверы. Кроссплатформенный программный комплекс – вычисления выполняются под различными ОС. Мультиплатформенный комплекс – подготовка расчета в оконной среде Windows, расчет на кластере К-100 под управлением CentOS. Расширяемость по набору инструментов и содержательности задач. Универсальность и специализация. Открытые лицензионно-чистые программные технологии. Архитектура платформы: процедурная схема Задание геометрии Блок подготовки входных данных 5 Блок проведения расчета Построение сетки Модуль управления расчетом Задание физических свойств Решатель Задание расчетной области в целом Задание параметров расчета Блок визуализации и анализа Геометрия Сетка Результаты расчета 6 Архитектура: подсистемы Математическая подсистема генерация сеток численный солвер системы ДУ подключаемые к солверу программные библиотеки физических свойств Графическая подсистема 3d или 2d редактор геометрии элементов компоновщик конструкций задание НУ и ГУ визуализация результатов Предметные библиотеки библиотека элементарных областей библиотека расчетных областей библиотека сеток библиотека сценариев моделирования библиотека моделей физических свойств библиотека конфигураций расчетов библиотека результатов расчетов 7 Система предметных библиотек – точка роста платформы Библиотека элементарных областей Библиотека сеток Библиотека моделей физических свойств Библиотека расчетных областей Библиотека сценариев моделирования Библиотека конфигураций расчетов Библиотека результатов расчетов 8 Подробности архитектуры и вопросы разработки Базовые технологии: оконный интерфейс Qt, графическая библиотека VTK. Система библиотек: Стандарты хранения массива данных? Пилот – стандартизованная система файлов, далее – базы данных (SQL). Стандарты описания элементов библиотек? Пилот – избранный набор (VTK, собственные наработки в XML), далее – система внешних подключаемых конвертеров данных под задачу (пример: VTK->STL->Netgen). Модульность: пилот – разделение в исходном коде, далее – система независимо подключаемых модулей QPlugin. Запуск солверов: пилот – локально, далее – удаленно (клиент-сервер или неявное управление через ssh). 9 Пилотная версия Идея платформы возникла в ходе реализации проекта по разработке 2D и 3D версий МКЭ кода для расчета термомеханики твэла. Термомеханический солвер на Fortran – последовательная и OpenMP версии. Графическая оболочка Qt+VTK. Редакторы основных библиотек платформы. 10 Пилотная версия: графическая интерфейс 11 Пилотная версия: геометрический редактор 3D и 2D геометрия в едином представлении Система графики примитивов – векторный редактор Импорт из CAD форматов через STL Библиотека элементарных областей Пилотная версия: редактор сеток 12 Библиотека сеток (XML) Двумерные (четырехугольные) и трехмерные (призмы) сетки Сетки в параметризованных областях Визуальная оценка качества сеток на основе ряда критериев Пилотная версия: редактор библиотеки физических свойств 13 Конфигурация моделей разных физических свойств и процессов Расчетная модель материала на основе внешних программных библиотек Внешнее физическое насыщение термомеханического кода без изменения исходных кодов Один материал может быть представлен несколькими моделями 14 Пилотная версия: редактор конструкций твэлов Создание конструкций из готовых элементов Учет используемой сетки и модели материала для каждого элемента в отдельности Возможность групповой обработки элементов конструкции Библиотека расчетных областей 15 Пилотная версия: редактор конструкций твэлов 16 Пилотная версия: редактор сценариев нагружения Библиотека сценариев моделирования Редактор распределений граничных и начальных условий Импорт данных из форматов существующих кодов. 17 Пилотная версия: редактор конфигурации расчета Выбор моделируемой конструкции и сценария ее моделирования Задание настроек численного метода Тонкая настройка математической модели Визуальный запуск решателя, отладочная информация Библиотека конфигураций расчетов 18 Пилотная версия: блок визуализации результатов 3D, 2D, 1D отображение данных Анимация результатов Исходная и деформированная геометрия конструкции 19 Другие предметные области Магниторотационная неустойчивость в аккреционных дисках протозвезд Вспышки яркости в двойных звездных системах Благодарности 20 Организаторам за приглашение Всем присутствующим за внимание Работа выполнена при поддержке РФФИ (проекты №№ 15-01-03073, 14-29-06086, 14-0131496), а также гранта по поддержке ведущих научных школ НШ-6061.2014.2. Галанин Михаил Павлович galan@keldysh.ru Лукин Владимир Владимирович vvlukin@gmail.com Родин Александр Сергеевич rals@bk.ru