Заседание семинара "Высокопроизводительные вычисления" 30.04.2020 в 11-00. "Код Luthien - 2D моделирование плазмы методом частиц в ячейках. Обзор и перспективы развития.", Берендеев Евгений Андреевич

Cеминар ИВМиМГ СО РАН: 
Высокопроизводительные вычисления
Руководитель семинара: 
д.т.н. Глинский Б.М.
Дата / Время проведения: 
Thursday, 30 April, 2020 - 04:00
Место проведения: 
WEB-семинар по рассылке
Докладчик
Ф.И.О. докладчика: 
Берендеев Евгений Андреевич
Место работы: 
ИВМиМГ СО РАН
Название доклада: 
Код Luthien - 2D моделирование плазмы методом частиц в ячейках. Обзор и перспективы развития.
Аннотация доклада: 

В докладе представляется новый код для моделирования плазмы в 2D геометрии методом частиц в ячейках.

Кинетическая модель плазмы наиболее универсальна и может быть использована при решении широкого круга задач. В то же время решение кинетических уравнений - это достаточно ресурсоёмкая задача, требующая значительных вычислительных ресурсов. Поэтому создание кодов для моделирования плазмы это выбор между эффективным решением конкретной задачи и универсальностью.

Luthien - это комплекс параллельных программ с открытым исходным кодом для CPU, созданный на основе объектно-ориентированного подхода С++. На данный момент реализована поддержка 2D декартовой и цилиндрической геометрии,  возможность задания собственных сортов частиц (что позволяет моделировать сложные многокомпонентные среды), поддержка инжекции лазеров и пучков с возможностью фокусировки. Также реализован ряд методов для моделирования коллективного взаимодействия частиц через столкновения или полевую ионизацию. В качестве основного параллельного алгоритма выбрана двухуровневая декомпозиция - на первом этапе это декомпозиция области, и при необходимости - на втором этапе распределение частиц по процессорам внутри одной подобласти. Использование объектно-ориентированного подхода, базовых классов моделирования, а также уже созданных библиотек алгоритмов позволяет коду Luthien быть достаточно универсальным, иметь возможность добавлять пользователю новые алгоритмы и параметры, в то же время, сохраняя параллельную структуры программы.