Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Методы Монте-Карло для параллельных вычислений. Учебное пособие
.pdf
Инициализация фотона. В начальный момент времени положение и направление фотона соответствуют положению и направлению
источника излучения. «Вес» фотона принимается равным единице.
Обычно источник излучения располагается на внешней границе
исследуемой среды, в силу чего возможно отражение части излучения
от ее поверхности. Коэффициент зеркального отражения определяется
как вероятность фотона быть отраженным от внешней границы биоткани. Для расчета коэффициента зеркального отражения применяется
следующая формула [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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
