• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

OpenMX

👉Вернуться к списку инструкций

OpenMX (Open source package for Material eXplorer) — это программное обеспечение с открытым исходным кодом для моделирования материалов с использованием метода плотностного функционала (DFT) и линейной комбинации псевдоатомных орбиталей (LCPAO). Программа позволяет рассчитывать электронную структуру, силы, магнитные свойства и динамику молекул, кристаллов и наноструктур, поддерживает спиновые взаимодействия, периодические и непериодические системы, а также параллельные вычисления с использованием MPI.
Официальный сайт: https://www.openmx-square.org

Доступные версии на суперкомпьютере НИУ ВШЭ

module load openmx    # OpenMX версии 3.9

Обновление версий производится по запросу пользователей. 
Тестовые исходные данные расположены на суперкомпьютере в каталоге /opt/software/openmx/v3.9patched/work

Пользователи: Факультет физики, любые подразделения НИУ ВШЭ.

Ключевые особенности

Рис. 1. Пример визуализации расчёта с использованием OpenMX – изосерфисы, визуализированные в XCrySDen:
(a) общая электронная плотность молекулы C₆₀,
(b) HOMO молекулы глицина,
(c) спиновая плотность молекулярного магнита Mn₁₂O₁₂(CH₃COO)₁₆(H₂O)₄.

Возможности
  • Метод DFT (плотностного функционала) — основной подход для моделирования электронной структуры.
  • Базис LCPAO — линейная комбинация псевдоатомных орбиталей, оптимизированная для быстрого и точного расчёта.
  • Геометрическая оптимизация — определение стабильных конфигураций молекул и кристаллов.
  • Ab initio молекулярная динамика (AIMD) — моделирование движения атомов на основе первых принципов.
  • Расчёт плотности состояний (DOS) и зонной структуры — анализ электронных уровней и проводимости.
  • Магнитные и спиновые свойства — поддержка расчётов со спином и спин-орбитальным взаимодействием.
  • Работа с периодическими и непериодическими структурами — молекулы, наноленты, нанотрубки, поверхности и кристаллы.
  • Параллельные вычисления (MPI) — высокая производительность на кластерах и суперкомпьютерах.
Особенности
  • Поддержка разных функционалов обмена-корреляции (LDA, GGA и др.).

  • Возможность задания неполных зарядов и управления зарядовым состоянием системы.

  • Встроенные инструменты для анализа зарядового распределения и орбиталей.

  • Простая настройка входных файлов и скриптов.

  • Открытый исходный код, активное сообщество и документация.

Выполнение расчетов на суперкомпьютере

Для выполнения расчёта на суперкомпьютере необходимо подготовить скрипт-файл для очереди задач с запросом требуемых ресурсов (см. общую инструкцию по запуску задач на суперкомпьютере).

Пример запуска на CPU

В качестве примера, выполним моделирование для тестовых данных, расположенных в /opt/software/openmx/v3.9patched/example.dat.
Для удобства, предварительно создадим тестовую директорию, перейдем в неё и скопируем файл с тестовыми данными:

cd ~
mkdir openmx_test
cd openmx_test
cp /opt/software/openmx/v3.9patched/example.dat .

Для постановки задачи в очередь сформируем sbatch-скрипт openmx.sbatch

#!/bin/bash
#SBATCH --job-name=openmx                         # Название задачи
#SBATCH --time=01:00:00                           # Максимальное время выполнения (1 час)
#SBATCH --error=openmx-%j.err                     # Файл для вывода ошибок
#SBATCH --output=openmx-%j.log                    # Файл для вывода результатов
#SBATCH --ntasks 8                               # Количество MPI процессов = ядер CPU.
#SBATCH --mail-user=ваша_почта                    # Укажите ваш email для отправки уведомлений
#SBATCH --mail-type=END,FAIL                      # События, требующие уведомления

# Деактивация окружения
source deactivate

# Очистка модулей
module purge

# Загрузка модуля OpenMX
module load openmx

# Команда запуска
mpirun -np $SLURM_NTASKS openmx example.dat

# Рекомендуемая пропорция ресурсов на cHARISMa:
# - запуск на узлах типов D, A, B на 8-24 ядрах CPU
# GPU данной программой не поддерживается.
# Отслеживайте загрузку CPU через: https://lk.hpc.hse.ru

Для постановки задачи в очередь необходимо выполнить команду sbatch openmx.sbatch. Посмотреть состояние своих задач можно с помощью команды mj. Результат выполнения скрипта будет сохранён в файл openmx-00000.log (где 00000 – номер задачи в очереди)Сообщения, выводимые в процессе работы OpenMX, будут записаны в файл openmx-00000.err (где 00000 – номер задачи в очереди).Дополнительная информация


 

Нашли опечатку?
Выделите её, нажмите Ctrl+Enter и отправьте нам уведомление. Спасибо за участие!
Сервис предназначен только для отправки сообщений об орфографических и пунктуационных ошибках.