Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions M3_report/conclusion.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
\section{Заключение}

В работе реализовано численное моделирование движения заряженной частицы в магнитной ловушке, образованной двумя соосными токовыми кольцами.

\textbf{Основные результаты:}

\begin{enumerate}
\item \textbf{Вычисление магнитного поля}
\begin{itemize}
\item Реализован расчёт поля кольца с током через эллиптические интегралы
\item Построена картина силовых линий в меридиональной плоскости
\item Подтверждена структура «магнитного зеркала»: максимумы поля у колец и минимум в центре
\end{itemize}

\item \textbf{Моделирование траекторий}
\begin{itemize}
\item Реализован интегратор РК4 для уравнений движения в поле Лоренца
\item Сохранение кинетической энергии подтверждает корректность алгоритма
\item Визуализированы захваченные и транзитные траектории
\end{itemize}

\item \textbf{Условия удержания}
\begin{itemize}
\item Численно подтверждено существование критического начального угла скорости
\item Доля захваченных частиц растёт при увеличении пробочного отношения $R_m$
\end{itemize}
\end{enumerate}

\subsection{Физический смысл}

Магнитная ловушка удерживает частицы за счёт эффекта магнитного зеркала: у кольца поле сильнее, и частица, летящая к нему, «разворачивается» обратно. Частицы, летящие почти вдоль оси, зеркало не останавливает --- они вылетают через торцы ловушки.

Именно по этому принципу работают реальные термоядерные установки типа «пробкотрон».
53 changes: 53 additions & 0 deletions M3_report/intro.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
\newpage

\section{Введение}

\Task Два одинаковых кольца с током расположены в параллельных плоскостях, токи направлены в одну сторону. В пространстве между кольцами образуется магнитная ловушка --- область, способная удерживать заряженные частицы. Такие устройства используются, например, для удержания горячей термоядерной плазмы. Необходимо реализовать алгоритм расчёта траектории пробного заряда в такой ловушке.

\Goal
\begin{enumerate}
\item Вычислить магнитное поле системы двух токовых колец в произвольной точке пространства
\item Реализовать численное интегрирование уравнений движения заряженной частицы
\item Визуализировать траектории частиц и картину магнитного поля
\item Исследовать, при каких начальных условиях частица удерживается в ловушке
\end{enumerate}

\newpage
\section{Физическая постановка задачи}

Рассматриваются два одинаковых круговых витка с током, расположенных симметрично:

\[
\text{Кольцо 1:} \quad z = +d/2, \quad \text{радиус } R, \quad \text{ток } I
\]
\[
\text{Кольцо 2:} \quad z = -d/2, \quad \text{радиус } R, \quad \text{ток } I
\]

Токи в обоих кольцах текут в одном направлении. Пробный заряд $q$ с массой $m$ движется в магнитном поле этой системы.

\textbf{Уравнение движения:}

На движущийся заряд действует сила Лоренца:
\[
\vec{F} = q\,\vec{v} \times \vec{B}(\vec{r})
\]

Второй закон Ньютона даёт:
\[
m\,\ddot{\vec{r}} = q\,\dot{\vec{r}} \times \vec{B}(\vec{r})
\]

\textbf{Важное свойство:} сила Лоренца всегда перпендикулярна скорости, поэтому она не совершает работы. Это означает, что модуль скорости (и кинетическая энергия) частицы не изменяется:
\[
|\vec{v}| = \text{const}
\]

\textbf{Параметры системы:}
\begin{itemize}
\item $\mu_0 = 4\pi \times 10^{-7}$ Гн/м --- магнитная постоянная
\item Радиус колец $R$ и расстояние между ними $d$
\item Заряд $q$ и масса $m$ пробной частицы
\end{itemize}

\newpage
17 changes: 17 additions & 0 deletions M3_report/main.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
\input{preamble}

\begin{document}

\input{title}
\pagestyle{main}
{
\centering
\tableofcontents
}
\input{intro}
\input{models/models}
\input{numerical_methods}
\input{results}
\input{conclusion}

\end{document}
25 changes: 25 additions & 0 deletions M3_report/models/lorentz_motion.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
\subsection{Движение заряженной частицы в магнитном поле}

\subsubsection{Уравнения движения}

Запишем уравнение $m\ddot{\vec{r}} = q\,\vec{v} \times \vec{B}$ как систему ОДУ первого порядка. Обозначим $\vec{r} = (x, y, z)$, $\vec{v} = (v_x, v_y, v_z)$:

\[
\begin{cases}
\dot{x} = v_x, \quad \dot{y} = v_y, \quad \dot{z} = v_z \\[0.5em]
\dot{v}_x = \dfrac{q}{m}(v_y B_z - v_z B_y) \\[0.5em]
\dot{v}_y = \dfrac{q}{m}(v_z B_x - v_x B_z) \\[0.5em]
\dot{v}_z = \dfrac{q}{m}(v_x B_y - v_y B_x)
\end{cases}
\]

Магнитное поле $\vec{B} = (B_x, B_y, B_z)$ вычисляется в текущей точке $\vec{r}(t)$.

\subsubsection{Сохранение энергии}

Поскольку сила Лоренца не совершает работы:
\[
\mathcal{E}_k = \frac{m|\vec{v}|^2}{2} = \text{const}
\]

Это свойство используется как проверка точности: если $|\vec{v}|$ изменяется, значит шаг интегрирования слишком велик.
43 changes: 43 additions & 0 deletions M3_report/models/magnetic_field.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
\subsection{Магнитное поле токового кольца}

Поле прямого проводника или бесконечной катушки выражается простыми формулами, но для \textit{кольца} аналитического выражения в замкнутой форме не существует. Поле вычисляется через специальные функции --- полные эллиптические интегралы $K(k)$ и $E(k)$.

\subsubsection{Поле одного кольца}

Рассмотрим кольцо радиуса $R$ с током $I$ в плоскости $z = z_0$. Из-за осевой симметрии удобно использовать цилиндрические координаты $(\rho, z)$, где $\rho = \sqrt{x^2 + y^2}$. Ненулевые компоненты поля:

\[
B_\rho = \frac{\mu_0 I}{2\pi} \cdot \frac{z - z_0}{\rho \sqrt{(\rho + R)^2 + (z-z_0)^2}}
\left[ -K(k) + \frac{R^2 + \rho^2 + (z-z_0)^2}{(R - \rho)^2 + (z-z_0)^2} E(k) \right]
\]

\[
B_z = \frac{\mu_0 I}{2\pi} \cdot \frac{1}{\sqrt{(\rho + R)^2 + (z-z_0)^2}}
\left[ K(k) - \frac{R^2 - \rho^2 - (z-z_0)^2}{(R - \rho)^2 + (z-z_0)^2} E(k) \right]
\]

где параметр $k$:
\[
k^2 = \frac{4R\rho}{(\rho + R)^2 + (z - z_0)^2}
\]

Прямо на оси ($\rho = 0$) формула упрощается до знакомого вида:
\[
B_z\big|_{\rho=0} = \frac{\mu_0 I R^2}{2\left[R^2 + (z - z_0)^2\right]^{3/2}}
\]

\subsubsection{Суммарное поле двух колец}

Поле системы двух колец --- это просто сумма полей каждого из них (принцип суперпозиции):
\[
\vec{B}(\vec{r}) = \vec{B}^{(1)}(\vec{r}) + \vec{B}^{(2)}(\vec{r})
\]

\subsubsection{Почему это ловушка?}

При одинаковых направлениях токов поле вблизи каждого кольца усиливается, а в центре между ними --- ослабевает. Отношение максимального поля к минимальному называется \textbf{пробочным отношением}:
\[
R_m = \frac{B_{\max}}{B_{\min}} > 1
\]

Именно это неравенство и обеспечивает удержание частиц.
8 changes: 8 additions & 0 deletions M3_report/models/models.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
\section{Физические модели}

\input{models/magnetic_field}
\newpage
\input{models/lorentz_motion}
\newpage
\input{models/trapping_condition}
\newpage
17 changes: 17 additions & 0 deletions M3_report/models/trapping_condition.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
\subsection{Условия удержания в магнитной ловушке}

\subsubsection{Почему частица может отразиться?}

Когда частица движется в сторону более сильного поля (к кольцу), её поперечная скорость растёт, а продольная убывает --- так как $|\vec{v}|$ сохраняется. Если поле достаточно сильное, продольная скорость обращается в ноль и частица отражается назад --- как мяч, брошенный вверх.

Это и есть \textbf{эффект магнитного зеркала}.

\subsubsection{Условие захвата}

Частица \textbf{захватывается} ловушкой, если она отражается от обоих колец. Это зависит от соотношения продольной и поперечной составляющих начальной скорости. Частицы, летящие почти вдоль оси (преимущественно продольная скорость), пролетают сквозь зеркала --- они \textbf{теряются}.

Ключевой параметр --- \textbf{пробочное отношение} $R_m = B_{\max}/B_{\min}$: чем оно больше, тем более широкий диапазон начальных условий приводит к захвату.

\subsubsection{Статистика траекторий}

Для изучения захвата проводится серия расчётов со случайными начальными условиями. Для каждой траектории определяется исход: \textbf{захвачена} или \textbf{потеряна}. По результатам строится зависимость доли захваченных частиц от начального направления скорости и пробочного отношения $R_m$.
73 changes: 73 additions & 0 deletions M3_report/numerical_methods.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
\section{Численные методы решения}

\subsection{Вычисление магнитного поля}

\subsubsection{Перевод координат}

Для вычисления поля кольца в точке $(x, y, z)$ сначала находим цилиндрический радиус:
\[
\rho = \sqrt{x^2 + y^2}
\]

Затем по формулам из раздела 2 находим компоненты $(B_\rho, B_z)$ и переводим в декартовы:
\[
B_x = B_\rho \cdot \frac{x}{\rho}, \qquad B_y = B_\rho \cdot \frac{y}{\rho}
\]

При $\rho = 0$ (точка на оси) используется упрощённая осевая формула, чтобы не делить на ноль.

\subsubsection{Эллиптические интегралы}

Значения $K(k)$ и $E(k)$ вычисляются встроенными функциями \texttt{scipy.special.ellipk} и \texttt{scipy.special.ellipe}.

\subsection{Интегрирование уравнений движения}

\subsubsection{Метод Рунге--Кутты 4-го порядка (РК4)}

Система ОДУ решается методом РК4. Обозначим вектор состояния:
\[
\vec{u} = (x,\; y,\; z,\; v_x,\; v_y,\; v_z)^\top
\]

Один шаг метода:
\begin{align*}
\vec{k}_1 &= h\,\vec{f}(\vec{u}_n) \\
\vec{k}_2 &= h\,\vec{f}(\vec{u}_n + \vec{k}_1/2) \\
\vec{k}_3 &= h\,\vec{f}(\vec{u}_n + \vec{k}_2/2) \\
\vec{k}_4 &= h\,\vec{f}(\vec{u}_n + \vec{k}_3) \\[0.5em]
\vec{u}_{n+1} &= \vec{u}_n + \frac{1}{6}(\vec{k}_1 + 2\vec{k}_2 + 2\vec{k}_3 + \vec{k}_4)
\end{align*}

где $\vec{f}(\vec{u})$ --- правая часть системы из раздела~2.2.

\subsubsection{Выбор шага}

Шаг интегрирования должен быть значительно меньше характерного периода вращения частицы в поле:
\[
T_c = \frac{2\pi m}{|q| B}
\]
\[
h = \frac{T_c}{N_{\text{шаг}}}, \quad N_{\text{шаг}} \approx 100
\]

\subsubsection{Проверка точности}

После каждого шага проверяем, что модуль скорости не изменился:
\[
\frac{\bigl||\vec{v}_{n+1}| - |\vec{v}_0|\bigr|}{|\vec{v}_0|} < 10^{-5}
\]

Если это условие нарушается, шаг нужно уменьшить.

\subsection{Классификация траекторий}

\begin{enumerate}
\item Задаём начальные условия: положение $\vec{r}_0$ и скорость $\vec{v}_0$
\item Интегрируем уравнения движения
\item На каждом шаге проверяем: вышла ли частица за пределы ловушки ($|z| > z_{\text{bound}}$)
\begin{itemize}
\item Если да --- частица \textbf{потеряна}
\item Если время симуляции истекло, а частица внутри --- частица \textbf{захвачена}
\end{itemize}
\item Повторяем для набора начальных условий и строим статистику
\end{enumerate}
103 changes: 103 additions & 0 deletions M3_report/preamble.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
\documentclass[a4paper,12pt]{article}

\usepackage{geometry}
% задание полей текста
\geometry{left=10mm,right=10mm,top=20mm,bottom=20mm}
\usepackage{listings}
\usepackage{cmap} % поиск в PDF
\usepackage[T2A]{fontenc} % кодировка
\usepackage[utf8]{inputenc}
\usepackage[english, russian]{babel} % локализация и переносы
\usepackage{natbib}

\usepackage{graphicx}
\graphicspath{{pix/}}
\usepackage{pgfplots}
\usetikzlibrary{arrows}
\pgfplotsset{width=10cm,compat=1.18}
\pgfkeys{/pgf/trig format=rad}


\usepackage{xcolor}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{bm}
\usepackage{enumerate}
\usepackage[normalem]{ulem}
\usepackage{titlesec}

% Настройка форматирования section для центрирования без растягивания
\titleformat{\section}
{\normalfont\Large\bfseries\centering}{\thesection}{1em}{}
\titleformat{\subsection}
{\normalfont\large\bfseries\centering}{\thesubsection}{1em}{}
\titleformat{\subsubsection}
{\normalfont\normalsize\bfseries\centering}{\thesubsubsection}{1em}{}

\usepackage{hyperref}
\hypersetup{
colorlinks=true,
linkcolor=blue,
filecolor=blue,
urlcolor=blue,
citecolor=blue
}


\setlength\parindent{0pt}


\sloppy % строго соблюдать границы текста
\linespread{1.2} % коэффициент межстрочного интервала
\setlength{\parskip}{0.5em} % вертик. интервал между абзацами

\setcounter{secnumdepth}{0} % отключение нумерации разделов
\binoppenalty=1000 % уменьшение переносов в формулах

% объявление новых макрокоманд

\newcommand{\Def}{\textbf{Def.} }
\newcommand{\Th}{\textbf{Теорема.} }
\newcommand{\Thbd}{\textbf{Теорема (б/д).} }
\newcommand{\Theor}[1]{\textbf{Теорема ({#1}).} }
\newcommand{\Theorbd}[1]{\textbf{Теорема ({#1}) (б/д).} }
\newcommand{\Consequence}{\textbf{Следствие.} }
\newcommand{\Remind}{\textbf{Remind.} }
\newcommand{\Note}{\textbf{Note.} }
\newcommand{\Statement}{\textbf{Утверждение.} }
\newcommand{\Prop}{\textbf{Свойство:} }
\newcommand{\Props}{\textbf{Свойства:} }
\newcommand{\Proof}{\textbf{Доказательство:} }
\newcommand{\Prooff}{\textbf{Доказать:} }
\newcommand{\Solution}{\textbf{Решение:} }
\newcommand{\Alg}{\textbf{Algorithm.} }
\newcommand{\Lemma}{\textbf{Лемма.} }
\newcommand{\Example}{\textbf{Пример:} }
\newcommand{\Task}{\textbf{Задача.} }
\newcommand{\Goal}{\textbf{Цель работы:} }
\newcommand{\Solve}{\textbf{Решение:} }
\newcommand{\Examples}{\textbf{Примеры.} }

\newpagestyle{main}{
\setheadrule{.4pt}
\sethead{}{\bullet \; \textit{Цифровизация физических процессов} \; \bullet}{}
\setfootrule{.4pt}
\setfoot{ВШПИ МФТИ}{М3. Магнитная пробка}{Б13-402}
}

\allowdisplaybreaks[4]

\newcommand{\Endproof}{$\blacksquare$ }

\newcommand{\tr}{\text{tr}}
\newcommand{\Le}{\leqslant}
\newcommand{\Ge}{\geqslant}
\newcommand{\A}{\mathcal{A}}
\newcommand{\M}{\mathcal{M}}
\newcommand{\F}{\mathcal{F}}
\newcommand{\Gs}{\mathcal{G}}
\newcommand{\R}{\mathbb{R}}
\newcommand{\N}{\mathbb{N}}
\newcommand{\Q}{\mathbb{Q}}
\newcommand{\Norm}{\mathcal{N}}
\newcommand{\ind}{\perp \!\!\! \perp}
Binary file added M3_report/report.pdf
Binary file not shown.
Loading
Loading