Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методы Монте-Карло для параллельных вычислений. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
Инициализация фотона. В начальный момент времени положе­ние и направление фотона соответствуют положению и направлению источника излучения. «Вес» фотона принимается равным единице.
Обычно источник излучения располагается на внешней границе исследуемой среды, в силу чего возможно отражение части излучения от ее поверхности. Коэффициент зеркального отражения определяется как вероятность фотона быть отраженным от внешней границы био­ткани. Для расчета коэффициента зеркального отражения применяется следующая формула [37, 44]:
2
,
2
Rsp=
(n1− n2) (n1+ n2)
в которой Rsp— коэффициент зеркального отражения, n1— коэффи­циент преломления внешней среды, а n2— коэффициент преломления первого слоя исследуемой биоткани. Если первый слой биоткани — это стекло (то есть абсолютно прозрачный слой, у которого коэффициенты поглощения и рассеяния равны нулю), то формула расчета коэффициен­та зеркального отражения несколько усложняется. Пусть n1, n2и n3— коэффициенты преломления соответственно внешней среды, первого и второго слоя биоткани, а r1и r2— коэффициенты отражения Френеля соответственно на внешней и внутренней границах стеклянного слоя:
r1=
(n1− n2) (n1+ n2)
2
, r2=
2
(n2− n3) (n2+ n3)
2
.
2
Тогда полагают
Rsp= r1+
(1 −r1)2r
1 −r1r
2
.
2
Следует заметить, что данные выше формулы для вычисления коэф­фициента зеркального отражения не являются точными, однако хоро­шо оценивают искомую вероятность в данной задаче. Также в случае отражения начальный «вес» w фотона определяется как
w = 1 −Rsp.
Получение длины свободного пробега фотона. Длина свободно­го пробега (шаг) фотона представляет собой непрерывную случайную величину s ∈ [0, ∞) с экспоненциальным распределением с плотностью
fs(x) = µtexp{−µtx}, x > 0,
151
где µt= µa+ µs, µa— коэффициент поглощения, а µs— коэффициент рассеяния того слоя, в котором находится фотон в текущий момент времени.
Перемещение фотона. При перемещении фотона его новое поло-
жение (x0, y0, z0) в пространстве определяется формулами по правилу:
x0= x + vxs, y0= y + vys, z0= z + vzs.
Обновление траектории движения фотона. Напомним, что для хранения информации о траекториях интересующая исследователя об­ласть биологической ткани покрыта регулярной трехмерной сеткой, ко­торая делит эту область на ячейки. По начальному и конечному по­ложениям фотона определяются ячейки, через которые проходил его путь на текущем шаге, после чего значения счетчиков числа посещений в этих ячейках увеличиваются.
Обновление «веса» фотона. На каждом шаге моделирования фо­тон теряет часть ∆w своего «веса» в силу поглощения энергии излуче­ния средой:
∆w = w
µ
a
,
µ
t
при этом новый «вес» w0фотона становится равным
w0= w − ∆w.
Потерянный «вес» вносит вклад в объемное распределение поглощен­ной интенсивности излучения в среде. Фотон в точке (x, y, z) про­странства, теряя часть своего веса, увеличивает значение A(x, y, z) поглощенной интенсивности на величину ∆w, так что новое значение становится равным A(x, y, z) + ∆w.
Вычисление направления движения фотона. На каждом шаге мо­делирования происходит акт рассеяния фотона. Рассеяние состоит в из­менении направления его движения, а именно, новое направление дви-
0
0
жения описывается вектором (v
x
, v
0
, v
) с компонентами
y
z
sin θ
0
p
v
=
x
0
p
v
=
y
0
v
z
(vxvzcos ψ − vysin ψ) + vxcos θ, (7.1)
2
1 −v
z
sin θ
(vyvzcos ψ + vxsin ψ) + vycos θ, (7.2)
2
1 −v
z
= −sin θ cos ψp1 −v
2
+ vzcos θ, (7.3)
z
152
где случайные углы θ ∈ [0, π) и ψ ∈ [0, 2π) независимы. При этом случайная величина cosθ считается распределенной с плотностью [45]
2
f
cos θ
(x) =
1 −g
2(1 + g2− 2gx)
, x ∈ [0, π), (7.4)
3/2
где g — коэффициент анизотропии того слоя, в котором находится фо­тон в текущий момент времени, а случайная величина ψ имеет рав­номерное распределение на [0, 2π). Известно [54], что плотность (7.4), изначально предложенная для задач астрофизики, хорошо описывает единичный акт рассеяния в биологических тканях. Заметим, что доста­точно уметь генерировать значение случайной величины cos θ. Оказы­вается,
cos θ =
1
1 + g2−
2g
2ξ − 1, если g = 0,
h
1 −g
1 −g + 2gξ
i2
2
, если g > 0,
где ξ — случайная величина c равномерным распределением на интер­вале [0, 1).
Если значение |vz| близко к единице, то вместо соотношений (7.1)–
(7.3) следует воспользоваться приближенными формулами
где
0
v
= sin θ cos ψ, v
x
sign(vz) =
0
= sin θ sin ψ, v
y
(
1, если vz> 0,
−1, если vz< 0.
0
= sign(vz) cos θ,
z
Пересечение фотона с границей слоя. При достижении фотоном границы внешнего либо внутреннего слоя биологической ткани происхо­дит одно из двух несовместных событий: переход фотона в новый слой (возможен вылет за пределы биоткани) либо его отражение от грани­цы. Вероятности каждого из событий вычисляются исходя из величины R полного внутреннего отражения, которая зависит от косинусов углов падения и преломления. Угол падения αiопределяется как острый угол между направлением движения фотона и нормалью к границе слоя в точке пересечения. Угол преломления αtвычисляется по закону пре­ломления света Снеллиуса:
nisin αi= ntsin αt,
153
где niи nt— коэффициенты преломления соответственно текущего и нового слоя. Тогда полное внутреннее отражение вычисляется по фор­муле Френеля [37, 44]:
R =
1
sin2(αi− αt)
2
sin2(αi+ αt)
tg2(αi− αt)
+
tg2(αi+ αt)
.
Затем определяется, отразился ли фотон от границы слоя. Для этого получается значение случайной величины ξ0с равномерным распреде­лением на интервале [0, 1), и если ξ06 R, то считается, что фотон отразился от границы, в ином случае моделируется переход фотона в новый слой.
Следует отметить, что в описываемом алгоритме предполагает­ся либо полное отражение фотона, либо его полный переход в новый слой. Однако существует и другой подход. Поскольку работа ведется с пакетом фотонов, то возможна ситуация, когда часть этого пакета с «весом» w ·R отразилась от границы, а часть с весом w ·(1 −R) перешла в новый слой. При этом один пакет распадается на два и необходимо продолжать моделирование движения каждого из двух пакетов.
В случае отражения фотона от границы вычисляется новое на-
0
0
правление v0= (v
x
, v
0
, x
) его движения:
y
z
v0= v − 2(v, vn)vn,
где vn— вектор нормали к границе слоя в точке пересечения.
В случае перехода фотона в новый слой выполняется проверка, вылетел ли фотон за границы биоткани во внешнюю среду. Если нет, то моделируется переход в новый слой, для чего вычисляется новое
0
0
направление v0= (v
x
, v
0
, x
) движения фотона по формулам:
y
z
v0= nvv + cvn,
s
2
2
n
− n
t
c = (niv, vn)
(niv, vn)
i
+ 1 − 1.
2
Здесь также vn— вектор нормали к границе слоя в точке пересечения.
Если фотон выходит за границы биоткани, то его трассировка прекращается. При этом проверяется, пролетел ли фотон через один из детекторов. Если да, то к текущей интенсивности излучения на со­ответствующем детекторе прибавляется «вес» фотона. Дополнительно обновляется карта траекторий, относящаяся к детектору.
154
Завершение моделирования фотона. Моделирование случайной траектории фотона заканчивается либо когда «вес» фотона становится меньше выбранного порогового значения ε (мы брали ε = 0,0001), либо когда фотон покинул подобласть биоткани, интересующую исследова­теля, либо когда фотон вылетел из биоткани во внешнюю среду при пересечении границы слоя.
7.3. Результаты численных экспериментов
Согласно описанному выше алгоритму, было проведено модели­рование распространения зондирующего излучения в головном мозге человека. Данная задача актуальна применительно к функциональной диагностике мозга, так как позволяет экспериментально определить расположение измерительного объема при заданной длине волны из­лучения и расположении детектора. Знание точного расположения из­мерительного объема в свою очередь позволяет проводить мониторинг активности соответствующей зоны головного мозга путем отслежива­ния сигнала на детекторах.
Геометрия головы человека аппроксимировалась пятью концен­трическими полусферами в качестве границ слоев. Каждая полусфе­ра представляла собой триангулированную поверхность, состоящую из 1000 треугольников. Моделировалось поведение четырех миллиардов фотонов. Рассматривалось 50 детекторов, причем детектор номер n рас­полагался на расстоянии n мм от источника.
Значения оптических параметров, используемые для расчета, указаны в таблице 7.1 [52].
Таблица 7.1. Оптические характеристики биотканей головы человека
Биоткань 660 830 660 830 660 830 n
Ширина
слоя, мм
µs(1/мм) µa(1/мм) g
нм нм нм нм нм нм Кожа головы 3 20 15 0,06 0,05 0,82 0,86 1,4 Череп 10 36 28 0,035 0,025 0,925 0,94 1,55 Церебральная жидкость
2 0,1 0,1 0,001 0,001 0,999 0,999 1,4
Серое вещество 4 60 60 0,05 0,03 0,95 0,96 1,4 Белое вещество 20 50 55 0,02 0,01 0,8 0,85 1,4
Моделирование проводилось на кластере из 16 узлов, на каждый
155
узел установлено 2 центральных процессора Intel Xeon L5630 с часто-
Зависимость улавливаемого детектором излучения
от расстояния до источника
Интенсивность излучения на детекторе
1e-12
1e-11
1e-10
1e-09
1e-08
1e-07
1e-06
1e-05
0,0001
0,001
0,01
0,1
Расстояние от источника, x
0
1020304050
660 нм 830 нм
той 2,13 ГГц и 24 ГБ оперативной памяти. Используемая операционная система — MS Windows Server HPC Edition Service Pack 2.
Для обеспечения возможности эффективного использования име­ющихся вычислительных ресурсов кластера была выполнена парал­лельная реализация рассмотренного алгоритма. Основой параллелизма здесь является возможность моделирования каждого отдельного пакета фотонов независимо от других. В реализации использовались библио­теки OpenMP и MPI. Время расчетов при этом составило 22 часа 49 минут.
На рисунке 7.1 приведена зависимость в логарифмической шкале величины интенсивности излучения, улавливаемого детектором, от рас­стояния между источником излучения и детектором. Из рисунка видно, что при удалении детектора от источника сигнал на детекторе убывает экспоненциально.
Рис. 7.1. Зависимость интенсивности излучения, улавливаемого детектором, от расстояния между детектором и источником излучения при длинах волн зон­дирующего излучения 660 нм и 830 нм
156
Рисунок 7.2 демонстрирует области измерительного объема в за­висимости от взаимного расположения источника и детектора. Под из­мерительным объемом здесь следует понимать область, содержащую наибольшее количество траекторий фотонов от источника до детекто­ра (т. е. самую светлую область от источника до детектора на рисунке). Белыми линиями показаны границы слоев, аппроксимированных полу­сферами (для наглядности масштаб по осям был выбран 2:1, в силу чего сечения сферы имеют вид эллипсов). Источник излучения рас­полагается на внешней границе среды в точке с координатами (0, 0), расположенной в центре верхней границы каждого из рисунков и от­меченной короткой вертикальной чертой. Детекторы также находятся на внешней границе среды справа от источника на разном расстоянии: 20 мм (на верхнем рисунке), 30 мм (на среднем рисунке) и 40 мм (на нижнем рисунке) от источника света. Можно заметить, что при уве­личении расстояния между источником и детектором измерительный объем смещается вниз, что позволяет осуществлять мониторинг инте­ресующих нас серого и белого вещества головного мозга. Но при этом значительно возрастает объем вычислений в силу необходимости иметь больше статистических данных.
Рис. 7.2. Карта фотонов, попавших в детекторы, расположенные на расстоянии 20 мм (сверху), 30 мм (в центре) и 40 мм (внизу) от источника света
158
Глава 8. Обзор задач, решаемых методом Монте-Карло
Перечислим некоторые задачи, решаемые методом Монте-Карло. Применительно к классической математике в первую очередь нужно упомянуть следующие проблемы.
8.1. Приближенное вычисление интегралов Римана высокой размерности
Задача приближенного вычисления интегралов Римана высокой размерности n
по значениям подынтегральной функции в случайных точках X . . . , X
8.2. Задача о приближенном решении линейного неоднородного интегрального уравнения
грального уравнения
допускающего представление решения в виде ряда Неймана
где итерации Knопределяются равенством
Z
Z
···
f(x1, . . . , xn) dx1. . . dxn, D ⊂ Rn,
D
(1)
(2)
(N)
области D.
, X
Задача о приближенном решении линейного неоднородного инте-
Z
z(x) =
K(x, y)z(y) dy + f(x), x ∈ D ⊂ Rn,
D
∞
z(x) =
X
(Knf)(x),
n=0
,
(Knf)(x) =
Z
=
n
D
K(x, y1)K(y1, y2) ×. . . × K (y
159
, yn)f(yn) dy1dy2···dyn.
n−1
Сюда же относится задача оценки скалярных произведений
Z
(g, z) =
g(x)z(x) dx
D
от решения z(x) с помощью представления решения в виде аддитивно­го функционала от траектории специально построенной цепи Маркова. Аналогичные методы применяются и к задаче приближенного решения системы линейных алгебраических уравнений
m
X
zi=
j=1
a
+ bi, i = 1, 2, . . . , m,
i,jzj
и к задаче оценки функционалов вида g1z1+ .. . + gmzmот решения.
8.3. Решение задач Коши и граничных задач для основных уравнений математической физики
Решение задач Коши и граничных задач для основных уравнений
математической физики, например, уравнения Лапласа
n
X
∂2u
= 0, (x1, . . . , xn) ∈ G ⊂ Rn,
2
∂x
i
i=1
уравнения Пуассона
n
X
∂2u
= −f, (x1, . . . , xn) ∈ G ⊂ Rn,
2
∂x
i
i=1
в области G n-мерного евклидова пространства Rnс граничными усло­виями
u|∂G= ϕ
на границе ∂G области G; вычисление наименьшего собственного зна­чения λ в краевой задаче Дирихле
n
X
∂2u
+ λu = 0, u|∂G= 0;
2
∂x
i
i=1
160
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]