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

Elegant

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


Elegant (ELEctron Generation ANd Tracking) —
программное обеспечение, разработанное Аргоннской национальной лабораторией, предназначенное для моделирования динамики электронных пучков в ускорителях частиц. Программа используется для симуляции колец, линейных ускорителей и систем транспортировки пучков. Основные функции и возможности Elegant включают моделирование траекторий электронов, анализ устойчивости пучка, оптимизацию параметров ускорителя, симуляцию линейных и нелинейных эффектов.
Официальный сайт: https://ops.aps.anl.gov/elegant.html

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

module load Elegant/2023.4.0    # Elegant версии 2023.4.0

Обновление версий производится по запросу пользователей.
Тестовые исходные данные расположены на суперкомпьютере в каталоге /opt/software/elegant/2023.4.0/examples/

Пользователи: Научно-учебная лаборатория методов анализа больших данных LAMBDA, Институт искусственного интеллекта и цифровых наук, любые подразделения НИУ ВШЭ.

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

elegant gif

Рис. 1. Пример визуализации расчёта с использованием Elegant – распределение углов рассеяния (xp, yp) для элемента типа bend, полученное с помощью команды elastic_scattering

Моделирование и симуляции
  • трекинг колец, линаков и транспортных линий: возможность моделирования движения электронов по заданным траекториям,
  • вычисление s-зависимых и конечных свойств: включает в себя расчет моментов пучка, параметров Твисса, матричных элементов, траекторий и орбит, матриц отклика и других характеристик,
  • генерация и загрузка случайных ошибок: позволяет симулировать и корректировать ошибки, влияющие на траекторию и характеристики пучка,
  • оптимизация параметров: возможность сканирования параметров в многомерных петлях и изменения значений параметров в определениях решетки.
Физические возможности
  • динамика одиночных частиц: моделирование магнитных элементов (диполей, квадруполей, секступолей и т.д.), стоячих и путешествующих волновых рф-камер, рассеяния на материалах и другими факторами,
  • коллективная динамика: включает учет коротковолновых и длинноволновых возмущений, когерентного синхротронного излучения, продольного и поперечного пространственного заряда, а также внутреннего и Тушековского рассеяния.
Кооперативные возможности
  • взаимодействие с другими программами: использование файлов SDDS (Self-Describing Data Sets) для обмена данными с другими программами, такими как ASTRA, IMPACT и TRACK,
  • анализ фазового пространства: вычисление параметров Твисса, моментов и других характеристик,
  • обработка данных: использование общего набора инструментов SDDS для постобработки и графического отображения данных, включая построение графиков, фильтрацию, сортировку, анализ частот и фиттинг.

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

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

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

В качестве примера, выполним моделирование для тестовых данных, расположенных в /opt/software/elegant/2023.4.0/examples/parallel/LMA. Для удобства, предварительно скопируем эту директорию в рабочую и перейдем в неё:

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 – номер задачи в очереди).

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


 

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