- •Предисловие
- •Введение
- •Зачем нужен такой практикум?
- •О чем сказано далее
- •О системе MATLAB
- •Первые задачи
- •Фигуры Лиссажу
- •Биения
- •Волны
- •Основные графические объекты и их использование
- •Отрисовка движущихся кривых
- •Об использовании безразмерных переменных
- •Маятник
- •Свободные колебания
- •Вынужденные колебания
- •Переходные колебания
- •Резонанс
- •О случайном движении
- •Движение частиц в центральном поле
- •Траектория финитного движения
- •Влияние малого возмущения
- •Движение двух частиц
- •Случайные блуждания и диффузия
- •Закономерности случайных блужданий
- •Оценка параметров движения броуновской частицы в жидкости
- •Программа, изображающая случайные блуждания
- •Броуновские частицы в поле тяжести
- •Броуновское движение
- •Случайные силы
- •Корреляционные функции
- •Шары
- •Расчет движения шаров
- •Алгоритм расчета
- •Процедура Balls
- •Динамический хаос
- •Почему движение шаров становится непредсказуемым?
- •Как убедиться в появлении хаоса?
- •Функции распределения
- •Стохастический нагрев и стохастическое охлаждение
- •Потери пучка при прохождении через вещество
- •Эффективные сечения
- •Потери частиц пучка при прохождении слоя
- •Потери энергии
- •Распределение по углам и энергиям
- •Работа с сигналами и модель диодного выпрямителя
- •Работа с сигналами
- •Расчет простейших цепей
- •Статическая модель диода. Решение нелинейных уравнений
- •ПРИЛОЖЕНИЕ
- •Свободные колебания
- •Электрические и магнитные поля
- •Частица в магнитной ловушке
- •Фокусировка пучков частиц
- •Концентрация частиц
- •Приближенные методы решения систем дифференциальных уравнений
- •Моделирование распределения случайных величин
- •Компиляция файлов MATLAB
- •Список литературы
- •Работа в командном окне
- •Вход в систему MATLAB
- •Интерактивный доступ к справочной информации и документации
- •Команда hеlр
- •Команда lookfor
- •Меню Help
- •Редактирование и перевызов командной строки
- •Формат вывода
- •Копия протокола сессии
- •Введение матриц
- •Явное определение матриц
- •Функции построения матриц
- •Операции, выражения и переменные
- •Правила записи операторов
- •Матричные операции
- •Операции с массивами
- •Сохранение данных из рабочей области
- •Операторы for, while, if, case и операторы отношения
- •Цикл for
- •Цикл while
- •Условный оператор if
- •Оператор переключения case
- •Условия (операторы отношения)
- •Функция find
- •Функции MATLAB
- •Скалярные функции
- •Векторные функции
- •Матричные функции
- •M-файлы
- •Файлы-программы, или сценарии
- •Файлы-функции
- •Текстовые строки, сообщения об ошибках, ввод
- •Работа с m-файлами
- •Список путей доступа
- •Работа со списком путей доступа
- •Текущий каталог
- •Средство просмотра и редактирования путей доступа Path Browser
- •Использование редактора/отладчика
- •Отладка m-файлов
- •Сравнение алгоритмов: flops и etime
- •Графика
- •Плоские графики
- •Команда plot
- •Разметка графика и надписи
- •Управление осями при выводе графиков
- •Несколько графиков на листе
- •Специальные виды графиков
- •Столбиковые диаграммы
- •Ступенчатые кривые
- •Гистограммы
- •Изображение функций
- •Трехмерные изображения
- •Одномерная кривая
- •Сеточные поверхности
- •Изолинии
- •Дескрипторная графика (графика низкого уровня)
- •Графические объекты и их иерархия
- •Дескрипторы и работа с ними
- •Свойства графических объектов и работа с ними. Функции get и set
- •Движущиеся графики (анимация)
- •Разработка графического интерфейса пользователя
- •Создание внешнего вида интерфейса
- •Способы взаимодействия графического интерфейса с функциями пользователя
- •Общая структура функции NAME.M графического интерфейса
- •Функционирование графического интерфейса
- •Разработка функции Run
- •Разработка функции Exit
- •Разработка функции Edit
Для подобной модели несложно также составить и решить уравнения, описывающие изменения среднего числа частиц A и B, подобно уравнениям (1), (2).
Стоит также отметить близость рассматривавшейся задачи к задаче о радиоактивном распаде атомных ядер (для перехода к ней нужно понимать под x время, прошедшее с начала наблюдения).
Задание 2. Добавьте в модель поглощение частиц B и обратные переходы B в A.
9.3. Потери энергии
Теперь перейдем к моделированию потерь энергии тяжелыми частицами A при прохождении слоя газа, состоящего из легких.
Обозначим массу легкой частицы (O) m, массу тяжелой (A) M, ее скорость V , а энергию E (m M).
Оценка, приведенная ниже, показывает, что отклонение траектории частицы A от прямой будет невелико даже при значительной потере энергии. Поэтому будем контролировать прохождения частицей слоя газа тем же способом, что и раньше.
Покажем, как можно моделировать потери энергии. Обозначим полное сечение соударений σ, а дифференциальное сечение потери энергии dσ/dε = F (E, ε), где E – энергия частицы перед столкновением, а ε – потеря энергии при столкновении.
Сначала следует определить, как и в предыдущих случаях, произошло ли на данном участке dX столкновение. Если же оно произошло, то следует разыграть, какова именно величина потери энергии. Эта операция производится методом браковки, описанным в Приложении D.
..........................................
ra=rand(size(k));
ka=find(ra-Na*Sect*dX< 0);% Номера рассеявшихся частиц
for ii=ka % Цикл по рассеявшимся на этом шаге частицам
%Генерация случайной величины потерянной энергии,
%распределенной с плотностью вероятности F(E,eps)
while 1 |
% Бесконечный цикл, выход с помощью break |
eps(ii)=epsmax*rand; |
% Выбор величины потери энергии |
if Fmax*rand < F(E(ii),eps(ii)) |
|
break; |
|
end; |
% Конец if |
69
end; |
% Конец while |
E(ii)=E(ii)-eps(ii); |
% Вычисление потери энергии |
end; |
% Конец for |
..........................................
Здесь epsmax=εmax – максимально возможное значение потери энергии, а Fmax =Fmax – число, не меньшее, чем максимум функции F (E, ε).
При столкновениях упругих шариков реализуется особый случай: функция F (E, ε) во всем интервале 0 < ε < εmax фактически от ε не зависит (εmax = 4mME/(m+ M)2 ≈ 4(m/M)E) (см. [7, §18, задача 2]). В этом случае вместо приведенного выше цикла while - end следует сохранить только отмеченную комментарием строчку вычисления случайной потери энергии.
При столкновениях заряженных частиц F (E, ε) неограниченно возрастает при ε → 0. Это связано с очень слабым рассеянием при больших прицельных параметрах. В таком случае можно ввести добавочное ограничение, выбрав какое-то значение εmin и отказавшись от учета меньших ε. Тогда Fmax = F (E, εmin).
С точки зрения физического смысла задачи величины ρ и ε должны быть ограничены по ряду причин: при больших прицельных параметрах во взаимодействиях заряженных частиц существенно влияние других частиц, небольшие потери энергии не заметны на фоне неизбежного разброса энергий начального пучка и т.п. С точки зрения построения моделирующей программы в предлагаемом способе моделирования также не обойтись без такого ограничения. Но если окажется, что полная величина потери, которая при ε < εmin могла бы быть мала в сравнении с характерной точностью, принятой при анализе распределения по энергиям εminXmax/dX E/l, то малые значения ε заведомо можно не учитывать. В то же время ставить границу εmin слишком низко невыгодно, так как это приведет к замедлению выбора ε: слишком малую долю будет составлять площадь под кривой F (E, ε) от площади прямоугольника εmin < ε < εmax, 0 < F < Fmax.
Задание 3. Определите распределение по энергиям частиц, прошедших слой Xmax. Предлагается два варианта:
•частицы - абсолютно упругие шарики;
•частицы - заряженные точки, взаимодействующие по закону Кулона U = α/r. Для этого понадобится выражение для дифференциального эффективного сечения потери энергии при столкновении частиц, которое можно взять в [7, §19]:
dσ |
= |
2πα2M |
при ε < εmax = 4 |
m |
|
|
|
|
E. |
||
dε |
mEε2 |
M |
70
Заметим, что в этой задаче, в отличие от предыдущих, моделирование заведомо является самым простым способом исследования.
9.4. Распределение по углам и энергиям
Сначала сделаем грубую оценку, показывающую, что даже при значительной потере энергии можно пренебречь отклонением направления движения частиц A от первоначального. Оценка основана на том, что при каждом соударении угол отклонения изменяется мало, причем направление движения может как удаляться от первоначального, так и приближаться к нему.
При столкновении легкая частица получает скорость порядка V , т.е. импульс p ≈ mV и энергию порядка ε ≈ mV2 2 . Частица потеряет энергию порядка первоначальной за N ≈ M2V 2 /ε ≈ M/m соударений. Угол отклонения тяжелой частицы при одном столкновении θ1 ≈ p/MV ≈ m/M. Отклонения при разных столкновениях происходят в разные стороны по случайным направлениям, поэтому
складываются не углы, а их квадраты – в плоскости (V , V ) происходит диффу-
√ y z
зия. Тогда угол отклонения за N соударений θ ≈ θ1 N ≈ m/M 1. Задавать направление движения частицы можно полярными углами вектора ее
скорости θ и ϕ. Однако удобнее будет ввести углы θy = θ cos ϕ ≈ Vy/V и θz =
θ sin ϕ ≈ Vz/V .
Чтобы моделировать отклонение направления скорости частицы при многократных столкновениях, следует воспользоваться дифференциальным эффективным сечением рассеяния на данный угол dσdθ = f(θ)33.
Поскольку мы принимаем углы θ небольшими, каждый добавочный угол отклонения θ1 можно разыгрывать так же, как первое отклонение от первоначального направления вдоль оси X.
Кроме того, следует произвести также выбор азимутального угла ϕ нового отклонения34:
.................
phi = 2*pi*rand;
.................
33Другой вариант расчета основан на том, что угол отклонения частицы в лабораторной системе отсчета θ, угол в системе центра масс χ и потеря энергии ε связаны друг с другом простыми соотношениями (см. [7, §17]). Поэтому можно сначала «разыграть» χ , а затем вычислить ε и θ (либо наоборот, разыграть ε, а затем вычислить χ и θ).
34Если частицы A или B определенным образом ориентированы и взаимодействие их не
сводится к центральному полю, то возможна зависимость дифференциального эффективного сечения от угла ϕ. Тогда этот угол также следует разыгрывать методом браковки.
71