Skip to content

Repository files navigation

Нелинейная динамика в ускорителях — электронное пособие

Автор: Федоров Вячеслав Васильевич, м.н.с. ИЯФ им. Г. И. Будкера СО РАН.

Электронное пособие по нелинейной динамике пучков в ускорителях заряженных частиц: параметрический резонанс и адиабатические инварианты, сдвиги бетатронных частот, нелинейные резонансные кривые и ионные эффекты. Опубликовано на 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

Как добавить тетрадь

  1. Положите тетрадь в notebooks/ — имя вида 09_short_english_name.ipynb, номер совпадает с номером задачи.
  2. Впишите файл в нужную часть _toc.yml; заголовок для сайдбара берётся из первой строки тетради, нумерация глав сквозная.
  3. Добавьте строку в таблицу содержания в intro.md.
  4. Соберите: 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.

About

Нелинейная динамика в ускорителях

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages