- •Предисловие
 - •Введение
 - •Зачем нужен такой практикум?
 - •О чем сказано далее
 - •О системе 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
