- •Содержание
- •Введение
- •Глава 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.5.2 описаны четыре компьютерные программы на основе МДД, а в подразделе 2.5.3 обсуждаются детали и результаты сравнения. В подразделе 2.5.4 приводятся выводы об эффективности и особенностях программ.
2.5.2. Программы МДД
Несколько исследователей (или групп) реализовали МДД в виде программ для собственного использования. В дальнейшем некоторые из них стали доступны для других, либо свободно, либо на коммерческой основе. В данном разделе сравниваются четыре реализации МДД: коммерчески доступная SIRRI, общедоступные DDSCAT и ADDA, а также ZDD, который пока не доступен для широкой публики. Эти программы детально описаны в следующих параграфах.
2.5.2.1. SIRRI
Программа SIRRI основана на подходе эквивалентном ЛАК, разрабатывается компанией «Simulintu Oy» в Финляндии и написана на Фортране 90. Морфология рассеивателя считывается из файла, а все параметры вычислений считываются из специального файла, имеющего гибкий синтаксис на основе ключевых слов. Программа выделяет необходимую память динамически, поэтому не требуется компилировать её заново при изменении размера задачи. Система уравнений для изотропных частиц является комплексно симметричной, поэтому для её решения используется КМН(КС). Для умножения матрицы на вектор используются подпрограммы БПФ из математической библиотеки IMSL.* В текущей версии индикатриса вычисляется только в одной плоскости для каждой частицы, однако, как обсуждается для программы ZDD (см. параграф 2.5.2.3), вычисление в нескольких плоскостях увеличило бы эффективность усреднения по ориентации.
2.5.2.2. DDSCAT
Программа DDSCAT написана Дрейном и Флато [47] на Фортране 77 и полностью переносима (машинонезависима). Текущая версия 6.1 [142], исходный код и подробная документация общедоступны.† Программа может автоматически создавать дискретизацию определённых стандартных форм: шаров, сфероидов, эллипсоидов, параллелепипедов, тетраэдров, цилиндров, гексагональных призм и др. В дополнение к этому пользователь может задать любую форму во входной файле. DDSCAT может
* http://www.absoft.com/Products/Libraries/imsl.html
† http://www.astro.princeton.edu/~draine/
114
работать с анизотропным диэлектрическим тензором и рассеивателями из нескольких материалов.
Параметры задачи светорассеяния (форма, размер, и ориентация частицы и набор характеристик, которые требуется вычислить) считываются из файла, а в другом файле задаётся таблица диэлектрической проницаемости или показателя преломления как функция длины волны – DDSCAT автоматически интерполирует значение для конкретной длины волны, указанной в файле с параметрами.
В DDSCAT имеется два варианта БПФ: GPFA [182,188] или FFTW 2.1 [183], и два варианта итерационного метода: предобусловленный по Якоби Би-СГСтаб из пакета параллельных итерационных методов (PIM), созданного да Кунхой (da Cunha) и Хопкинсом (Hopkins), и реализация СГНО Петравича (Petravic) и Куо-Петравич (KuoPetravic) [189]. Все необходимые подпрограммы входят в распространяемый пакет DDSCAT. Версия 6.1 поддерживает MPI и может одновременно решать несколько задач (например, различные ориентации частицы или длины волн) на нескольких процессорах.
2.5.2.3. ZDD
Программа ZDD разрабатывается в Астрономическом институте Харьковского национального университета [119,190,191] Зубко и Шкуратовым с 1999 г. Она написана на C++ и легко переносима. Для поляризуемости диполей используется ДСР, а для умножения матрицы на вектор с 2001 г. используется БПФ. В качестве итерационного метода возможно использование Би-СГСтаб или метода эквивалентного Би-СГ(КС), последний использовался в данном разделе.
Аналогично DDSCAT и ADDA, ZDD вычисляет индикатрису в нескольких плоскостях для каждой ориентации частицы – эти вычисления относительно быстры и улучшают точность итоговых результатов. В приведённых вычислениях использовалось по четыре равномерно расположенные плоскости рассеяния. Большинство переменных представлены в одиночной точности, однако промежуточные коэффициенты в итерационном методе вычисляются в двойной точности, что частично исправляет замедление сходимости из-за накопления ошибок округления без существенного увеличения требований к памяти.
ZDD может работать на кластере персональных компьютеров, распределяя отдельные задачи аналогично DDSCAT. При этом параллелизация производится на уровне скриптов – каждый процессор работает независимо, а после обрабатываются результаты из всех выходных файлов. Все выходные данные сохраняются в бинарном
115