- •Содержание
- •Введение
- •Глава 1. Обзор литературы
- •1.1. Клетки крови
- •1.2. Экспериментальные методы
- •1.3. Моделирование светорассеяния
- •1.4. Обратная задача светорассеяния
- •Глава 2. Метод дискретных диполей
- •2.1. Обзор МДД
- •2.1.1. Введение
- •2.1.2. Общая формулировка
- •2.1.3. Разновидности МДД
- •2.1.3.1. Теоретические основы МДД
- •2.1.3.2. Точность МДД вычислений
- •2.1.3.3. МДД для кластеров шаров
- •2.1.3.4. Модификации и расширения МДД
- •2.1.4. Численные соображения
- •2.1.4.1. Прямые и итерационные методы
- •2.1.4.2. Разложение по порядкам рассеяния
- •2.1.4.3. Блочно-топлицева структура
- •2.1.4.4. Быстрое преобразование Фурье
- •2.1.4.5. Быстрый метод мультиполей
- •2.1.4.6. Усреднение по ориентации и повторные вычисления
- •2.1.5. Сравнение МДД с другими методами
- •2.1.6. Заключительные замечания
- •2.2. Сходимость МДД
- •2.2.1. Введение
- •2.2.2. Теоретический анализ
- •2.2.2.1. Дополнительные определения
- •2.2.2.2. Анализ ошибок
- •2.2.2.3. Ошибки формы
- •2.2.2.4. Различные формулировки МДД
- •2.2.3. Численное моделирование
- •2.2.4. Обсуждение
- •2.2.5. Выводы
- •2.3. Методика экстраполяции для улучшения точности МДД
- •2.3.1. Введение
- •2.3.2. Экстраполяция
- •2.3.3. Численное моделирование
- •2.3.4. Обсуждение
- •2.3.5. Выводы
- •2.4. Текущие возможности МДД для очень больших частиц
- •2.4.1. Введение
- •2.4.2. Компьютерная программа ADDA
- •2.4.3. Численное моделирование
- •2.4.3.1. Параметры моделирования
- •2.4.3.2. Результаты
- •2.4.4. Обсуждение
- •2.4.5. Выводы
- •2.5. Сравнение компьютерных программ на основе МДД
- •2.5.1. Введение
- •2.5.2. Программы МДД
- •2.5.2.1. SIRRI
- •2.5.2.2. DDSCAT
- •2.5.2.4. ADDA
- •2.5.3. Сравнение программ
- •2.5.3.1. Формы объектов и параметры
- •2.5.3.2. Точные методы
- •2.5.3.3. Точность
- •2.5.3.4. Скорость
- •2.5.4. Обсуждение
- •2.6. Сравнение МДД с методом конечных разностей во временной области
- •2.6.1. Введение
- •2.6.2. Параметры моделирования
- •2.6.3. Результаты для шаров
- •2.6.4. Пример применения к биологическим клеткам
- •2.6.5. Выводы
- •Глава 3. Эритроциты
- •3.1. Введение в эритроциты
- •3.1.1. Морфология
- •3.1.2. Светорассеяние эритроцитами
- •3.2. Решение обратной задачи светорассеяния для эритроцитов, используя простую форму и постоянный показатель преломления
- •3.2.1. Методология моделирования
- •3.2.2. Экспериментальный метод и процедура обращения
- •3.2.3. Эффект формы и ориентации
- •3.2.4. Характеризация эритроцитов
- •3.2.5. Приближённые формы
- •3.2.6. Выводы
- •3.3. Характеризация морфологии нативных эритроцитов с помощью сканирующего проточного цитометра
- •3.3.1. Расширенная модель формы эритроцита
- •3.3.2. Методология моделирования
- •3.3.3. Экспериментальный метод и процедура обращения
- •3.3.4. Результаты и обсуждение
- •3.3.5. Эмпирическая процедура определения диаметра эритроцитов
- •3.3.6. Выводы
- •Глава 4. Гранулоциты
- •4.1. Введение в гранулоциты
- •4.1.1. Нейтрофилы
- •4.1.2. Эозинофилы
- •4.1.3. Базофилы
- •4.1.4. Оптическая характеризация гранулоцитов
- •4.2. Теоретическое исследование светорассеяния простой моделью гранулоцита – зернистым шаром
- •4.2.1. Введение
- •4.2.2. Простая модель гранулоцита
- •4.2.3. Ортогональное светорассеяние
- •4.2.4. Результаты и обсуждение
- •4.2.5. Выводы
- •4.3. Экспериментальное исследование нейтрофилов сканирующим проточным цитометром
- •4.3.1. Экспериментальная процедура
- •4.3.2. Дополнительное МДД моделирование
- •4.3.3. Результаты и обсуждение
- •4.3.4. Выводы
- •Заключение
- •Развитие метода дискретных диполей
- •Характеризация эритроцитов с помощью сканирующего проточного цитометра
- •Теоретическое и экспериментальное исследование гранулоцитов
- •Основные результаты
- •Литература
- •Приложение
- •A1. Описание сокращений и символов
- •A2. Свойства симметрии матрицы Мюллера
- •A3. Расчёт бокового рассеяния зернистым шаром в рамках приближения Релея-Дебая-Ганса
- •A4. Расчёт деполяризованного бокового рассеяния зернистым шаром в рамках второго борновского приближения
2.4. Текущие возможности МДД для очень больших частиц*
В этом разделе продемонстрированы возможности МДД для моделирования светорассеяния частицами много бóльшими чем длина волны падающего света, и представлена общедоступная компьютерная программа для проведения этого моделирования. Приведены результаты моделирования для шаров с размерными параметрами x до 160 и 40 для показателя преломления m = 1.05 и 2 соответственно и сравнены с точными результатами теории Ми. Ошибки и интегральных, и разрешённых по углу измеряемых характеристик в целом увеличиваются с m, но не имеют систематической зависимости от x. Время вычисления резко увеличивается и с x, и m, достигая величины более двух недель на кластере из 64 процессоров. Основной отличительной чертой этой программы является возможность параллелизовать одиночное вычисление, разделяя его между многими процессорами, что и позволяет моделировать светорассеяния настолько большими частицами. Мы также обсуждаем текущие ограничения и пути улучшения.
2.4.1. Введение
Существует несколько программ на основе МДД, а в этом разделе мы представляем новую программу, Amsterdam DDA (ADDA), которая недавно была размещена в свободном доступе [181]. Её отличительной чертой является возможность параллелизовать одиночное МДД моделирование, используя несколько процессоров, что позволяет моделировать очень большие частицы, как показано для нескольких тестовых задач в этом разделе. Проверка ADDA для рассеивателей порядка длины волны и сравнения с другими программами МДД приведено в разделе 2.5.
В подразделе 2.4.2 подробно описана компьютерная программа ADDA, и показаны её преимущества по сравнению с аналогами. Несколько тестовых задач рассмотрены в подразделе 2.4.3, результаты этого моделирования обсуждаются в подразделе 2.4.4, а ошибки сравниваются с известными результатами для меньших частиц. В подразделе 2.4.5 приведено заключение, и обсуждается дальнейшая работа.
2.4.2. Компьютерная программа ADDA
ADDA разрабатывалась в течение более 10 лет в Университете Амстердама [34,35,69]. При этом её основной характеристикой всегда была параллельность с
* Результаты данного раздела опубликованны в Yurkin M.A., Maltsev V.P., Hoekstra A.G. The discrete dipole approximation for simulation of light scattering by particles much larger than the wavelength. // J. Quant. Spectrosc. Radiat. Transf. – 2007. – V.106. – P.546-557.
99
разделением одной задачи на несколько процессоров в отличие, например, от программы DDSCAT (см. параграф 2.5.2.2), которая позволяет параллельное вычисление нескольких задач (например, разных ориентаций одной частицы), но ровно по одной на каждом процессоре. Поэтому ADDA не ограничена объёмом памяти одного компьютера, что позволяет использовать очень большое количество диполей. Автор данной диссертации существенно улучшил имеющуюся на тот момент программу, полностью переписав некоторые части и оптимизировав остальные. В результате скорость увеличилась в разы (данные не приведены), также кардинально улушились надёжность и удобство работы. Начиная с мая 2006 г., исходный код ADDA и документация свободно доступны [181].
Бóльшая часть ADDA соответствует стандарту ANSI C, что гарантирует переносимость на уровне исходного кода, в частности, программа полностью работает под Linux и любыми вариантами Windows. Параллелизация на несколько процессоров основана на геометрическом разделении рассеивателя и парадигме «одна программа – разные данные» (single-program-multiple-data), при этом для общения между процессорами используется стандарт MPI (message passing interface).* Используя MPI, ADDA также может работать на компьютерах с общей памятью, например, на многоядерных процессорах. Для вычисления БПФ, используемых при умножении матрицы на вектор в итерационном методе, используется либо подпрограмма Темпертона (Temperton) [182] либо более совершенный пакет программ FFTW 3 («Fastest Fourier transform in the West») [183]. Последний обычно значительно быстрее,
но его использования требует отдельной установки.
ADDA позволяет использовать одно из четырёх выражений для поляризуемости: KM, РИ, ДСР и ИДСР, и один из четырёх итерационных методов: СГНH, Би-СГСтаб, Би-СГ(КС) и КМН(КС). Критерий остановки итераций формулируется в терминах относительной L2-нормы невязки, которая должна быть меньше чем уровень εit,
величина которого по умолчанию εit = 10−5.
Обычно МДД формулируется в виде уравнения (22). Если тензор поляризуемости диагонален для всех диполей, то существует βi , такой что βi βi = αi , т.е. βi = αi .
Более того тогда βi комплексно симметричный, как и матрица с элементами
* http://www.mpi-forum.org
100
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
I, |
|
|
|
|
|
|
i = j, |
|
|||
Aij |
= |
|
|
|
|
|
|
|
|
(171) |
|||
β |
G |
|
β |
|
, i ≠ |
j, |
|||||||
|
|
− |
ij |
j |
|
||||||||
|
|
|
|
i |
|
|
|
|
|
где A это как раз матрица взаимодействия, используемая в ADDA, т.е. решается следующая система линейных уравнений:
∑ |
|
ij x j = xi − ∑ |
|
i |
|
ij |
|
j x j = |
|
i Eiinc , |
|
A |
β |
G |
β |
β |
(172) |
||||||
j |
|
j≠i |
|
где xi = βi−1Pi это новый вектор неизвестных. Уравнение (172) можно также получить предобусловливанием Якоби с сохранением комплексной симметричности матрицы. Однако мы не исследовали насколько это предобусловливание влияет на сходимость итерационного метода. Важно отметить, что МДД не ограничен диагональной или симметричной поляризуемостью – можно использовать любой тензор, но при этом матрица может быть не комплексно симметричной, следовательно КМН и Би-СГ будут менее эффективны.
С помощью ADDA можно усреднять любую измеряемую характеристику по трём углам Эйлера (α, β, γ), описывающим ориентацию частицы. Усреднение по углу α производится путём единственного вычисления внутреннего поля и дальнейшего вычисления индикатрисы рассеяния в различных плоскостях, что относительно быстро. Усреднение по остальным двум углам производится независимым моделированием для каждой ориентации. Само усреднение проводится с помощью метода интегрирования Ромберга [184], который может использоваться адаптивно (т.е. автоматически моделировать необходимое количество ориентаций до достижения заданной точности), но ограничивает возможное количество значений для каждого угла Эйлера числами вида 2p + 1, где p целое. Интервалы углов Эйлера можно сократить при наличии определённых симметрий рассеивателя, что ускоряет вычисления.
Другие возможности ADDA включают: моделирование рассеяния сфокусированного гауссова пучка [69], система контрольных точек для разделения длинных вычислений на несколько частей, вычисление силы излучения, действующей на каждый диполь [36], использование вращательной симметрии для сокращения вычислений вдвое и богатый интерфейс командной строки. Также в ближайшем будущем планируется добавить некоторые другие возможности, такие как большой набор готовых форм частиц.
Есть несколько факторов, почему вычислительная эффективность ADDA превосходит все аналоги. Во-первых, используемый пакет программ FFTW 3 автоматически приспосабливается к конкретным аппаратным средствам, и поэтому
быстрее большинства аналогов. Более того ADDA выполняет трёхмерное БПФ не за
101