Elegant
👉Вернуться к списку инструкций
Elegant (ELEctron Generation ANd Tracking) — программное обеспечение, разработанное Аргоннской национальной лабораторией, предназначенное для моделирования динамики электронных пучков в ускорителях частиц. Программа используется для симуляции колец, линейных ускорителей и систем транспортировки пучков. Основные функции и возможности Elegant включают моделирование траекторий электронов, анализ устойчивости пучка, оптимизацию параметров ускорителя, симуляцию линейных и нелинейных эффектов.
Официальный сайт: https://ops.aps.anl.gov/elegant.html
Доступные версии на суперкомпьютере НИУ ВШЭ
module load Elegant/2023.4.0 # Elegant версии 2023.4.0
Обновление версий производится по запросу пользователей.
Тестовые исходные данные расположены на суперкомпьютере в каталоге
Пользователи: Научно-учебная лаборатория методов анализа больших данных LAMBDA, Институт искусственного интеллекта и цифровых наук, любые подразделения НИУ ВШЭ.
Ключевые особенности
.gif)
Рис. 1. Пример визуализации расчёта с использованием Elegant – распределение углов рассеяния (xp, yp) для элемента типа bend, полученное с помощью команды elastic_scattering
Моделирование и симуляции- трекинг колец, линаков и транспортных линий: возможность моделирования движения электронов по заданным траекториям,
- вычисление s-зависимых и конечных свойств: включает в себя расчет моментов пучка, параметров Твисса, матричных элементов, траекторий и орбит, матриц отклика и других характеристик,
- генерация и загрузка случайных ошибок: позволяет симулировать и корректировать ошибки, влияющие на траекторию и характеристики пучка,
- оптимизация параметров: возможность сканирования параметров в многомерных петлях и изменения значений параметров в определениях решетки.
- динамика одиночных частиц: моделирование магнитных элементов (диполей, квадруполей, секступолей и т.д.), стоячих и путешествующих волновых рф-камер, рассеяния на материалах и другими факторами,
- коллективная динамика: включает учет коротковолновых и длинноволновых возмущений, когерентного синхротронного излучения, продольного и поперечного пространственного заряда, а также внутреннего и Тушековского рассеяния.
- взаимодействие с другими программами: использование файлов SDDS (Self-Describing Data Sets) для обмена данными с другими программами, такими как ASTRA, IMPACT и TRACK,
- анализ фазового пространства: вычисление параметров Твисса, моментов и других характеристик,
- обработка данных: использование общего набора инструментов SDDS для постобработки и графического отображения данных, включая построение графиков, фильтрацию, сортировку, анализ частот и фиттинг.
Выполнение расчетов на суперкомпьютере
Для выполнения расчёта на суперкомпьютере необходимо подготовить скрипт-файл для очереди задач с запросом требуемых ресурсов (см. общую инструкцию по запуску задач на суперкомпьютере).
Пример запуска на CPU
В качестве примера, выполним моделирование для тестовых данных, расположенных в
. Для удобства, предварительно скопируем эту директорию в рабочую и перейдем в неё:cp -r /opt/software/elegant/2023.4.0/examples/parallel/LMA/ ~/
cd ~/LMA
Для постановки задачи в очередь сформируем sbatch-скрипт elegant.sbatch
#!/bin/bash #SBATCH --job-name=elegant # Название задачи #SBATCH --time=01:00:00 # Максимальное время выполнения (1 час) #SBATCH --error=elegant-%j.err # Файл для вывода ошибок #SBATCH --output=elegant-%j.log # Файл для вывода результатов #SBATCH --ntasks 72 # Количество MPI процессов = ядер CPU.
#SBATCH --mail-user=ваша_почта # Укажите ваш email для отправки уведомлений #SBATCH --mail-type=END,FAIL # События, требующие уведомления
# Деактивация окружения
source deactivate
# Очистка модулей
module purge # Загрузка модуля Elegant module load Elegant/2023.4.0 # Команда запуска
# Расчёт данного конкретного примера производится в два этапа srun Pelegant run0.ele srun Pelegant run1.ele
# Рекомендуемая пропорция ресурсов на cHARISMa:
# - запуск на узлах типов D, A, B, C на 24-136 ядрах CPU
# Программа работает довольно хорошо даже при неравномерном разделении по узлам кластера,
# поэтому, для ускорения запуска, в скрипте нет ограничений по сколько ядер и на каких узлах использовать.
# Отслеживайте загрузку CPU через: https://lk.hpc.hse.ru
Для постановки задачи в очередь необходимо выполнить команду sbatch elegant.sbatch. Посмотреть состояние своих задач можно с помощью команды mj. Результат выполнения скрипта будет сохранён в файл elegant-00000.log (где 00000 – номер задачи в очереди). Сообщения, выводимые в процессе работы Elegant, будут записаны в файл elegant-00000.err (где 00000 – номер задачи в очереди).
Дополнительная информация
- Документация Elegant
- Официальная инструкция по использованию Elegant
- Инструкция по работе с системой мониторинга эффективности HPC TaskMaster
Нашли опечатку?
Выделите её, нажмите Ctrl+Enter и отправьте нам уведомление. Спасибо за участие!
Сервис предназначен только для отправки сообщений об орфографических и пунктуационных ошибках.