- •Содержание
- •Введение
- •Глава 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. Расчёт деполяризованного бокового рассеяния зернистым шаром в рамках второго борновского приближения
Таблица 8. Время вычислений и память, используемая четырьмя программами МДД, для двух тестовых задач.
|
|
|
Время вычислений |
Требуемая |
|
|
|
одной ориентации, с |
память, МБ |
Куб |
msi |
SIRRI |
45 |
54.1 |
1 ориентация |
|
DDSCAT |
51 |
22.5 |
21 952 диполей |
|
ZDD |
273 |
21.6 |
|
mic |
ADDA |
18 |
15.3 |
|
SIRRI |
19 |
54.1 |
|
|
|
DDSCAT |
37 |
22.5 |
|
|
ZDD |
85 |
21.6 |
Сфероид |
msi |
ADDA |
9 |
15.3 |
SIRRI |
137 |
74.8 |
||
80 ориентаций |
|
DDSCAT |
13 |
32.3 |
20 775 диполей |
|
ZDD |
–a |
–a |
|
mic |
ADDA |
11 |
21.6 |
|
SIRRI |
41 |
74.8 |
|
|
|
DDSCAT |
10 |
32.3 |
|
|
ZDD |
13 |
–a |
|
|
ADDA |
5 |
21.6 |
a Эта величина не была измерена.
МДД на практике. Результаты измерения этих двух величин для нескольких задач приведены в таблице 8. Все вычисления этого раздела проводились в Финском научном вычислительном центре на суперкомпьютере IBMSC (IBM eServer Cluster 1600), состоящем из узлов IBM p690 на основе процессоров Power4 1.1 ГГц. IBMSC предназначен для эффективных параллельных вычислений, но, если используется только один процессор, его производительность сравнима с современным ПК.
На суперкомпьютере IBMSC рассмотренная версия ADDA намного быстрее остальных. Программа SIRRI также довольно быстра при вычислении в фиксированной ориентации, но очень медленна при усреднении по ориентации. Результаты, приведённые для сфероида в таблице 8, вычислены усреднением по 80 ориентаций, при этом DDSCAT, ZDD и ADDA используют 20 разных комбинаций углов Эйлера, для которых вычисляется внутреннее поле, и четыре плоскости рассеяния для каждой из них. Важно отметить, что вычислительная производительность программ может зависеть от конкретных аппаратных и программных средств (процессор, операционная система и компилятор). Например, DDSCAT быстрее чем ZDD на IBMSC, но на ПК
(x86 Windows) ZDD, скомпилированная с Watcom C++, быстрее чем DDSCAT,
скомпилированная с Absoft Pro Fortran (данные не приведены).
2.5.4. Обсуждение
Все рассмотренные программы имеют свои преимущества и недостатки. В частности, DDSCAT и ZDD точны, ADDA быстрая, а SIRRI очень гибкая в выборе ориентаций для усреднения. Все программы могут работать в параллельном режиме, а ADDA может использовать несколько процессоров для одной задачи. DDSCAT и
125
ADDA общедоступны. С другой стороны, DDSCAT не может динамически выделять память, DDSCAT и ADDA не достаточно гибки в выборе ориентаций для усреднения, SIRRI имеет плохую точность для поляризации вблизи направления назад и т.д. «За и против» различных программ следующие:
SIRRI
+Быстра в фиксированной ориентации.
+Написана на Фортране 90 – динамически выделяет память и считывает имя файла с параметрами из командной строки, поэтому компилируется только раз.
+Гибкий формат файла с параметрами.
+Применима к анизотропным материалам.
+Пользователь может указать список ориентаций частицы для усреднения.
+Вычисляет текущее среднее, позже можно добавлять дополнительные ориентации.
−Доступна только коммерчески.
−Одна из двух наименее точных программ.
−Поляризация при θ = 180° не равна нулю.
−Медленная при усреднении по ориентации.
−Наиболее требовательна к памяти.
DDSCAT
+В среднем наиболее точная программа для данного набора задач и параметров.
+Вторая по скорости при усреднении по ориентации.
+Полный исходный код и документация общедоступны.
+Применима к анизотропным материалам.
−Написана в Фортране 77 – требует перекомпиляции для задач разных размеров.
−Программа использует фиксированное имя файла с параметрами, поэтому при одновременной работе каждый процесс должен быть в отдельной директории.
−При полном отказе системы во время вычислений всё требуется повторить сначала. Дополнительные ориентации можно добавить только вручную.
ZDD
+Точная, почти как DDSCAT.
+Относительно быстрая на процессорах x86.
+Динамическое выделение памяти и интерфейс командной строки.
+Может продолжать вычисления после полного отказа системы и добавлять новые
ориентации к старым результатам.
126
+Может работать параллельно без общения между процессами – результаты с разных компьютеров обрабатываются позже.
−Самая медленная при фиксированной ориентации на суперкомпьютере.
−Не доступна для широкой публики.
ADDA*
+Самая быстрая и наименее требовательная к памяти.
+Может работать параллельно, используя MPI и разделяя одну задачу на несколько процессоров, что позволяет моделировать очень большие частицы.
+Полный исходный код и документация общедоступны.
+Динамическое выделение памяти и интерфейс командной строки с богатыми возможностями. Интерфейс входных и выходных файлов приспособлен для одновременного расчёта нескольких параллельных задач.
+Система контрольных точек для восстановления после полного отказа системы или разделения длинных вычислений на части.
+Может моделировать рассеяние фокусированного гауссова пучка.
+Усреднение по ориентации может выполняться в адаптивном режиме, т.е. до достижения заданной точности. Однако платой за это является малая гибкость в выборе ориентаций для усреднения.
+Применима к анизотропным материалам.
−Сложная система усреднения по ориентации может приводить к плохой точности для симметричных частиц, если пользователь не изменит вручную входные файлы для учёта симметрии частицы.
−В настоящее время доступно только несколько форм частиц, однако любую конфигурацию диполей можно считать из файла, имеющего гибкий формат.
* Характеристики соответствуют версии 0.77.
127