Заседание семинара "Высокопроизводительные вычисления" 30.04.2020 в 11-00. "Код Luthien - 2D моделирование плазмы методом частиц в ячейках. Обзор и перспективы развития.", Берендеев Евгений Андреевич
В докладе представляется новый код для моделирования плазмы в 2D геометрии методом частиц в ячейках.
Кинетическая модель плазмы наиболее универсальна и может быть использована при решении широкого круга задач. В то же время решение кинетических уравнений - это достаточно ресурсоёмкая задача, требующая значительных вычислительных ресурсов. Поэтому создание кодов для моделирования плазмы это выбор между эффективным решением конкретной задачи и универсальностью.
Luthien - это комплекс параллельных программ с открытым исходным кодом для CPU, созданный на основе объектно-ориентированного подхода С++. На данный момент реализована поддержка 2D декартовой и цилиндрической геометрии, возможность задания собственных сортов частиц (что позволяет моделировать сложные многокомпонентные среды), поддержка инжекции лазеров и пучков с возможностью фокусировки. Также реализован ряд методов для моделирования коллективного взаимодействия частиц через столкновения или полевую ионизацию. В качестве основного параллельного алгоритма выбрана двухуровневая декомпозиция - на первом этапе это декомпозиция области, и при необходимости - на втором этапе распределение частиц по процессорам внутри одной подобласти. Использование объектно-ориентированного подхода, базовых классов моделирования, а также уже созданных библиотек алгоритмов позволяет коду Luthien быть достаточно универсальным, иметь возможность добавлять пользователю новые алгоритмы и параметры, в то же время, сохраняя параллельную структуры программы.