RMG (программа) - RMG (program)

RMG
RMG DFT Logo.jpg
Стабильный выпуск
2.0
Написано вC / C ++
Операционная системаLinux, Unix, Windows, OS X
ЛицензияGPL
Интернет сайтhttp://www.rmgdft.org/

RMG (Real Space MultiGrid) - это Открытый исходный код теория функционала плотности код электронной структуры распространяется под Стандартная общественная лицензия GNU. Это решает Уравнения Кона-Шэма непосредственно на трехмерной сетке реального пространства без использования функций базисных наборов. RMG обладает высокой масштабируемостью; он был запущен на суперкомпьютерах с тысячами процессорных ядер.

Описание

Основная особенность RMG заключается в том, что он использует сетку реального пространства в качестве основы, а не плоские волны или другие типы функций базового набора. Эта формулировка обеспечивает прямое распараллеливание, поскольку каждому процессору может быть назначена область пространства. Это позволяет избежать необходимости Преобразования Фурье, и делает RMG хорошо масштабируемым. В многосеточный метод используется для решения Уравнение Пуассона и ускорить сходимость. Дискретизация Мерстеллена, которая имеет более короткий диапазон, чем обычно используемая, чем дискретизация центральной разности, используется для представления оператора кинетической энергии. Это снижает стоимость межпроцессорной связи, что выгодно для использования на суперкомпьютерах с массовым параллелизмом.

Декомпозиция домена используется для назначения различных областей пространства отдельным ядрам или узлам ЦП. RMG почти линейно масштабируется до 100 тыс. Процессорных ядер и 20 тыс. Графических процессоров на Cray XK6.

RMG был первоначально разработан в 1993–1994 гг. Университет штата Северная Каролина. Он был написан на C с небольшими частями, находящимися в FORTRAN. Текущая версия использует смесь языков C и C ++. MPI используется для межузловой связи и C ++ 11 потоки для внутриузлового распараллеливания. Другие используемые библиотеки: Lapack, ScaLAPACK, FFTW, libxc и spglib.

RMG работает на ноутбуках, настольных компьютерах, рабочих станциях, кластерах или суперкомпьютерах. Он может работать Linux, Unix, Windows и Mac OS X операционные системы.

Смотрите также