Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
практикум по матлабу.pdf
Скачиваний:
156
Добавлен:
29.03.2015
Размер:
1.19 Mб
Скачать

постоянной скоростью, естественно, в системе отсчета, связанной с ним. Используя эту процедуру, можно найти движение шаров, если скорость «ящика» изменяется скачками.

Задание 5 Рассмотрите периодическое движение ящика вдоль одной из стенок, при котором ящик половину периода движется со скоорстью U, а второю – со скоростью −U. Постройте график зависимости энергии шаров от времени. Будет ли расти средняя энергия (температура) газа шаров?

Для исследования столкновений протонов с антипротонами на ускорителях со встречными пучками необходимо сделать летящие навстречу друг другу сгустки частиц очень концентрированными, а для этого нужно ослабить относительное движение частиц внутри каждого из сгустков.

Один из способов сделать это – это так называемое стохастическое охлаждение. Можно добиться замедления относительного движения частиц, если по-разному воздействовать на сгусток в зависимости от движения частиц в текущий момент. Такое воздействие достигается благодаря тому, что информация о текущем состоянии частиц, движущихся по дуге, успевает опередить сгусток, двигаясь по более короткому прямому пути. При этом можно фактически оперировать лишь информацией, относящейся только к сгустку в целом.

Управляя движением «ящика», можно смоделировать стохастическое охлаждение.

Задание 6 Получите стохастическое охлаждение газа шаров, запрограммировав выбор той или иной величины скорости «ящика» в зависимости от скорости центра масс шаров.

9. Потери пучка при прохождении через вещество

В этой работе можно познакомиться с основным методом моделирования, применяемым при исследовании прохождения пучков частиц через вещество – методом статистического моделирования (называемым методом Монте-Карло). При этом «судьба» каждой частицы «разыгрывается» с помощью случайного выбора, а полученные для множества частиц результаты подвергаются статистической обработке. Метод применяется, например, при проектировании ядерных реакторов, детекторов частиц на ускорителях и обработке получаемых результатов (а также во многих других случаях, скажем, при исследовании распространения мутаций в среде живых организмов).

64

Мы будем изучать, естественно, очень простой вариант задачи – прохождение пучка тяжелых частиц (A) через слой газа, состоящего из легких (O). К тому же будем полагать скорости частиц газа до столкновения с частицами пучка равными нулю. Не будем также учитывать изменений, происходящих в газе вследствие прохождения пучка. Это не ограничивает существенно общности задачи.

9.1. Эффективные сечения

Частицы можно представлять шариками радиусов RA и RO. Пусть частица A летит так, что центр ее должен пролететь на расстоянии ρ от центра частицы O. Столкновение произойдет, если ρ < R, где R = RA + RO. Фактически частица O образует для частиц A «преграду», площадь которой σ = πR2. Эта величина называется эффективным сечением столкновения32. В зависимости от величины ρ (называемой прицельным параметром) определяются угол отклонения, передача энергии от частицы A частице O и т.п. Соответственно можно определить величины эффективных сечений, например, для потери частицей A определенной энергии от ε1 до ε2, отклонения на угол, больший данного и т.п. Определяются и дифференциальные эффективные сечения, например, дифференциальное эффективное сечение потери энергии частицей A

= f(ε)

определяется так, что величина площадки = f(ε)отвечает потере энергии в интервале от ε до ε + (при достаточно малой величине ). Подробнее об этом сказано в работе[7, §18], мы будем использовать взятые оттуда формулы.

Характерные размеры пучка частиц – сантиметры или даже микроны – во много раз превосходят характерные прицельные параметры. Именно поэтому здесь уместен статистический подход. Пусть концентрация газа-мишени составляет nO частиц O на 1 см3. Тогда в очень тонком слое (толщины dx ) на площадь S приходится nOS dx частиц O, а перекрываемая ими площадь равна dS = σnOSdx. Можно сказать также, что dW = dS/S = σnO dx представляет долю площади, перекрытую частицами O в слое dx. Иначе говоря, это вероятность столкновения частицы в данном слое. Имея в виду возможность выбрать достаточно тонкий слой, мы можем пренебречь возможностью, что какая-то из частиц O будет «затенена» другими. Фактически для этого достаточно условия dW 1.

32Для столкновений атомов характерные величины эффективных сечений имеют порядок 1016 см2, для нейтронов и атомных ядер – 1026 см2, на современных ускорителях изуча-

ются сечения еще на 10 - 12 порядков меньшие.

65

9.2. Потери частиц пучка при прохождении слоя

Начнем с простейшей задачи о выбывании частиц из пучка. Пусть любое столкновение ведет к выбыванию частицы – сечение выбывания равно σ. Задача об ослаблении пучка легко решается в таком случае аналитически. Пусть количество частиц A в исходном пучке равно NA0 . После прохождения слоя dx это число уменьшится на dNA = NAdW . Введя число частиц, оставшихся в пучке, NA(x), имеем

dNA(x) = −NA(x)nOσdx.

(1)

Решение этого дифференциального уравнения, удовлетворяющее условию NA(0) =

NA0,

NA(x) = NA0 exp(−bx),

(2)

где b = nOσ. Величина 1/b определяет толщину слоя, в котором пучок потеряет значительное число частиц (ослабнет в e =2.7 раза). Приведенное решение задачи относится к средним значениям числа частиц.

Теперь покажем, как решается эта задача методом Монте-Карло. Будем «пропускать» частицу через тонкие слои толщиной dx, пока она не пройдет слой x (или поглотится). «Розыгрыш» для слоя dx состоит в том, что мы выбираем случайное число с равномерным распределением от 0 до 1 (функция rand в MATLAB) и сравниваем с величиной dW ; если rand< dW , то частица выбывает, в противном случае перемещается в следующий слой. Пропустив Na частиц через слой толщины x, мы можем получить число оставшихся частиц Na(x).

Приведем отрезок программы, в котором через слой толщины Xmax «пропускается» Na частиц. При реализации этой части программы предполагается, что для всех частиц заведены два вектора - вектор координат, достигнутых каждой из частицей к текущему моменту времени, и вектор состоящий из 0 и 1. Каждая 1 соответствует еще не выбывшей частице, а 0 - уже выбывшей из потока.

%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Программа расчета потерь пучка %

%%%%%%%%%%%%%%%%%%%%%%%%%%%

clear;

 

Na=250; k=(1:Na)’;

 

no=100; Section=0.05;

 

dx=0.01;

 

x=zeros(size(k));

% Начальный вектор координат

sc=ones(size(k));

% Начальный вектор-счетчик

66

dW=no*Section*dx;

% Вероятность поглощения на шаге dx

hl=line(x,k);

% Подготовка Na точек для рисования

set(hl,’Marker’,’o’,’MarkerSize’,3);

axis([0 1 0 Na+1]);

% Масштабирование осей

pause;

% Пауза перед запуском основного цикла

%Далее выполняется цикл, на каждом шаге которого

%координата x возрастает на dx до тех пор, пока

%частица не пройдет путь Xmax или не поглотится while (any(sc)> 0)

ra=rand(size(k));

% Расчет вероятностей с помощью

 

% датчика случайных чисел для

 

% всех частиц

k1=find(ra-dW< 0);

% Определение номеров частиц

 

% подлежащих отбраковке

sc(k1)=0;

% Зануление счетчика отбракованной частицы

x=x+sc*dx;

% Продвижение на dx остальных частиц

set(hl,’XData’,x);

% Рисование

end;

% Конец цикла while

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Программа Beam1 содержит моделирование выбывания частиц из пучка. Заметим, что отклонения от (2) делают найденную зависимость более похо-

жей на наблюдаемую экспериментально, поскольку здесь моделируется не только среднее, но и наличие флуктуаций относительно среднего. Величина же флуктуаций зависит от числа проходящих частиц и тоже может быть определена с помощью моделирования.

Число частиц Nf , прошедших через достаточно толстый слой, оказывается малым и сильно флуктуирует (изменяется от запуска к запуску). Распределение вероятностей для доли прошедших частиц p = Nf /Na – это распределение Бернулли.

Задание 1. Постройте согласно формуле (2) зависимость Na(x) в масштабе, удобном для сравнения с модельной зависимостью (гистограммой).

Постройте распределение для доли частиц, прошедших толстый слой. Наблюдайте изменение этого распределения при изменениях числа частиц в запуске.

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

67

эффективное сечение такого превращения равно σAB, а эффективное сечение поглощения частиц A равно σA.

Приведем участок программы, моделирующей «судьбу» частиц в этом случае.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Моделирующая часть программы с поглощением A

%

% и превращением A -> B

%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%SecA - сечение поглощения A

%SecAB - сечение превращения A в B

%scA - счетчик числа частиц типа A

%scB - счетчик числа частиц типа B

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

clear;

% Очистка рабочей области

Na=25;

% Начальное число частиц A

L=5; k=(1:Na)’; no=100;dx=0.01;

SecA=0.1; SecAB=0.15;

 

x=zeros(size(k));

% Начальный вектор координат

scA=ones(size(k));

% Вектор-счетчик частиц A

scB=zeros(size(k));

% Вектор-счетчик частиц B

dWa=no*dx*SecA;

% Вероятность поглощения A на шаге dX

dWab=no*dx*SecAB;

% Вероятность A -> B на шаге dX

.......................................

%Имитация поглощения и превращения частиц

%Пока есть частицы A и не пройден путь L while (any(scA)> 0 & all(x)< L)

ra=rand(size(k));

ka=find(ra-dWa< 0);

% Номера поглощенных частиц A

scA(ka)=0;

% Выбывание частиц типа A

kb=find(dWa< ra & ra< dWa+dWab)

scB(kb)=scA(kb);

% Превращение A в B

scA(kb)=0;

% Исчезновение этих A

x=x+scA*dx+scB*dx;

 

pause(1);

end;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

68