Расчет магнитного момента частицы в магнитном поле в MATLAB - PullRequest
0 голосов
/ 25 июня 2018

Проблема заключается в следующем: У меня есть частица в магнитном поле, которая имеет компоненты по всей оси и зависит от всех координат

B = (B_x (x, y, z), B_y (x, y, z), B_z (x, y, z))

Я решил уравнения движения и нашел положение (x, y, z) и скорость (v_x, v_y, v_z) частицы на каждом шаге по времени. Я пытаюсь рассчитать энергию и магнитный момент частицы, чтобы показать сохранение каждого из них.

Найти энергию довольно просто

E = m / 2 * (v_x. ^ 2 + v_y. ^ 2 + v_z. ^ 2)

и я получаю ожидаемый результат (сохранение). Однако я изо всех сил пытаюсь вычислить магнитный момент, который определяется как

mu = m * v_perp. ^ 2 ./ (2 * B_mag)

где v_perp - это часть скорости, которая перпендикулярна магнитному полю, а B_mag - величина магнитного поля (B_mag = sqrt (B_x. ^ 2 + B_y. ^ 2 + B_z. ^ 2)). Моя проблема в проведении v_perp. Я знаю, как рассчитать это аналитически, но я изо всех сил пытаюсь сделать это численно. Я был бы рад получить помощь с этим.

Заранее спасибо

1 Ответ

0 голосов
/ 25 июня 2018

Аналитическая формулировка для мгновенной скорости и ее перпендикулярной составляющей к магнитному полю все еще должна применяться.(Если только я не понял что-то в вашем вопросе.)

Примените следующие уравнения на каждом временном шаге.

B = [B_x; B_y; B_z]; % magnetic field at particle's position
v = [v_x; v_y; v_z]; % particle's instantaneous velocity

v_prll = (B/norm(B)^2)*dot(v,B); % velocity vector parallel to magnetic field
v_perp = v - v_prll; % velocity vector perpendicular to magnetic field
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...