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

Quantum ESPRESSO

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

Quantum ESPRESSO - это пакет программ с открытым исходным кодом для ab initio расчетов электронной структуры и моделирования материалов.

Официальный сайт: https://www.quantum-espresso.org/
 

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

module load quantumespresso/7.5     # Универсальная сборка для всех типов GPU кластера (рекомендуется)
module load quantumespresso/7.5-cpu # CPU-only версия для небольших задач, когда все GPU заняты

Обновление версий производится по запросу пользователей.
Файлы псевдопотенциалов SSSP (UPF) доступны в каталоге:

cd /opt/software/quantum_espresso/SSSP_1.1.2_PBE_efficiency/

Примеры входных файлов доступны в каталоге:

cd /opt/software/quantum_espresso/examples/

Пользователи: Международная лаборатория Суперкомпьютерного атомистического моделирования и многомасштабного анализа, любые подразделения НИУ ВШЭ

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

Подготовьте скрипт-файл для очереди задач (см. инструкцию по запуску задач на суперкомпьютере и продвинутую инструкцию по запуску), или же воспользуйтесь генератором sbatch-файлов .

Sbatch-файл qe.sbatch для запуска на GPU:

#!/bin/bash #SBATCH --job-name="QuantumEspresso" # Название задачи
#SBATCH --time=0-01:00 # Лимит времени (ДД-ЧЧ:ММ). Чем меньше лимит, тем раньше произойдет запуск.
#SBATCH --gpus=2        # Количество GPU
#SBATCH --ntasks=2      # Количество ядер CPU (должно быть равно количеству GPU)
#SBATCH --nodes=1       # Все GPU и CPU будут находиться на одном вычислительном узле.
#SBATCH --constraint="type_a|type_b|type_c" # Предпочтительные типы вычислительных узлов.
#SBATCH --mail-user=ваша_почта  # Email для отправки уведомлений (если нужно). 
#SBATCH --mail-type=END,FAIL    # События, требующие уведомления.
module purge  # Выгружаем все модули module load quantumespresso/7.5 # Загрузка модуля QuantumEspresso.
# Запуск расчета: mpirun --bind-to none -np ${SLURM_NTASKS} pw.x -nk ${SLURM_NTASKS} -in grir443.in
# Рекомендуемые параметры запуска Quantum Espresso с GPU:
# 1 GPU V100 и 1 ядро CPU,
# 2 GPU V100 и 2 ядра CPU,
# 4 GPU V100 и 4 ядра CPU.
# Как можно больше заполняйте память GPU. Мониторьте: https://lk.hpc.hse.ru/

Если все GPU заняты, Вы можете запускать задачи QuantumEspresso на центральных процессорах вычислительных узлов. Задача, запущенная на 24 ядрах без ускорителя будует работать примерно в 3 раза дольше, чем задача, запущенная на 1CPU + 1GPU, однако, для коротких и учебных задач это может не иметь большой разницы.

Для постановки задачи в очередь запустите команду:

sbatch qe.sbatch

Если вы зарегестрированы в нескольких проектах на суперкомпьютере, нужно указать проект, к которому относится этот расчет:

sbatch -A ID_проекта qe.sbatch

Для отслеживания текущих задач можете воспользоваться командой mj или mj --exp

Если вам нужно использовать свои файлы псевдопотенциалов, вы можете сохранить их в директорию, из которой будете запускать расчеты и добавить в начало input-файла следующие строчки:

&CONTROL pseudo_dir = '.' /

Подробнее про input-файлы для PWscf вы можете узнать на официальном сайте: https://www.quantum-espresso.org/Doc/INPUT_PW.html

Thermo_pw

Thermo_pw - надстройка над Quantum ESPRESSO для автоматизированного расчёта свойств материалов. Использует рутины QE как вычислительное ядро, но сам организует многошаговые расчёты: там, где вручную нужна цепочка pw.x → ph.x → q2r.x → matdyn.x с ручной сборкой промежуточных результатов, thermo_pw.x выполняет её одной задачей и сразу формирует готовые к публикации графики.

Что позволяет рассчитать:

  • температурно-зависимые упругие константы (квазигармоническое приближение);
  • термодинамические свойства: тепловое расширение, теплоёмкость, свободную энергию, параметры Грюнайзена;
  • фононные дисперсии и плотность фононных состояний;
  • зонные структуры с классификацией состояний по симметрии, поверхностные состояния;
  • спектры EELS и оптические свойства.

Кому полезен: исследователям, рассчитывающим термодинамические и упругие свойства кристаллов при конечных температурах и давлениях — задачи физики твёрдого тела и материаловедения. Для разового SCF-расчёта или одиночного фонона достаточно обычных pw.x и ph.x.

Официальный сайт: https://dalcorso.github.io/thermo_pw/

module load quantumespresso/7.5     # thermo_pw.x входит в состав модуля

Установлена версия thermo_pw 2.2.0, собранная в связке с QE 7.5. Версии thermo_pw и Quantum ESPRESSO жёстко связаны между собой: с другими версиями QE данная сборка несовместима.

Запуск расчётов

Основное отличие от pw.x — параллелизм по образам (images, ключ -ni). Thermo_pw распределяет независимые геометрии и q-точки между образами и считает их асинхронно, поэтому количество MPI-процессов должно нацело делиться на число образов.

#!/bin/bash
#SBATCH --job-name="thermo_pw"
#SBATCH --time=0-04:00          # Лимит времени (ДД-ЧЧ:ММ)
#SBATCH --gpus=4                # Количество GPU
#SBATCH --ntasks=4              # Количество ядер CPU (должно быть равно количеству GPU)
#SBATCH --nodes=1               # Все GPU и CPU на одном вычислительном узле
#SBATCH --constraint="type_a|type_b|type_c" # Предпочтительные типы вычислительных узлов

module purge                    # Выгружаем все модули
module load quantumespresso/7.5-tpw # Загрузка модуля Quantum ESPRESSO

# Запуск расчета:
# -ni 2 — число образов; ${SLURM_NTASKS} должно делиться на него нацело
mpirun --bind-to none -np ${SLURM_NTASKS} thermo_pw.x -ni 2 -in thermo.in

Постановка задачи в очередь выполняется так же, как для остальных расчётов Quantum ESPRESSO:

sbatch thermo_pw.sbatch

Примеры входных файлов thermo_pw доступны в каталоге:

cd /opt/software/quantum_espresso/thermo_pw/
  • examples/ — демонстрация возможностей thermo_pw. Примеры намеренно сделаны быстрыми и не являются сошедшимися по точности;
  • inputs/ — более реалистичные входные файлы, приближенные к практическим расчётам.

Скрипты примеров записывают результаты рядом с собой, поэтому перед запуском скопируйте нужный пример в свой рабочий каталог:

cp -r /opt/software/quantum_espresso/thermo_pw/examples/example01 ~/
cd ~/example01

Особенности работы

  • Очищайте каталоги результатов между запусками. Thermo_pw переиспользует содержимое outdir и каталогов results, dynamical_matrices, therm_files, restart. Повторный запуск поверх результатов предыдущего расчёта — наиболее частая причина непонятных ошибок и пропущенных q-точек.
  • GPU-ускорение частичное. На GPU вынесена не вся функциональность, часть шагов выполняется на центральных процессорах. Наибольший выигрыш даёт опция many_k для металлов с небольшими элементарными ячейками.
  • Для построения графиков используется gnuplot, для изображений зоны Бриллюэна — asymptote.
  • Динамические матрицы сохраняйте в формате .xml (указав расширение в переменной fildyn) — иначе не работает анализ симметрии колебательных мод.

Документация: https://people.sissa.it/dalcorso/thermo_pw/user_guide/index.html
Краткий туториал: https://people.sissa.it/dalcorso/thermo_pw/tutorial/tutorial.html

Дополнительная информация

Для более подробной информации о работе с пакетом можете обратиться к официальным ресурсам Quantum ESPRESSO.

Руководства (тут вы можете найти примеры input-файлов для PWscf): https://www.quantum-espresso.org/tutorials/
Документация: https://www.quantum-espresso.org/documentation/
FAQ: https://www.quantum-espresso.org/faq/

Полезные ссылки


 

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