Автор: Федоров Вячеслав Васильевич, м.н.с. ИЯФ им. Г. И. Будкера СО РАН.
Электронное пособие по нелинейной динамике пучков в ускорителях заряженных частиц: параметрический резонанс и адиабатические инварианты, сдвиги бетатронных частот, нелинейные резонансные кривые и ионные эффекты. Опубликовано на https://phys-dev.github.io/nonlinear-dynamics-book/.
Каждая задача курса — отдельная тетрадь Jupyter: условие, аналитическое решение с выводом формул, численный пример на NumPy, SciPy и Matplotlib и графики, которые пересчитываются с другими параметрами. Тетради выполняются при сборке, поэтому выложенный сайт всегда содержит актуальные результаты расчётов.
Часть I. Осциллятор с меняющейся частотой (задачи 1–3): экспоненциально растущая частота и решение через функции Бесселя, транспортная матрица, адиабатический инвариант, теория возмущений первого порядка, экспоненциальный рост амплитуды при точном параметрическом резонансе.
Часть II. Сдвиги бетатронных частот (задачи 4–5): эволюция бетатронных частот при выключенном ВЧ через хроматизм и потери энергии, сдвиг частоты в четырёхпучковой скомпенсированной схеме при разъезде компенсирующих пучков.
Часть III. Нелинейные резонансы и ионные эффекты (задачи 6–8): резонансная кривая при нелинейном взаимодействии пучка и частицы через усреднённый гамильтониан, сдвиг частоты от ионного облака вдоль сгустка, эволюция резонансных кривых вдоль поезда сгустков.
Полный список задач со ссылками — в intro.md и на титульной странице сайта.
intro.md титульная страница пособия с оглавлением
_toc.yml оглавление: три части по задачам курса
_config.yml настройки сборки
notebooks/*.ipynb тетради, по одной на задачу: 01_..., 02_..., ...
Makefile сборка, очистка и локальный просмотр
requirements.txt зависимости для сборки и выполнения тетрадей
.github/workflows/ публикация на GitHub Pages
- Положите тетрадь в
notebooks/— имя вида09_short_english_name.ipynb, номер совпадает с номером задачи. - Впишите файл в нужную часть
_toc.yml; заголовок для сайдбара берётся из первой строки тетради, нумерация глав сквозная. - Добавьте строку в таблицу содержания в
intro.md. - Соберите:
make build.
Тетрадь должна выполняться от начала до конца без ошибок — сборка настроена так, что ошибка в ячейке останавливает публикацию.
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
make buildГотовый сайт окажется в _build/html/index.html. Тетради кэшируются: повторная
сборка выполняет только изменённые. Чтобы пересчитать всё заново:
make rebuildПосмотреть сайт локально: make serve (откроется на http://localhost:8321).
Править тетради удобно в JupyterLab: .venv/bin/jupyter lab.
Сайт собирается и публикуется автоматически при каждом push в main
(см. .github/workflows/deploy.yml) и доступен по адресу
https://phys-dev.github.io/nonlinear-dynamics-book/.
Если публикация настраивается заново, в настройках репозитория нужно один раз выбрать Settings → Pages → Source: GitHub Actions.
Условия использования — в файле LICENSE.md.