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

N

yi = Gij Pj =

j=1

(nx ,ny ,nz )

(2nx ,2ny ,2nz )

 

 

ijPj =

 

ijPj,

(89)

G

G

j=(1,1,1)

j=(1,1,1)

 

где Giопределено формулой (88) (и G0′ = 0 ) для |iμ| nμ, а

Pj′ = Pj , μ : 1 jμ nμ ;

(90)

0, иначе.

 

Далее и G, и P′ считаются периодическими вдоль каждой оси μ с периодом 2nμ. С

помощью БПФ дискретная конволюция преобразуется в поэлементное произведение двух векторов, которое быстро вычисляется. В целом для каждого умножения матрицы на вектор требуется вычислить прямое и обратное БПФ, каждое из которых является трёхмерным БПФ порядка 2nx×2ny×2nz. Данная операция производится для каждой декартовой компоненты P′, а предварительные вычисления проводятся для каждой из 6

независимых компонент тензора G.

Существует также немного другой метод, основанный на работе Барроуса (Barrowes) и др. [158], в которой представлен метод умножения произвольной МБТ матрицы на вектор. Произведение сводится к одномерной свёртке, которая вычисляется двумя одномерными БПФ порядка (2nx 1)(2ny 1)(2nz 1). Флато [156] предложил алгоритм умножения БТ матрицы (например, как в одномерном МДД) на вектор, который требует в два раза больше БПФ чем стандартный алгоритм, но порядка n вместо 2n. Хотя Флато утверждал, что этот алгоритм можно легко обобщить на трёхмерный случай, это по крайней мере нетривиально, и возможно, что его сложность будет сравнима со стандартными методами.

2.1.4.5. Быстрый метод мультиполей

Быстрый метод мультиполей (БММ) был разработан Грингардом (Greengard) и Рохлиным [159] для эффективного вычисления потенциальных и силовых полей в задачах многих тел, когда требуется вычислить все парные взаимодействия. БММ основан на усечённых разложениях потенциала [160], и также называется методом иерархического дерева, так как частицы группируются иерархическим способом, после чего вычисляется взаимодействие одиночной частицы с иерархией групп частиц [33]. Некоторые исследователи, однако, различают одно- и многоуровневый БММ [161,162], только последний является действительно иерархическим. БММ естественно подходит для МДД, поскольку умножение матрицы на вектор есть не что иное, как вычисление полного поля, действующего на каждый диполь со стороны всех остальных, что было отмечено Хукстрой и Слотом [33]. Вычислительная сложность БММ (см. ниже) близка методам на базе БПФ (см. параграф 2.1.4.4), но при этом не требуется регулярность

53

решётки, что делает этот метод применимым к любым частицам Недостатком БММ является его принципиальная сложность, поэтому его намного труднее реализовать в компьютерной программе. Тем не менее Рахола [51,160] реализовал БММ в МДД.

Анализ ошибок очень важен в БММ, поскольку ускорение достигается за счёт приближений в отличие от точных методов на основе БПФ. Параметры приближений выбираются так, чтобы погрешность, вычисленная по какой-то оценочной формуле, не превосходила определённый уровень. Чем точнее оценочная формула, тем меньше требуется вычислений, тем быстрее весь алгоритм. Таким образом, вычислительная сложность алгоритма напрямую связана с анализом ошибок [163].

Коч (Koc) и Чю (Chew) [161] описали применение многоуровнего БММ к МДД. Они использовали полуэмпирическую формулу для определения количества членов в мультипольном разложении и в итоге получили сложность O(N). Однако, насколько нам известно, до сих пор не существует строгого, близкого к точному анализа ошибок БММ в применении к МДД. Подобный анализ позволил бы получить сложность алгоритма с гарантированной точностью. Подобный анализ был проделан для двухмерных задач рассеяния звуковых волн [162], и для задач светорассеяния в формулировке поверхностных интегралов [163]. В обоих случаях было доказано, что БММ имеет асимптотическую сложность O(Nln2N). Различные применения БММ к задаче светорассеяния в формулировке поверхностных интегралов рассмотрены Дембартом (Dembart) и Йипом (Yip) [164].

Ещё одна сложность в применении БММ состоит в том, что конкретная реализация сильно зависит от конкретного вида потенциала взаимодействия Gij . Во всех вышеописанных работах рассматривались точечные диполи, т.е. формула (16), а

чтобы использовать более сложное выражение для Gij (например, ИТ), требуется заново вывести бóльшую часть БММ.

БММ перспективен для моделирования светорассеяния частицами, форму которых нельзя эффективно описать в рамках прямоугольной решётки, но требуется дальнейшее теоретическое развитие, чтобы данный метод гарантировал определённую точность. Однако существуют и другие иерархические методы. В частности, интуитивно простой метод был предложен Барнесом (Barnes) и Хатом (Hut) [165,166]. Он основан на мультипольном разложении вокруг центра масс в отличие от геометрического центра в БММ, что автоматически зануляет второй член разложения и позволяет быстро вычислять первый член. Хотя этот метод проще и понятнее БММ, его

54

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

Другой подход предложили Динг (Ding) и Цанг [167], исследуя рассеяние деревьями, – он основан на эффективной разреженности матрицы (sparse matrix iterative approach). Матрица линейной системы разделяется на сильную часть, описывающую взаимодействие между ближними диполями, и дополнительную слабую часть:

A = Astr + Aw. Сильная часть разрежена и потому линейная система с её участием быстро решается, а слабая часть учитывается итерационно:

Astr x(0) = y , Astr x(l+1) = y Aw x(l ) .

(91)

Авторы показали возможности данного подхода на нескольких задачах.

2.1.4.6. Усреднение по ориентации и повторные вычисления

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

Усреднение любой характеристики рассеяния по ориентации может быть описано как интеграл по углам Эйлера (включая при необходимости функцию распределения), который преобразуется в сумму соответствующей квадратурой. Тем самым задача сводится к вычислению некой характеристики рассеяния для различных ориентаций одной и той же частицы. Самым простым является последовательно и независимо решить задачу светорассеяния для каждой ориентации, но ввиду большого количества ориентаций, особенно для асимметричных частиц, оптические характеристики которых чувствительны к ориентации, желательна оптимизация этих вычислений. Для ясности будем рассматривать в качестве определяемой величины матрицу Мюллера при определённом угле рассеяния, обсуждения для любых других величин аналогичны или даже проще.

Сингхэм и др. [168] заметили, что набор задач для разных ориентаций эквивалентен набору задач для частицы в постоянной ориентации, но с разными направлениями падающей волны и рассеяния, которые определяются переходом из лабораторной системы отсчёта в систему отсчёта частицы. При этом амплитудная

* А.Г. Хукстра, неопубликованные результаты.

55

матрица рассеяния и следовательно матрица Мюллера преобразуются вместе с координатами [169]. Использование постоянной ориентации частицы даёт два преимущества: во-первых, A постоянна и поэтому она вычисляется только раз. Вовторых, амплитудная матрица для любого угла рассеяния быстро вычисляется после того как линейная система решена для двух поляризаций падающего излучения, поэтому интегрирование по одному углу Эйлера выполняется относительно быстро.

Постоянство A можно использовать для дальнейшего ускорения, если есть возможность построить A1 или её LU разложение [110,168], – тогда решение для любой правой части y получается за n2 операций, что не больше чем время одной итерации при использовании общего итерационного метода (см. параграф 2.1.4.1). Более того, Сингхэм и др. [168] и МакКлейн (McClain) и Гоул (Ghoul) [170] независимо друг от друга предложили аналитический способ усреднения по ориентации матриц Мюллера для любого угла рассеяния, который требует O(n2) операций при известной

A1. Хлебцов [171] расширил этот подход для усреднения интегральных сечений. Важно отметить, что использование специальной структуры матрицы A позволяет

умножать её на вектор за O(nlnn) операций (см. параграфы 2.1.4.4 и 2.1.4.5). Хотя ускорение прямых методов и возможно в некоторых случаях (см. параграф 2.1.4.3), они всё равно O(n2) или медленнее. Для больших n итерационные методы явно предпочтительны (если Niter <<n), даже при большом количестве точек в квадратуре, более того, прямые методы не могут применяться для достаточно больших n ввиду ограниченной по памяти. Своеобразным компромиссом является использование тяжеловесного предобуславливателя, который требует большого времени для инициализации, но при этом существенно ускоряет сходимость. В этом случае время инициализации оправдывается тем, что она выполняется только раз. Возможные кандидаты – это предобуславливатели на основе неполного разложения [141].

Выше предполагалось, что A постоянна для частицы с постоянной ориентацией. Но некоторые варианты МДД (например, ДСР) учитывают направление падающего излучения, т.е. A зависит от этого направления, но только немного за счёт поправок порядка O((kd)2). Это усложняет вышеописанные подходы, но, вероятно, их можно будет использовать после определённых модификаций для учёта небольшого изменения A на каждом шаге. Однако эти модификации ещё предстоит развить.

Для усреднения по ориентации можно также сперва вычислить Т-матрицу частицы, которая позволяет провести аналитическое усреднение [172]. Т-матричный формализм основан на мультипольных разложениях усечённых на порядке N0, который сложно определить априори, но обычно он равен нескольким x [173,174], при этом

56

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]