Теоретическое и экспериментальное исследование оптического захвата биологических микрообъектов в лазерных пучках, сформированных дифракционными оптическими элементами тема диссертации и автореферата по ВАК РФ 01.04.05, кандидат наук Рыков, Михаил Александрович

  • Рыков, Михаил Александрович
  • кандидат науккандидат наук
  • 2014, Самара
  • Специальность ВАК РФ01.04.05
  • Количество страниц 103
Рыков, Михаил Александрович. Теоретическое и экспериментальное исследование оптического захвата биологических микрообъектов в лазерных пучках, сформированных дифракционными оптическими элементами: дис. кандидат наук: 01.04.05 - Оптика. Самара. 2014. 103 с.

Оглавление диссертации кандидат наук Рыков, Михаил Александрович

Содержание

Введение

Глава 1. Численное моделирование процесса оптического захвата биологического микрообъекта

1.1. Основные сведения о моделируемых микрообъектах

1.2. Метод расчета

1.3. Моделирование движения частицы в оптической ловушке

1.4. Учет теплового воздействия на микрообъект

1.5. Выводы

Глава 2. Пучки с распределением интенсивности в виде полумесяца

2.1. Теоретическое исследование распределения интенсивности в виде полумесяца

2.2. Теоретическая оценка повреждающей способности пучков-полумесяцев

2.3. Измерения дифракционной эффективности ДОЭ, образующих пучки-полумесяцы

2.4. Эксперименты по оптическому манипулированию клетками БасскаготусеБ сегеУ1$1ае при помощи пучков-полумесяцев

2.5. Выводы

Глава 3. Суперпозиция вихревых пучков с разными топологическими

зарядами для формирования пучка в форме полумесяца

3.1. Вихревые пучки в задачах оптического манипулирования

3.2. Распределение интенсивности в форме полумесяца с кусочно-непрерывной фазой

3.3. Теоретическая оценка повреждающей способности и поля оптических сил суперпозиции вихревых пучков

3.4. Эксперименты по оптическому манипулированию клетками К562

при помощи луча, являющегося суперпозицией вихревых пучков

3.5. Выводы

Заключение

Список литературы

Приложение А. Инструмент численного моделирования

А.1. Постановка задачи моделирования

А.2. Краткое описание математической модели

А.З. Варианты использования программного продукта

А.4. Анализ математической модели и выделение сущностей

А.5. Детальный проект программного продукта

А.6. Функциональный проект программного продукта

Рекомендованный список диссертаций по специальности «Оптика», 01.04.05 шифр ВАК

Введение диссертации (часть автореферата) на тему «Теоретическое и экспериментальное исследование оптического захвата биологических микрообъектов в лазерных пучках, сформированных дифракционными оптическими элементами»

Введение

Актуальность темы исследования. Оптические ловушки (также оптический пинцет) — бесконтактный инструмент, использующий воздействие одного или несколько лазерных пучков, приводящих к генерации пиконьютонных сил, на частицу. Эта возможность представляет особый интерес в ряде областей: атомная физика, биология, микрохирургия, нанотехнология и микромеханика, а также при изучении свойств коллоидов, микро-потоков и световых пучков.

Оптический пинцет с момента его изобретения Ашкиным в 1986 году [1] стал исключительно полезным инструментом для манипулирования отдельными биологическими клетками ([2]) и проведения сложных биофизических и биомеханических исследований. Особыми преимуществами оптических ловушек является отсутствие механического контакта при манипулировании, применимость метода для работы в жидких средах.

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

Оптический пинцет широко используется в микро- и молекулярной биологии. Самым простым применением является позиционирование клеток, удерживание их в текущей жидкости. В [3] использовали эту технику для количественного исследования процесса ферментации отдельной клетки дрожжей, осуществив таким образом наблюдение в реальном времени в области клеточной биохимии. Для исключения ротации клетки может использоваться, к примеру, технология голографической оптической ловушки [4].

Другим важным применением является перемещение клетки. Бесконтактное перемещение клетки внутри жидкости весьма желательно для манипуляции клеткой в стерильных условиях. Оптический пинцет был применён для перемещения

нейронов и создания из них группы [5].

Традиционным и широкораспространённым применением оптического захвата является также флуоресцентно-активируемая сортировка клеток (РАС8; [6]) Клетки выбираются на основании флуоресцентного сигнала из области обнаружения. Более простым является обычная идентификация клеток с помощью обработки изображений, полученных при микроскопии. Например, в [7] использовали обработку изображения для идентификации отдельной клетки и ловушку на встречных пучках для сортировки кровяных клеток.

Также оптический пинцет применяется для организации клеток в структуры, в качестве лазерного скальпеля и для опто-инъекций, оптического катализирова-ния биологических процессов, измерения сил пиконьютонного масштаба, исследований механических свойств клеток с помощью растяжения, сжатия, складывания [8, 9]. Последнее применение особенно широко распространено в силу того, что многие патологические процессы, происходящие внутри клеток, часто имеют внешнее проявление в виде изменения жёсткости мембраны клетки [10]. Так, например, известно, что при определённых болезнях мембрана эритроцита покрывается слоем патологического белка. Сравнивая жёсткость клетки на растяжение и сдвиг (складывая её пополам) с эталоном, можно определить модуль жесткости мембраны клетки, и, следовательно, вид и степень поражения.

В настоящий момент изучается также возможность использования эритроцитов для доставки лекарственных препаратов (белков и других молекул) в клетки, поэтому есть необходимость изучения поведения эритроцитов, которым были сделаны соответствующие инъекции, так как эластичность влияет на прохождение эритроцита по кровеносным сосудам [11].

Несмотря на огромное преимущество перед контактными техниками, оптический захват, тем не менее, может привести к повреждению захватываемого биоматериала [12], что в ряде случаев является крайне нежелательным эффектом.

Повреждение биологических микрообъектов продолжает оставаться трудностью, сдерживающей применение технологии оптического пинцета. Основная при-

чина повреждений зависит от используемых биологических образцов, интенсивности и длины волны излучения лазера. В статье Кёнига [13], к примеру, приведены экспериментальные данные, указывающие, что использованные для эксперимента сперматозоиды погибали в течение 30-40 с при излучении с длиной волны 750-760 нм, но вмести с тем переживали десятиминутный интервал при излучении с длиной волны 800 нм (смерть определялась по окрашиванию клеток в синий пропидием йодидом). Авторы полагают, что такие процессы связаны с мульти-фотонной абсорбцией и, как следствие, образованием синглетного кислорода и токсичных кислородных радикалов. Кроме того, существенным является и поглощение излучения раствором, окружающим фокус лазера [14]. Петерман и его коллеги показывают, что прозрачные частицы являются дополнительными линзами на оптическом пути пучка, в силу чего повышение температуры может составлять до 0,8 К в его фокусе. В статье Нг и Чжоу [15] показывается, что клетки К562 реагируют не только на само излучение, но и на частоту сканирования: пятно фокуса оптической ловушки в их экспериментах сканировало клетки с различной частотой, от 1 до 2000 раз в секунду, а также на амплитуду этого сканирования. Хотя в грубом приближении прослеживается рост повреждений с увеличением обеих этих величин, полученная экспериментально зависимость выживаемости клеток от них имеет довольно сложных характер.

За критической границей (800 нм) для клеток Е. coli было показано, что основным параметром, влияющим на жизнедеятельность клеток со стороны оптической ловушки, является общее количество поглощённого излучения (см., например, [16]: используемая там длина волны лазера составляет 1064 нм, поглощённая отдельной клеткой энергия, влияющая на деление — 0,36 Дж, а на рост — 0,54 Дж). Исследование Мирсаидова и его коллег [17] детально рассматривает проблемы фотоповреждения захватываемого биоматериала на примере этих же бактерий. Сравнивая множественные ловушки с разделением по времени и множественные ловушки на основе голографических оптических ловушек (holographic optical tweezers, НОТ) (аналогичные техники применяются достаточно широко,

см., например, [18,19]), авторы приходят к выводу, что в обоих случаях основную роль играет суммарная энергия, поглощённая клеткой. Результаты этого исследования показывают, что летальным для клетки Е. coli является количество энергии в 5 Дж.

Между тем, некоторые клетки, напротив, устойчивы к лазерному излучению. Так, доклад МакАлиндена [20] позволяет предположить, что регуляторные Т-клет-ки могут быть подвергнуты оптическим манипуляциям без особых последствий: после 65 минут облучения их светом с длиной волны 1064 нм и мощностью 400 мВт позитивную реакцию на пропидий йодид показали только 33% из них.

Также в литературе приводятся различные математические модели, позволяющие теоретически оценить повреждающие эффекты оптических ловушек. В качестве примера можно привести статью Кларка [21]. В ней в основу модели перехода между термическим (неизбежным и непрерывным процессом) и фотохимическим (принципиальным, не совместимым с дальнейшей жизнью клетки) повреждением положен процесс накопления в клетке условных молекул вещества В*, которое в то же самое время реагирует с молекулами £ переходя при этом в безвредное состояние. Превышение порога содержания вещества В* в клетке ведёт к её смерти. Вместе с тем, любая концентрация В* с некоторой вероятностью запускает цепочку событий, ведущую к смерти клетки. Модель, построенная авторами, согласуется с результатами эксперимента и предполагает наличие временного предела для экспозиции, а также зависимость от мощности лазера (учитывая, что речь идёт о концентрации опасного вещества) и от длины его волны (в силу необходимости поглощения фотона для оказания вредящего эффекта).

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

между захватываемым объектом и клеткой. Несмотря на высокую эффективность этого метода в свете уменьшения повреждения, он довольно сложен в использовании. Кроме того, некоторые клетки (такие, как, например, определённые разновидности К562 [23]) обладают крайне плохой способностью приклеиваться к поверхностям.

Следует также отметить, что основная опасность повреждения заключается не столько в разрушении и смерти клетки (обычно мощность и длина волны захватывающего излучения такова, что гибель клетки наступает только через десятки минут), сколько в генетическом повреждении. Степень генетического повреждения сильно зависит от распределения этого излучения внутри самой клетки. Очевидно, что повреждение ядра клетки будет влиять на её жизнеспособность гораздо сильнее, чем повреждение менее значимых органелл. Следовательно, необходимо захватывать, по возможности не воздействуя на ядро, что не является простой задачей. Однако при высоких значениях числовой апертуры используемых 9бъ-ективов и использовании гауссова захват сразу происходит за самую оптически плотную часть клетки, которой в большинстве случаев является ядро [24].

Итак, оптические повреждения биологических микрообъектов — реальный фактор, ограничивающий использование оптического пинцета в биологии. В литературе предлагается несколько основных стратегий, позволяющих минимизировать это повреждение. Одна из них — выбор правильной длины волны рабочего излучения. Следующая — сокращение времени экспозиции и мощности используемого лазера. Из этого следует, что установка оптического захвата должна быть максимально оптимизирована под конкретную задачу: пути перемещения в ловушке захватываемой частицы должны быть максимально специализированными. Кроме того, важным является общее количество поглощённой энергии, а потому актуально использовать ловушки модифицированной формы, создающие условия для эффективного отвода энергии от захваченной клетки (облучающие только периферию) или исключающие поглощение в принципе (непрямой захват с использованием дополнительных силиконовых шариков).

В литературе так же широко представлены методы модификации оптического пучка для решения тех или иных прикладных задач. В качестве примера можно привести работы [25—27]. Существующую литературу по этой теме можно классифицировать по двум критериям: цели модификации пучка и изменяемости используемого ДОЭ. Основных целевых направлений модификации два: создание систем оптических ловушек, позволяющих захватывать и манипулировать сразу несколькими частицами и наделение пучка некоторыми специальными свойствами. Используемый при этом ДОЭ может быть либо изменяемым в реальном времени (НОТ, полученные при помощи пространственного модулятора света, БЬМ), либо статическим — микрорельефом на прозрачной пластинке или оптоволокне (см., например, [11]). Разумеется, цель модификации зачастую определяет, должен ли используемый ДОЭ быть изменяемым. Изменяемые ДОЭ обычно управляются ЭВМ и могут быть легко изменены в режиме реального времени, что является их огромным преимуществом. Процесс изготовления статических ДОЭ, в то же время, весьма сложен и на большинстве своих этапов необратим. С другой стороны, энергетическая эффективность изменяемых ДОЭ — модуляторов — ниже, поэтому статические ДОЭ предпочтительнее, если не предполагается изменения профиля пучка. Кроме того, ДОЭ на прозрачных подложках позволяют упростить оптическую схему эксперимента, а также имеют более высокое разрешение при меньших размерах, что исключает необходимость расширять пучок лазера при их использовании до 1-2 см, как это обычно необходимо делать при использовании пространственных модуляторов.

Типичным исследованием оптического захвата с использованием оптического модулятора является работа под руководством Моради [28], где показана возможность создания множественных ловушек с помощью изменяемых ДОЭ с контролем силы захвата в каждой элементарной ловушке. Похожая работа была выполнена несколько ранее Эмилиани и его коллегами [29].

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

го захвата или фиксированной ориентации захваченных объектов. В этом случае сечение пучка обычно сравнимо с размером захватываемого объекта. Во-вторых, отличные от гауссова распределения создаются для сортировки или конвейерного перемещения захваченных частиц в пространстве. Это позволяет осуществлять оптические манипуляции при неподвижном пучке. Пучок в этом случае фокусируется в пятно, несколько раз превышающее объекты в размерах.

В качестве модификаций первого из перечисленных типов часто используются различные суперпозиции мод свободного пространства. Так, например, различные порядки мод Гаусса-Лагерра используются для управления ориентацией и вращением захваченных частиц, как это было показано, например, в [30] и [31]. Особенный интерес вызывают так называемые "оптические бутылки" — пучки, поперечное распределение интенсивности которых имеет обширные области с нулевой интенсивностью. В работе [32] представлен новый тип пучков — пустые гиперсинус-гауссовы пучки, образующие в плоскости перетяжки чётко выраженное кольцо. Олсон и его коллеги разработали метод получения "оптических тоннелей", используя генетические алгоритмы для нахождения коэффициентов при сферических функциях, в суперпозиции дающих необходимое распределение [33].

В [34] были изучены свойства пучка, являющегося суперпозицией двух вихревых пучков с противоположными топологическими зарядами. Было отмечено, что пучок может служить для захвата объектов определённого размера, поскольку захват становился возможным лишь начиная с определённого размера — зависящего, при том, от порядка выбранных аксиконов.

Моды могут совмещаться не только в фокальной плоскости, но и более сложно. Разработанная в [35] композиция с небольшим смещением гауссова пучка и моды Гаусса-Лагерра (1,1) образует похожее в продольном сечении на подкову распределение интенсивности. Отметим, однако, что авторы исследования не использовали это распределение для оптического захвата, а лишь предположили возможность такого использования. Иногда уже существующие распределения под-

вергаются небольшим модификациям при помощи фазовых ДОЭ. К примеру, в работе [36] изучались пучки Лоренц-Гаусса и оценивалось их возможное применение для оптического захвата. Было показано, что лоренц-гауссовы пучки при захвате объекта перед фокальной плоскостью обеспечивают большую устойчивость захвата.

Наконец, очень важным применением статических ДОЭ являются различные оптические конвейеры — распределения интенсивности, которые перемещают все захваченные частицы в определённом направлении, и фильтры — распределения интенсивности, захватывающие частицы только одного типа (одной формы, одной плотности, одного размера и т.д.). В таких схемах энергетическая эффективность оптических элементов часто играет большую роль. В качестве примера можно привести [37] — стоит отметить, однако, что в самой работе используются модуляторы — ДОЭ в этом исследовании используются для создания комбинаций оптических ловушек, позволяющих контролировать сбор частиц и их дальнейшее пространственное распределение.

Некоторые модификации пучка не требуют ни сложных модуляторов, ни дорогих в изготовлении ДОЭ. В работе [38] представлено простое и изящное решение, позволяющее менять жёсткость ловушки простым изменением выходного зрачка объектива, проецирующего пучок в предметную плоскость. Показано, что профиль потенциальной ямы вблизи максимума интенсивности пучка сильно зависит от формы апертуры.

В работах [39, 40] описан метод формирования суперпозиции вихревых световых пучков для вращения микрообъектов, за счет использования составных ДОЭ, в которых формирование вихревых пучков с разным топологическим зарядом осуществляется за счет пространственного разделения его участков, отвечающих за их формирование, на площади ДОЭ. Полученные в этих работах распределения используются в дальнейшем для вращения микротурбин. Для задач цитологии, однако, более важным является возможность контролируемого перемещения захваченного объекта. В данной диссертации предлагаются распределения, оптими-

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

В работах [41, 42] описывается метод создания оптических бутылок при помощи суперпозиции бесселевых пучков нулевого порядка, а также показана возможность захвата и перемещения объектов такими пучками. Однако областью применения таких пучков являются непрозрачные объекты и объекты с довольно большим относительным показателем преломления (> 1,1). Живые клетки имеют показатель преломления п « 1,03 - 1,04 [43], поэтому для обеспечения условий захвата, аналогичных предложенным в работах Порфирьева, требуется обеспечить угол падения на мембрану клетки > 89°, что довольно сложно осуществить технически. Вместо этого предлагается не избегать прохождения света через клетку, но контролировать это прохождение таким образом, чтобы центральные области клетки не попадали под длительное излучение лазера при перемещении и удержании клетки.

Как видно из обзора источников, основным техническим средством модификации лазерного пучка является использование пространственных модуляторов, а основным применением — множественный захват и сортировка. Вместе с тем, существуют примеры работ, в которых модификацией лазерного пучка добиваются именно повышения эффективности захвата — большей величины оптической силы при той же мощности излучения. К сожалению, большинство способов оптического захвата, которые представлены выше, плохо работают в случае биологических микрообъектов из-за малого относительного показателя преломления. Как будет показано ниже, изготовление ДОЭ на твёрдых подложках имеет свои преимущества перед пространственными модуляторами.

Для создания модифицированной оптической ловушки для биологических микрообъектов необходим метод расчета силы, действующей на биологический

микрообъект в световом пучке. Метод должен позволять учитывать, в том числе, наличие внутренней структуры в биологических микрообъектах. В литературе описаны самые разные способы теоретического исследования процессов оптического захвата. Методы прямого численного решения уравнений Максвелла (ГОТО, к примеру) не имеют большой популярности в силу большого объёма вычислений: положение частицы в пучке меняется слишком быстро, чтобы время вычисления одной сцены порядка часа было оправданным. Для крупных объектов (г » Я) обычно используют приближение геометрической оптики, для очень маленьких (г «: Л) — теорию рассеяния Рэлея. Биологические объекты попадают на границу этих двух диапазонов (г « Л или г и 10 • Д), поэтому однозначного ответа на вопрос, какой подход стоит использовать, не существует.

Приведём примеры наиболее распространённых подходов к решению таких численных задач.

Во многих работах, посвящённых теории оптического захвата используется разработка Ниеминена [44], моделирующая захват оптическим пинцетом. Напи- г санная им в соавторстве с другими учёными программная библиотека на языке МаЙаЬ позволяет рассчитывать оптические силы и моменты оптических сил для сферических и несферических объектов в гауссовых и других типах пучков. Авторы указывают, что по своим характерным размерам объекты оптического захвата попадают как раз между границами применимости теорий рассеяния Рэлея и геометрической оптики. Кроме того, решение задачи в рамках теории Лоренца-Ми представляет собой существенные математические и вычислительные сложности, особенно в случае рассмотрения в задаче несферических частиц. Вместо этого Ниеминен предлагает использование метода Г-матриц. Он указывает на то, что Г-матрицы не зависят непосредственно от падающего поля, завися вместо этого от длины волны излучения и характеристик самого объекта (геометрических параметров, ориентации, состава). Таким образом, найдя один раз набор Г-матриц для объекта в заданной ориентации, можно вычислить действующие на него оптические силы и моменты сил для любого его положения в пучке. ;

с

Не отрицая достоинств разработанного инструмента, тем не менее, стоит указать, что несмотря на возможность расчёта для негауссовых пучков, моделируемое излучение всё равно должно быть разложено по базису бесселевых функций, что не всегда выгодно с вычислительной точки зрения. Возможность же использовать несферические объекты действительно существует, однако сами авторы указывают в численном эксперименте с кубом с ребром 2Л/я (Л — длина волны, масштабируемая величина, в представленных численных экспериментах — 1064 нм; п — показатель преломления среды, конкретное значение — 1,59), что несимметричный объект потребовал бы порядка 30 часов для предварительного обсчёта.

Симпсон и Ханна решают проблему моделирования оптических сил при помощи метода дискретных диполей [45]: захватываемый объект аппроксимируется как конечный набор диполей, каждый из которых взаимодействует с падающим излучением. В этом подходе решена проблема случайности формы исследуемого объекта: представить в виде конечного набора диполей можно любую форму.

Однако с ростом объёма объекта растёт и время, необходимое на его обсчёт, достигая двух минут для условно больших моделей. Кроме того, если необходимо выделять в клетке какие-то отдельные части и следить за их состоянием, этот метод не подойдёт: он плохо работает с неоднородными объектами.

Другими словами, модификации теории Лоренца-Ми, несомненно интересные в теоретическом смысле, не очень подходят для целей практического применения в области захвата биологических объектов и изучения оптических повреждений, поскольку это означает частые прогоны расчётов как различных вариантов одной и той же сцены, так и различных сцен, некоторые из которых не получат дальнейшего развития в рамках натурного эксперимента. Расходы времени на моделирование предложенными методами всё ещё неоправданно велики. Кроме того, как будет показано ниже, в практике оптического захвата встречаются пучки с крайне нерегулярной фазой. Их разложение в ряд функций Бесселя не является тривиальной задачей — а без этого невозможен метод Г-матриц. Важной частью изучения захвата таких биологических объектов, как, к примеру, живые клетки,

предполагает получение информации о состоянии внутренней структуры клеток, что не очень удобно делать методами дискретных диполей.

Таким образом, логичным выбором в данном случае является приближение геометрической оптики. Несмотря на серьёзные погрешности метода в задачах с характерным размером 1мкм (в [46] приводятся данные, позволяющие считать геометрическое приближение удовлетворительным, начиная с этого размера), которыми и являются наши эксперименты по захвату биологических объектов, подход широко используется в данной научной области.

В качестве примера такого использования можно привести статью [47], в которой авторы численно моделируют облучение двух концентрических сфер слабо сфокусированным лазерным пучком. Математическая модель в целом аналогична приведённым в [48] и [49], однако авторы производят расчёт только для тех падающих лучей, чьё направление распространения параллельно направлению распространения пучка. Для гауссова пучка это верно не для всех лучей, поэтому для остальных лучей авторы используют преобразование координат, позволяющее свести задачу к предыдущей. Авторы изучают оптические силы, действующие на их модельный объект, в зависимости от смещения из центра пучка в горизонтально плоскости и в зависимости от удаления объекта от перетяжки гауссова пучка. Результаты их вычислений совпадают с ранее озвученными ими же теоретическими данными [50].

Численные методы решения уравнений Максвелла (например, ГОТЕ)) редко применяются напрямую для задач теории оптического захвата из-за своей вычислительной сложности. Гораздо большей популярностью пользуются методы Г-матриц и метод дискретных диполей. Вместе с тем, характерный размер задачи (~ 10 мкм) и требование учитывать воздействие на компоненты клеток отдельно диктуют использование геометрической оптики для построения теории захвата биологических микрообъектов.

Исходя из анализа научной литературы по теме диссертации, следует предположить, что оптимальным приближением для теоретических построений являет- |

Похожие диссертационные работы по специальности «Оптика», 01.04.05 шифр ВАК

Список литературы диссертационного исследования кандидат наук Рыков, Михаил Александрович, 2014 год

Список литературы

1. Observation of a single-beam gradient force optical trap for dielectric particles / A. Ashkin, J. M. Dziedzic, J. E. Bjorkholm, S. Chu // Optics Letters. — 1986. — T. 11, № 5. — C. 288—290.

2. Ashkin A., Dziedzic J. M. Optical trapping and manipulation of viruses and-bacteria // Science. — 1987. — T. 235. — C. 1517—1520.

3. Real-time detection of hyperosmotic stress response in optically trapped single yeast cells using Raman microspectroscopy / G. P. Singh, C. Creely, G. Volpe, H. Groetsch, D. V. Petrov // Anal. Chem. — 2005. — T. 77. — C. 2564—2568.

4. Raman imaging of floating cells / C. M. Creely, G. Volpe, G. P. Singh, M. Soler, D. V. Petrov // Opt. Express. — 2005. — T. 13. — C. 6105—6110.

5. Micromanipulation of retinal neurons by optical tweezers / E. Townes-Anderson, R. S. S. T. Jules, D. M. Sherry, J. Lichtenberger, M. Hassanain // Molecular Vision. — 1998. — T. 4, № 12. — C. 168—173.

6. The history and future of the fluorescence activated cell sorter and flow cytometry: a view from Stanford / L. A. Herzenberg [h ap.] // Clin. Chem. — 2002. — T. 48. —C. 1819—1827.

7. Automated single-cell sorting system based on optical trapping. / S. C. Grover, A. G. Skirtach, R. C. Gauthier, C. P. Grover // Journal of Biomedical Optics. — 2001. —T. 6. —C. 14—22.

8. The Deformation of an Erythrocyte Under the Radiation Pressure by Optical Stretch / Y.-P. Liu, C. Li, K.-K. Liu, A. C. K. Lai // Journal of Biomechanical Engineering. — 2006. — T. 128. — C. 830—836.

9. Euler buckling-induced folding and rotation of red blood cells in an optical trap / A. Ghosh [h «p.] // Physical Biology. — 2006. — T. 1, № 3. — C. 67—73.

10. Li C., Liu K. K. Nanomechanical characterization of red blood cells using optical tweezers Authors // Journal of materials science. Materials in medicine. — 2008. — T. 19. —C. 1529—1535.

11. Xin H., Li B. Targeted delivery and controllable release of nanoparticles using a defect-decorated optical nanofiber // Optics Express. — 2011. — T. 19, № 14. — C. 13285—13290.

12. Stress response in Caenorhabditis elegans caused by optical tweezers: wavelength, power, and time dependence. / G. Leitz, E. Fallman, S. Tuck, O. Axner // Biophys. J. — 2002. — T. 82. — C. 2224—22231.

13. Cell damage in near-infrared multimode optical traps as a result of multiphoton absorption / K. Konig, H. Liang, M. W. Berns, B. J. Tromberg // Optics Letters. — 1996. — T. 21, № 14. — C. 1090—1092.

14. Peterman E. J., Gittes E, Schmidt C. F. Laser-Induced Heating in Optical Traps // Biophysical Journal. — 2003. — T. 84, № 2. — C. 1308—1316.

15. Ng K., Zhou Z, Ngan A. Frequency-dependent cell death by optical tweezers manipulation // Journal of Cellular Physiology. — 2013. — T. 228, № 10. — C. 2037—2041.

16. Quantitative measurement of damage caused by 1064-nm wavelength optical-trapping of Escherichia coli cells using on-chip single cell cultivation system / S. Ayano, Y. Wakamoto, S. Yamashita, K. Yasuda//Biochemical and biophysical research communications. — 2006. — T. 350, № 3. — C. 678—684.

17. Optimal optical trap for bacterial viability / U. Mirsaidov [h flp.] // Physical Review. E, Statistical, Nonlinear, and Soft Matter Physics. — 2008. — T. 78, 2 Pt 1. — C. 021910.

18. Horst A. van der, Forde N. R. Calibration of dynamic holographic optical tweezers for force measurements on biomaterials // Optics Express. — 2008. — T. 16, № 25. — C. 20987—21003.

19. Wave front engineering for microscopy of living cells / V. Emiliani [h flp.] // Optics Express. — 2005. — T. 13, № 5. — C. 1395—1405.

20. Viability studies of optically trapped T-cells / N. McAlinden, D. G. Glass, O. Millington, A. J. Wright //. T. 8097. — 2011. — 80970J-80970J-10.

21. Clark Clifton D 3., Denton M. L., Thomas R. J. Mathematical model that describes the transition from thermal to photochemical damage in retinal pigment epithelial cell culture // Journal of biomedical optics. — 2011. — T. 16, № 2. — C. 020504.

22. Optical micromanipulation of active cells with minimal perturbations: direct and indirect pushing / C. Wang, S. Chowdhury, S. K. Gupta, W. Losert // Journal of Biomedical Optics. — 2013. — T. 18, № 4. — C. 045001—045001.

23. Novel single-cell functional analysis of red blood cells using laser tweezers Raman spectroscopy: Application for sickle cell disease / R. Liu [h jtp.] // Experimental Hematology. — 2013. — T. 41, № 7. — 656—661.el.

24. Raman spectroscopy of individual monocytes reveals that single-beam optical trapping of mononuclear cells occurs by their nucleus / S. Fore, J. Chan, D. Taylor, T. Huser // Journal of Optics. — 2011. — T. 13, № 4. — C. 044021.

25. Controlling ghost traps in holographic optical tweezers / C. Hesseling, M. Woer-demann, A. Hermerschmidt, C. Denz // Optics Letters. — 2011. — T. 36, № 18. — C. 3657—3659.

26. Independent and simultaneous three-dimensional optical trapping and imaging / M. Yevnin, D. Kasimov, Y. Gluckman, Y. Ebenstein, Y. Roichman // Biomedical Optics Express. — 2013. — T. 4, № 10. — C. 2087—2094.

27. Shaping of light beams along curves in three dimensions / J. A. Rodrigo, T. Alieva, E. Abramochkin, I. Castro // Optics Express. — 2013. — T. 21, № 18. — C. 20544—20555.

28. Strength control in multiple optical traps generated by means of diffractive optical elements / A. Moradi, E. Ferrari, V. Garbin, E. Di Fabrizio, D. Cojoc // Optoelectronics and Advanced Materials — Rapid Communications. — 2007. — T. 1, №4. —C. 158—161.

29. Multi force optical tweezers to generate gradients of forces / V. Emiliani, D. Sanvitto, M. Zahid, F. Gerbal, M. Coppey-Moisan// Optics Express. — 2004. — T. 12, № 17. — C. 3906—3910.

30. Optical orientation and rotation of trapped red blood cells with Laguerre-Gaussian mode / R. Dasgupta, S. Ahlawat, R. S. Verma, R K. Gupta // Optics Express. — 2011. — T. 19, № 8. — C. 7680—7688.

31. Daria V. R., Go M. A., Bachor H.-A. Simultaneous transfer of linear and orbital angular momentum to multiple low-index particles // Journal of Optics. — 2011. — T. 13, № 4. — C. 044004.

32. Hollow sinh-Gaussian beams and their paraxial properties / Q. Sun [h jip.] // Optics Express. — 2012. — T. 20, № 9. — C. 9682—9691.

33. Olson C. C., Schermer R. T., Bucholtz F. Tailored optical force fields using evolutionary algorithms // Optics Express. — 2011. — T. 19, № 19. — C. 18543— 18557.

34. Size selective trapping with optical "cogwheel" tweezers / A. Jesacher, S. Fiirhapter, S. Bernet, M. Ritsch-Marte // Optics Express. — 2004. — T. 12, № 17. — C. 4129—4135.

35. Spatially shaping the longitudinal focal distribution into a horseshoe-shaped profile / R Brijesh, T. Kessler, J. Zuegel, D. Meyerhofer// Quantum Electronics and Laser Science Conference. — 2007. — C. 1—2.

36. Jiang X, Huang K., Lu X. Radiation force of highly focused Lorentz-Gauss beams on a Rayleigh particle // Optics Express. — 2011. — T. 19, № 10. — C. 9708— 9713.

37. Steuernagel 0. Coherent Transport and Concentration of Particles in Optical Traps using Varying Transverse Beam Profiles // arXiv:physics/0502023. — 2005.

38. Bowman R., Gibson G., Padgett M. Particle tracking stereomicroscopy in optical tweezers: Control of trap shape // Optics Express. — 2010. — T. 18, № 11. — C. 11785—11790.

39. Морозов А. А., Скиданов P. В. Вращение микротурбин в сложных вихревых пучках // Компьютерная оптика. — 2013. — Т. 37, № 2. — С. 203—207.

40. Морозов А. А., Скиданов Р. В. Сложные вихревые пучки для вращения микромеханических элементов // Компьютерная оптика. — 2013. — Т. 37, № 1. —С. 68—75.

41. Porfirev А. Р., Skidanov R. V. Generation of an array of optical bottle beams using a superposition of Bessel beams // Applied Optics. — 2013. — T. 52, № 25. — C. 6230—6238.

42. Порфиръев А. П., Скиданов P. В. Оптический захват микрочастиц в специальных ловушках // Компьютерная оптика. — 2012. — Т. 36, № 2. — С. 211— 218.

43. Determining refractive index of single living cell using an integrated microchip / X. Liang, A. Liu, C. Lim, T. Ayi, P. Yap // Sensors and Actuators A: Physical. — 2007. — T. 133, № 2. — C. 349—354.

44. Optical tweezers computational toolbox / T. A. Nieminen [и др.] // Journal of Optics A: Pure and Applied Optics. — 2007. — T. 9, № 8. — S196—S203.

45. Simpson S. H., Hanna S. Computational study of the optical trapping of ellipsoidal particles // Physical Review A. — 2011. — T. 84, № 5. — C. 053808.

46. Новотный Jl., Хехт Б. Основы нанооптики. — Москва: Физмат лит, 2011.

47. Optical force on a pair of concentric spheres in a focused laser beam: ray-optics regime / S. B. Kim, К. H. Lee, S. S. Kim, H. J. Sung // Journal of the Optical Society of America B. — 2012. — T. 29, № 9. — C. 2531—2541.

48. Скиданов Р. В. Расчет силы взаимодействия светового пучка с микрочастицами произвольной формы // Компьютерная оптика. — 2005. — Т. 28. — С. 18—21.

49. Stable optical lift / G. A. J. Swartzlander, T. J. Peterson, A. B. Artusio-Glimpse, A. D. Raisanen // Nature Photonics. — 2011. — T. 5, № 1. — C. 48—51.

50. Behavior of Double Emulsions in a Cross-Type Optical Separation System / К. H. Lee [и др.] // Langmuir. — 2012. — Май. — Т. 28, № 19. — С. 7343—7349.

51*. Скиданов Р. В., Рыков М. А. Моделирование движения биологических микрообъектов в световых пучках // Компьютерная оптика. — 2010. — Т. 34, №3. — С. 308—314.

52*. Скиданов Р. В., Рыков М. А. Суперпозиция вихревых световых пучков для захвата и перемещения биологических микрообъектов // Компьютерная оптика. — 2013. — Т. 37, № 4. — С. 431—435.

53*. Модификация распределения интенсивности лазерного пучка для оптимизации силовых характеристик оптической ловушки / Р. В. Скиданов, М. А. Рыков, Г. С. Инначионе, С. Г. Кривошлыков // Компьютерная оптика. — 2012. — Т. 36, № 3. — С. 377—386.

54*. Rykov М. A., Skidanov R. V. Modifying the laser beam intensity distribution for obtaining improved strength characteristics of an optical trap // Applied Optics. — 2014. — T. 53, № 2. — C. 156—164.

55. Lozzio С. В., Lozzio В. B. Human chronic myelogenous leukemia cell-line with positive Philadelphia chromosome // Blood. — 1975. — Март. — Т. 45, № 3. — С. 321—334, —PMID: 163658.

56. Leitz G., Greulich K. O., Schnepf E. Displacement and Return Movement of Chloroplasts in the Marine Dinophyte Pyrocystis noctiluca. Experiments with Optical Tweezers // Botanica Acta. — 1994. — Апр. — T. 107, № 2. — C. 90— 94.

57. Наумов В. А. Динамика дисперсной частицы вязкой среде // Математическое Моделирование. — 2006. — Т. 18. — С. 27—36.

58. Ландау Л. Д., Лифшиц Е. М. Теоретическая физика: Учебное пособие. В Ют. Т. VI. Гидродинамика. VI. — 3-е изд., перераб. — М.: Наука., 1986.

59. Дж. Хаппелъ Г. Б. Гидродинамика при малых числах Рейнольдса / под ред. Ю. А. Буевич. — М. — Мир, 1976.

60. Мссапп М. С., Wells В., Roberts К. Direct visualization of cross-links in the primary plant cell wall I I Journal of Cell Science. — 1990. — Июнь. — Т. 96, №2, —С. 323—334.

61. Srinorakutara Т. Determination of yeast cell wall thickness and cell diameter using new methods // Journal of Fermentation and Bioengineering. — 1998. — T. 86, № 3. — C. 253—260.

62. SCMD: Saccharomyces cerevisiae Morphological Database / T. L. Saito [и др.] // Nucleic Acids Research. — 2004. — T. 32, Database issue. — C. D319—322.

63. Designing an experiment to measure cellular interaction forces / Niall McAlinden, David G. Glass, Owain Millington, Amanda J. Wright //. T. 8810. — San Diego, California, USA, 2013.

64*. Rykov M. A., Skidanov R. V. Manipulation of yeast cells with DOE-modulated crescent-shaped and optical bottle laser beams // Optical Trapping and Optical Manipulation X. T. 8810. — SPIE, 2013. — 88102Z-1 - 88102Z-11.

65*. Рыков M. А. Силовые характеристики и повреждающее действие пучков-полумесяцев: теория и эксперимент // Сборник докладов Молодежной научной школы по нанофотонике (30 июня 2012 г.) 20-го международного конгресса Nanostructures: Physics and Technology. — Самара, июнь 2012.

66. Кодирование дифракционных оптических элементов методом локального фазового скачка / В. В. Котляр, С. Н. Хонина, А. С. Мелехин, В. А. Сойфер // Компьютерная оптика. — 1999. — Т. 19. — С. 54—64.

67. Svoboda K., Block S. M. Biological Applications of Optical Forces // Annual Review of Biophysics and Biomolecular Structure. — 1994. — T. 23, № 1. — C. 247—285.

68. Microobject manipulations using laser beams with nonzero orbital angular momentum / E. G. Abramochkin [h ,qp.] // Laser Physics. — 2006. — T. 16, № 5. — C. 842—848.

69. Abramochkin E. G., Volostnikov V. G. Spiral light beams // Physics-Uspekhi. — 2004. — T. 47, № 12. — C. 1177.

70. Ladavac K., Grier D. G. Microoptomechanical pumps assembled and driven by holographic optical vortex arrays // Optics Express. — 2004. — T. 12, № 6. — C. 1144.

71. A light-driven turbine-like micro-rotor and study on its light-to-mechanical power conversion efficiency / X.-F. Lin [h ^p.] // Applied Physics Letters. — 2012. — T. 101, № 11. —C. 113901.

72. Ukita H., Ohnishi T., Nonohara Y. Rotation rate of a three-wing rotor illuminated by upward-directed focused beam in optical tweezers // Optical Review. — 2008. — T. 15, № 2. — C. 97—104.

73. Chaumet P. C., Billaudeau C. Coupled dipole method to compute optical torque: Application to a micropropeller // Journal of Applied Physics. — 2007. — T. 101, № 2. — C. 023106.

74. Maruo S., Ikuta K., Korogi H. Force-controllable, optically driven micromachines fabricated by single-step two-photon microstereolithography // Journal of Micro-electromechanical Systems. — 2003. — T. 12, № 5. — C. 533—539.

75. Burrow G. M., Gaylord T. K. Multi-Beam Interference Advances and Applications: Nano-Electronics, Photonic Crystals, Metamaterials, Subwavelength Structures, Optical Trapping, and Biomedical Structures // Micromachines. — 2011. — T. 2, № 2. — C. 221—257.

76. Котляр В., Ковалёв А. А. Орбитальный угловой момент суперпозиции двух обобщённых лазерных пучков Эрмита-Гаусса // Компьютерная оптика. — 2013. — Т. 37, № 2. — С. 179—185.

77. Generation and nonlinear self-trapping of optical propelling beams / P. Zhang, S. Huang, Y. Hu, D. Hernandez, Z. Chen // Optics Letters. — 2010. — T. 35, №18. —C. 3129—3131.

78. Generation of rotating Gauss-Laguerre modes with binary-phase diffracti ve optics / S. N. Khonina [и др.] // Journal of Modern Optics. — 1999. — T. 46, № 2. — C. 227—238.

79. Elliptic Laguerre-Gaussian beams / V. V. Kotlyar [и др.] // Journal of the Optical Society of America A. — 2006. — T. 23, № 1. — C. 43—56.

80. Официальный сайт TracePRO® [Электронный ресурс]. — URL: http://www. lambdares.com/tracepro (дата обр. 25.03.2014).

81. OpenGL 2.1 Reference Pages [Электронный ресурс]. — URL: http://www. opengl.org/sdk/docs/man2/ (дата обр. 25.03.2014).

82. Turing A. M., Copeland B. J. The Essential Turing: Seminal Writings in Computing, Logic, Philosophy, Artificial Intelligence, and Artificial Life plus The Secrets of Enigma. — Oxford : New York : Oxford University Press, 2004. — 622 c.

83. Glassner A. S. An Introduction to Ray Tracing. — Morgan Kaufmann, 1989.

84. Coad P., Yourdon E. Object-Oriented Design. — 1 edition. — Englewood Cliffs, N.J : Prentice Hall, 1991. — 197 c.

85. Design Patterns: Elements of Reusable Object-Oriented Software / E. Gamma, R. Helm, R. Johnson, J. Vlissides. — 1 edition. — Reading, Mass : Addison-Wesley Professional, 1994. — 416 c.

86. JavaTMRuntime Environment Download Link [Электронный ресурс]. — URL:

https://www.java.com/en/download/ (дата обр. 25.03.2014).

87. GNU Octave, Официальный сайт [Электронный ресурс]. — URL: http: / / www.gnu.org/software/octave/ (дата обр. 25.03.2014).

88. MATLAB, Официальный сайт [Электронный ресурс]. — URL: http://www. mathworks.com/products/matlab/?s_tid=hp_fp_ml (дата обр. 25.03.2014).

89. gnuplot homepage [Электронный ресурс]. — URL: http://www.gnuplot.info/ (дата обр. 25.03.2014).

Приложение А Инструмент численного моделирования

А.1. Постановка задачи моделирования

Как было показано во Введении, существующие инструменты моделирования не удовлетворяют задаче одновременного моделирования действующих на клетку в световом пучке оптических сил и поглощаемой ей световой энергии. Инструменты Ниеминена [44] и Симпсона [45] не обеспечивают скорости вычисления и плохо работают с учётом сложной внутренней структуры объекта, инструмент группы Кима [47] не учитывает повреждений клетки в пучке. Популярный инструмент для трассировки лучей и изучения оптических эффектов в приближении геометрической оптики TracePRO[80] не имеет функциональности подсчёта оптических сил и не обеспечивает необходимой производительности.

Всё это подводит к идее создать собственный программный инструмент, лишённый перечисленных недостатков. Необходимо признать, что круг задач, решаемых при помощи рассматриваемого в этом приложении программного продукта, складывался в процессе применения инструмента и сильно изменялся. Так, например, изначально визуализация клетки происходила в ЗБ-пространстве, при помощи библиотеки OpenGL [81]. Программа-визуализатор позволяла получить изображение, состоящее из композиции эллипсоидов — клетки и её органелл, и ломаных линий — проходящих через клетку лучей. Внутри программы это изображение можно было поворачивать вокруг горизонтальной и вертикальной оси. Однако практика показала, что полученные таким образом изображения не годятся для общепринятой научной коммуникации: изготовление на основе проекций ЗБ-моделей двумерных изображений с размерной сеткой весьма трудоёмко. Двумерная визуализация в плоскостях ху и xz даёт более наглядные результаты, проще в разработке и поддержке, не требует доработки при публикации числен-

ных результатов. Изначальный список функциональных инструментов состоял из единственного пункта: симуляции передвижения объекта в лазерном пучке в зависимости от времени. Лишь позднее обнаружилась необходимость строить "поля" оптических сил и профили этих сил, а также функции повреждения О,. Расчёт повреждений тоже появился много позднее.

Это следует учесть при разработке в будущем любого программного инструмента: именно практика применения определяет функциональность приложения. Постфактум задачу инструмента моделирования можно сформулировать так: спроектировать и разработать программный комплекс, позволяющий

1. рассчитывать оптические силы, действующие на произвольно расположенную клетку в произвольном световом пучке;

2. моделировать движение клетки под действием оптических сил;

3. рассчитывать уровень оптических повреждений отдельно для клетки и входящих в неё органелл;

4. произвольно перемещать клетку внутри моделируемого пространства. А.2. Краткое описание математической модели

Моделируемая физическая система такова: Имеется конечный набор строго вложенных замкнутых выпуклых поверхностей, который испытывает пересечение с пучком лучей (в геометрическом смысле). Поверхности характеризуются пространственными координатами центров своих масс, массой, коэффициентом преломления. Пространство внутри каждой поверхности предполагается изотропным. Лучи при пересечении с поверхностями испытывают преобразование по закону Снеллиуса. Поверхности могут изменять со временем координаты своих центров масс как относительно друг друга, так и как единое целое под действием различных сил.

Некоторым практическим смыслом также обладает ситуация с невыпуклыми поверхностями — невыпуклы, к примеру, человеческие эритроциты при определённых внешних условиях. Однако, наша модель покрывает большую часть возможных экспериментов.

А.З. Варианты использования программного продукта

Для начала необходимо определиться с тем, какие именно сценарии работы ПО необходимо обеспечить. На рисунке А.1 приведены варианты использования

Рисунок А.1 - Диаграмма вариантов использования ПО

проектируемого ПО. Каждый из них обусловлен конкретной практикой вычислительных экспериментов. Итак, пользователь при помощи ПО:

1. измеряет силу при фиксированном положении объекта. В данном случае предполагается задавать положение объекта относительно падающего пучка света и измерять силы светового давления, действующие на объект со стороны пучка. Данный вариант может быть использован для сравнения эф-

фективности воздействия различных видов пучков, для определения степени разрушающего воздействия со стороны пучка и т.д.

2. строит пространственное распределение сил. Для изучения свойств определённого вида пучков бывает полезно построить диаграмму распределения сил в плоскости ягу. Это позволяет найти точки равновесия внутри пучка, оценить крутизну стенок потенциальной ямы, которую он образует.

3. строит распределение интенсивности в пучке по формуле. Этот вариант обеспечивает возможность вывода пространственного распределения интенсивности в пучке в файл изображения. В дальнейшем по этому файлу распределения может быть построен ДОЭ, а оценки вычислительного эксперимента — проверены на практике.

4. моделирует процесс захвата. Основной вариант использования: пространственно-временное моделирование движения клетки в заданном пучке. Основной целью использования этого варианта является, разумеется, получение численных параметров такого движения. Однако, для наглядности мы будем также записывать путь каждого луча-элемента пучка, что позволит смоделировать трёхмерное изображение клетки и падающего на неё пучка.

А.4. Анализ математической модели и выделение сущностей

Принцип последовательного деления общей задачи на дерево подзадач является фундаментальным принципом проектирования программного обеспечения. От успешности такого деления зависит, насколько легко будет поддерживать и расширять получившийся продукт.

Первое, что следует сделать — это разделить вычисления и наглядную визуализацию процесса. С одной стороны, это резко повысит производительность вычислений, а с другой — даст возможность реализовывать визуализацию гибко,

"перематывать" процесс, переходя свободно между временными точками в смоделированном отрезке времени, хранить несколько записей смоделированных для разных входных условий процессов и воспроизводить их, не тратя времени на перевычисление.

Второй этап необходим, если в качестве технологии, на которой реализуется продукт, выбран язык уровня Java, С++ или Python. Он заключается в разделении физического моделирования и технического обеспечения программы. Ведение журналов, управление файлами, взаимодействие с пользователем — всё это должно быть вынесено в отдельные подсистемы. Существуют языки более высокого уровня, в которых эти функции обеспечены средствами языка, однако за это приходится платить меньшей гибкостью и меньшей производительностью.

Сам принцип машины Тьюринга [82], которой является любая доступная нам на данный момент ЭВМ, заставляет нас разделить отрезок времени, который мы моделируем, на несколько равных подотрезков At. Назовём каждый отрезок шагом. Это деление очевидно, однако для полноты, всё же, следует его упомянуть.

Следующее деление — между трассировкой лучей (ray tracing [83]) и динамикой клетки: вычисление элементарного перемещения клетки и её содержимого производится только после того, как трассировка лучей на данном шаге полностью завершилась.

В природе взаимодействие границы раздела и луча света определяется внутренней сущностью мира как такового. Человек воспринимает эту сущность как систему физических законов. При моделировании физических процессов часть законов инкапсулируются в объектах Лазерный пучок и Клетка и определяют их поведение и свойства относительно самих себя. Однако, существует ряд закономерностей, которые не могут быть отнесены ни к зоне ответственности класса Лазерный пучок, ни к зоне ответственности класса Клетка. Эту логику нельзя поместить ни в один из этих двух классов: это нарушит принцип инкапсуляции [84], приведёт к возникновению сильной связи в системе, сущностям придётся иметь слишком много информации друг о друге. В данном случае необходим некий Ме-

диатор [85], который бы осуществлял необходимое взаимодействие между сущностями.

Рисунок А.2 - Принцип взаимодействия между Лазерным пучком и Клеткой посредством Медиатора-Природы

А.5. Детальный проект программного продукта

На основании анализа вариантов использования и логического разделения сущностей в предыдущих разделах можно выделить следующие подсистемы продукта:

• Система ввода/вывода, техническое обеспечение журналирования;

• Модели физических сущностей:

- Клетка

- Лазерный пучок

- Промежуточная сущность — Медиатор. Назовём её Природа.

• Высокоуровневое API, выполняющее атомарные бизнес-операции в системе (выполнить трассировку лучей, применить рассчитанное на данном шаге перемещение и т.д.)

• Система сбора результатов — журналирование

• Пользовательские сценарии, каждый из которых реализует конкретный вариант использования

На рисунке А.З изображена такая схема архитектуры. Положение слоев отражает уровень логики каждого из них.

А.5.1. Утилиты низкого уровня

На уровне утилит находятся классы двух типов. Первый тип — системные утилиты. Они отвечают за взаимодействие с файловой системой, формат выводимых файлов и т.д. (см. рисунок А.4). Если при дальнейшем развитии программы потребуется параллелизация некоторых алгоритмов программы, управление потоками также ляжет на системные утилиты.

Второй тип утилит — базовые математические алгоритмы (см. рисунок А.5). Выносом логики математических операций в отдельный уровень системы решается сразу две задачи. Во-первых, будучи отделёнными от остальной программы, они легче тестируются. Во-вторых, код вышележащих уровней становится более лаконичным и оттого более читаемым.

А.5.2. Уровень физического моделирования

На этом уровне работа ведётся с сущностями, непосредственно моделирующими физические объекты. Алгоритмы этого уровня отображают алгоритмы вза-

Прикладной уровень

Моделирование

АР1

Рисунок А.З - Схема архитектуры приложения

ru::ssau::catcher::util::lmagelltils

IMG.FILE.TYPE; String imgDirectory: File

<<create>> ImagelltilsO

writgBvteArravTolmagefmax : int.resl : bvten.fileName : Strincri : void heamTnlmaaefb : Baam.resultFilffName : String! : void quantizelmaaefinnut : doubleMm : bvtefl cQmplexTQlmagefcompI; CQmplexnn.filePrefix ; String); void

ru::ssau::catcher::util::BeamUtils

beamToArravib : Beam! : Complexfiri

org::apache::log4j::Logger

org::jdom::Element

ru::ssau::catcher::platform::OutputManager

instance; QutputManager log : Logger

fileWriterMap : HashMap<String, FileWriter> movieList: LinkedList<Element>

getlnstancef); QutputManager <<create>> OutputManagerO addNewCadr(e : Element) : void flushMovie(): void getMovieSizeO : int

createFileWriter(fileName : String): FileWriter flushAndCloseAIIQ : void getFileWriter(key : String) : FileWriter

Рисунок А.4 - Диаграмма классов: системные утилиты

имодействия физических объектов, именно на этом уровне в модель внедрены физические законы.

Алгоритмы реализации физических законов могут быть как простыми и самоочевидными (к примеру, моделирование движения тела под действием постоянной силы, приложенной к центру тела), так и довольно сложными — в том случае, если в процессе участвует одновременно множество объектов и их взаимодействие между собой не описывается гладкой функцией. Отражение и преломления множества лучей на кривой поверхности — как раз такой случай: нам придётся вычислять точку пересечения с поверхностью для каждого луча, и для каждого

flptOiladnr^nlvpfa : dnuhlp h ; dnuhlp r ■ rtniihlP.P»rlndpNiill ; hnnlpan) ; dnuhlp gptma : dnnhlp.h ■ dnuhlp r ; dnuhlp); dnuhlp

oettla: double .1); doublft.c; double.D; flouble.ootZera; boolean): double

flptxi<a : dnuhlp h : dnuhlp П : dnuhlp): double nptX7fa ; rtnuhlp.h : dnuhlP.O : dnuhlp): dnuhlp MnRlinwl« • dnublp.y: dnuhlpa?: dnnhlp.h? : dnuhlp): hoolpan

sal it Com plex Array! source: ComelexfUl!; ComolexArray

гпгуптгГптпН-хАггяуГгп ; ПпяНШ.П ■ ПпаЖМ) : ГптпИмПП rnnvprtDOEtnBeamfrine : dnubletlfll: CnmnlexArrav

VectorAlgebra

cralarMiiltlnWa ■ Vprtnr Ivamhda : dnuhlp) : Vprtnr cralarMultmlpfWa : Vprtnr.lyambda : dnuhlp): Vertnr ciihyrarH» ■ Vgttnr.v: Vprtnr); Vprtnr rprnrnTnOlclfa ; Vprtnr. : Vprtnrll) • Vprtnr fPtumTnOldta : Vprtnr Д • Matrhrtm ■ Vprtnr

ctianaeCoordlnatefa I Vector.; Vectarf II; Vector

rhancpCnordmatpfa : Vprtnr. A : Matn«3D): Vprtnr

multiples ¡.vector.b; Vector!; double nórmala; Vector): double normaliteta ; Vrrtnrl; Vertor cumin : Vprtnr V • yprtnrl; vprtnr m»rtnrMiiltinWa : Vertnr Ь ; Vprtnr) ■ Vprtnr arravMultmlpfa ; dnuhlpl) h : dnilhlpf)) : dnnblpf)

rrfracWk: double.n; Vectora ; Vector! i Vector

rpflectfn : Vprtnr a : Vprtnr); Vprtnr rpflprtln : Vprtnr.a : Vertnr «0 : Vprtnr. wnA : dniihlp.rnm : dnuhlp) : Vprtnr

mtatpyprtnrlvprtnr; Vprtnr.radX : dnuhlp.radV : dnuhlp.rad7 : dnuhlp): Vprtnr

(ranslateívactor; Vector,newCenter: Vectorl; Vector

dptranslatpfuprtnr : Vertnr прууГрпгрг ; Vprtnr) ■ Vprtnr

multiplcMatrixfX i MatrMD.Y; Matrix^!; Hatn«3D

rnnflgureBad^fv : Vprtnr) ; Matrix/it)

trantlatpTpnmrttpntnr : Mafrlxin.matr ■ Matrix ЗГИ • Matrlx3n trantnnnpfmatr ■ Matnx^ri) ; MatrlxHn

—:>

ru::ssau::catcher;:entities::abstractentities::Vector

a: doublet] Inn ; I n?ppr

«create» Vector(x: double, b: double, c: double)

<<create>> Vectoriv: Vector)

«create» Vector!: double!])

«create» Vector!)

«create» Vector(e: Element)

getXO: double

getYO: double

getzo: double

setX(x: double)! void

setY(x : double): void

setz(x : double): void

get(l: Int): double

setComponentll: Int,value : double): void Invert!): void

equalslobj: Object): boolean hashCode!): Int toStrlng!): String toXml!); Element copytsource: Vector): void

Рисунок A.5 - Диаграмма классов: утилитные классы, инкапсулирующие математику задачи

луча отдельно вычислять направление распространения проходящего и отражённых лучей. Поэтому особенно сложные алгоритмы мы построим предварительно в виде диаграмм деятельности.

Такие диаграммы тоже могут быть многоуровневыми, где каждый уровень описывает определённое приближение логики. На рисунках А.7, А.8 приведены алгоритмы прохождения луча через систему объектов. Рисунок А.7 отражает нулевое приближение алгоритма. Описывается порядок, в котором луч проходит через ближнюю поверхность объекта, потом через дочерние объекты и выходит через дальнюю поверхность. Отдельно обрабатывается случай полного внутреннего отражения — в этом варианте у объекта и луча образуется ещё одна точка пересечения.

А.5.3. Уровень программных интерфейсов (API): управление сценой

На этот уровень вынесено общее управление физическими процессами в моделируемой сцене. Функционал этого уровня позволяет подгружать состояние сцены (клетку с набором органелл и лазерный пучок) из файла, запускать трас-

Рисунок А.6 - Схема классов, образующих Посредник

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

Загрузка сцены производится из файла в формате XML. Более подробно формат этого файла рассматривается в А.6.

Разделение трассировки и движения, а также наличие отдельного метода для прямой установки координаты напрямую вытекает из сценариев использования программы: построение поля сил требует императивного перемещения клетки, без учёта уравнения её движения. Количество лучей в исходной модели достигает нескольких сотен тысяч, поэтому оптимальнее использовать уже существующие объекты — полная загрузка луча из файла на каждом шагу является непроизводительной, гораздо более быстрым является алгоритм, повторно использующий уже загруженные объекты, сбрасывая их состояние к исходному, до трассировки.

Рисунок А.7- Алгоритм трассировки лучей

Рисунок А.8 - Алгоритм трассировки лучей, продолжение

А.5.4. Уровень программных интерфейсов (API): журналирование результатов

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

В рамках решения поставленных перед модулем задач организована карта "ключ-значение" из строковых обозначений журналов и открытых в выходные файлы потоков. Потоки открываются при попытке первой записи в них, а сбрасываются на диск и закрываются централизованно, при выходе из приложения.

А.5.5. Прикладной уровень: пользовательские сценарии

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

С течением времени может возникнуть необходимость ввести дополнительные шаги в какой-либо из сценариев или заменить целиком один большой семантически целостный фрагмент на версию, лучше соответствующую требованиям пользователей. Такие масштабные изменения в коде могут обернуться потерей устойчивости кодовой базы, регрессией функциональности программного комплекса. Чтобы этого избежать, было принято решение создать специфичный для задачи язык поверх языка Java (DSL — domain specific language). В этом языке каждый литерал является исполнимой директивой (выполняет интерфейс с ме-

тодом регГогтАс^опвО). Комбинируя эти директивы, можно изменять сценарии использования, не затрагивая более глубоких слоев реализации системы.

Данный приём можно проиллюстрировать при помощи сценария симуляции движения клетки в лазерном пучке, код создания которого приведён в листинге А.1.

Листинг А.1 - Код, создающий сценарий симуляции движения клетки в лазерном пучке.

i public Scenario getProcessTimeTracingScenario () {

3 CompositeScenario mainScenario = new CompositeScenario() ;

4 CompositeScenario oneStep = new CompositeScenario() ; s oneStep . addScenario (new DoRayTracingTask ());

6 oneStep . addScenario (new ShotOneCadrTaskQ ) ;

7 oneStep . addScenario (new ApplyPhysicalMovementTask ()) ;

8 oneStep . addScenario (new GatherPhysicInformationTask ()) ;

9 CycleScenario cycle =

10 new CycleScenario (Integer . parselnt (System . getProperty (

CatcherConsts .PROFERTY_MAX_SIEP)) ,

u oneStep);

12 mainScenario. addScenario (new LoadSceneTask ()) ;

13 mainScenario. addScenario (cycle) ;

14 return mainScenario;

}

Экземпляр класса СотроБ^еБсепагю хранит внутри себя список подсцена-риев и выполняет их по порядку, от первого к последнему. В строке 3 создаётся объект-контейнер для всего сценария целиком, а в строке 4 — объект-контейнер для одного шага вычислительного цикла симуляции. Цикл реализован экземпляром класса СусЛеЭсепапо — он будет выполнять содержащийся в нём подсцена-рий столько раз, сколько указано в параметре конструктора — в данном случае используется системное свойство CatcherConsts.PROPERTY_MAX_STEP, задаваемое в файлах свойств при настройке комплекса (см. раздел А.6.2). Внутри шага цикла предписывается выполнить трассировку лучей (строка 5), подготовить изображение клетки и пучка на данном шаге (строка 6), рассчитать, как будет дви-

гаться клетка на данном шаге и передвинуть её в соответствии с расчётами (строка 7), и, наконец, собрать текущие значения сил, функции повреждения, скорости движения — всех интересующих физических параметров системы (строка 8).

Если когда-нибудь формат данных, необходимый на выходе, изменится, необходимо будет написать и протестировать отдельно подсценарий, аналогичный GatherPl после чего замена старого сценария на новый достигается изменением всего одной строки.

А.6. Функциональный проект программного продукта

Расчётная программа требует наличия JVM версии 1.6 или выше [86]. Также в дальнейшем предполагается, что в переменной окружения PATH прописан путь до исполняемых файлов JRE. Расчётная программа является кроссплатформенной на уровне исполняемых файлов. Рекомендуемый размер ОЗУ — не менее 1Гб.

А.6.1. Входные данные: сцена

XML-файл конфигурации содержит всю информацию о начальном положении моделируемой клетки, координатах органелл внутри неё, массе самой клетки, каждой из её органелл, относительных коэффициентах преломления сред клетки и органелл. Также в нём определяются параметры лазерного пучка, участвующего в моделировании.

Тег cell

В этом теге определяются параметры и положение клетки и её органелл. Тег имеет два дочерних тега — configuration и organelles. Тег configuration, в свою очередь, содержит тег physics — он несёт информацию о массе(в 10"16 кг) и показателе преломления внутриклеточной жидкости относительно раствора, тег axisRotation — он позволяет задать повороты вокруг каждой из исходных координатных осей; повороты при чтении этой информации происходят последовательно

99

— объект поворачивается вокруг каждой из осей по очереди, тег center определяет положение центра масс клетки, a axis — радиусы её осей; координаты обоих векторов задаются в микронах.

Тег organelles содержит в себе список всех органелл клетки. Каждая органел-ла должна иметь свой уникальный номер-идентификатор(атрибут id). Дочерний тег configuration играет для каждой из органелл ту же роль, что и одноимённый тег, дочерний cell. Координаты задаются относительно главной системы отсчёта.

Тег beam

Данный тег содержит конфигурацию пучка. Конфигурация луча может быть задана тремя способами.

1. Piain XML. Как показано на рисунке А.9, каждый луч в пучке может быть задан тегом ray, содержащим два вектора, определяющим начальную точку и направление луча(соответственно, теги start и direction). В атрибуте intesion указывается интенсивность каждого луча в ваттах.

2. Растровые изображения фазы и интенсивности. Для того, чтобы использовать растровые Ьшр-изображения в качестве задающих лазерный пучок параметров, необходимо в теге files указать атрибуты amlitude (файл с изображением распределения интенсивности), phase (файл с изображением распределения фазы), offset, dimesion (эти два свойства нужны, чтобы вырезать нужную часть из исходных изображений, см. рисунок А. 10) и tolerance — если яркость изображения в точке меньше указанного в атрибуте значения, такая точка игнорируется при создании пучка. Пример задания пучка таким образом приведен на рисунке А.11.

3. Java-плагины.Также возможно задание пучка с помощью соответствующего java-miacca. Класс должен наследовать от ru.ssau.catcher.physics.beambuilding.Be* В теге class необходимо указать атрибуты name — полное имя класса, w —

1 <?xmt version="1.0" encodings" LTTF-8"?»

2 0 <root>

' 30 «cell id="-1">

i 4 0 «¡configuration»

" "5 «physics mass="300,5* n="1.5'/>

6 «axisRotation x="0" y="0" z=»0" units="deg"/>

,71 «center x="0.0" y="0.5" z="2.Q«/>

I 8 «axis x=^5" y="S" z="5"/>

9 - «/configuration»

a OB «organelles»

;Д1'|0 organella id="l*>

12,0 «configuration>

»131 «physics mass="0.5" n="l"/>

141 <axisRotation x=«0" y="0" z="Q" umts="deg,,/>

l 15 «renter x=" -2" y=" -0.5" z="O.S'/>

16 <axxs y="2" s="!"/>

"17 - «/configuration»

* 18 - «¡/organella»

' 19 - «/organelles»

Л0 ■ </cell>

л; I

22Ö «beam sizes" 1"»

23 0 «ray intensions" 100">

•24 «direction x="Q.O" y=»0.0" z="1.0"/>

25 <start x="2.C" y="0.0" z=*-5.0'/>

26 J- </ray>

27В <ray intensions"100"»

■ 28'' «direction x="0.0* y="0.0" Zs'l.O'/»

,29 «start x="1.0" y="0.0" z=*-5.0"/>

36) - «/ray»

31*0 <ray intensions"100">

32 «direction x="0.0* y="0.0" z="1.0"/>

33 -«start x="-1.0" у="0.0" z=*-5.0"/> _34 - «/ray»

35 0 <ray mtension=" 100">

36 «direction x="Q.O" y="0.0" z="1.0«/> '37 «start xi^-1.5" y="0.0* z="-5.0"/»

, 38, - «/ray>

- 39 0 «ray intensions" 100">

-40 «direction x="0.0" y=»0.0" z="l.Q"/»

.-41 «Start x=" -2.0" у="0,0" z=" -5.0"/>

_j42 ■ </ray>

'A3 - </t>eam>

A4 L «/root»

Рисунок A.9 - Пример задания луча простым перечислением.

мощность пучка в сотнях милливатт, width — ширину пучка в микронах, dimension — ширину пучка в точках.

А.6.2. Входные данные: сценарий и глобальные настройки

Файл свойств catcher.properties является базовым конфигурационным файлом. Он позволяет задавать длину волны моделируемого лазера (свойство laser.wavelenj имя файла, в котором определена моделируемая конфигурация из клетки и лазерного луча(свойство scene_filename), а также количество шагов в симуляции(свойство max.step). Пример заполнения свойств показан на рисунке А.12

offset

4. fr/ A

К, Îi \

t- ■

».

/

/

* "■t

1 r

еГу / f«Jgj k. •

iiension

Рисунок АЛО - Пример задания луча двумя растровыми изображениями.

1 <?xml version='l 0" encoding=*UTF 8"?» 2D «root»

3 «cell id=" 1"»

4 □ «configuration»

5 «pnysics rras«= 9 ~ n= 1 Ou-s"/>

6 «axisRotation --= 0 imitas* caq"/*

7 center ? "">" y»"^ r* 0"/> S «axia x* 2" y- 0,1 s» 4K/> 9 * «/configuration»

10 ÇJ «organelles»

lié «organella id= 0 >

12 b «configuration»

13 «physics mass» 2 5 n=-I 0Q05"/> r 14] «axiëRotation x= 0 y= 0 2« 0 unitsfictegV5*

15 «center x» 3 4" y="3 V j S"/> **

16s «axis x=l 0 y= i 5" z="i 0 /»

17] • «/configuration»

18 • «/organella»

19 B «organella id= 1">

20 £ «configuration»

21 «physics 1 r n= 3 CD <V>

22 «a*l«Rotation x= 0" ya"Qu ^s 0 unless*dag*/»

23 «center r»" 2 y*"*' S 0*/>

24 «axis xa-0 5a" y= 0 3 z='l C'/>

25 * «/configuration»

26 • «/organella»

27 - «/organellas»

28 - </cell»

29 □ «beam sice«'400*>

30, <files a(iilitude="res_I bnp" pha^e= fRs_P fornp" offset» O* dimension«"229' tolerance* 15'/»

31Ir «/beam» 1 32 1 «/root»

Рисунок A.ll - Пример задания луча двумя растровыми изображениями.

Рисунок АЛ2 - Содержимое файла глобальных настроек.

А.6.3. Результаты: файл значений оптических сил и повреждений

Сценарий получения поля сил и повреждений предусматривает дальнейшую обработку результатов математическими пакетами или инструментами построения графиков, такими как Octave [87], Matlab [88] или gnuplot [89]. Такие инструменты уже обладают крайне широкими возможностями построения графиков и обработки больших массивов экспериментальных данных, поэтому следует их и использовать, обеспечив со стороны программного комплекса для численного моделирования оптического захвата совместимость по формату данных.

В связи с вышеизложенными соображениями формат выходных данных для файла х-проекции оптической силы, у-проекции оптической силы и функции повреждения одинаков: данные представлены в трёх колонках, разделённых знаками табуляции. Первая колонка — координата центра клетки по вторая — координата центра клетки по у, третья — значение соответствующей функции в этой точке.

Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.