Например, Бобцов

ПРОГРАММНЫЙ ПРОДУКТ MTBEAM ДЛЯ ВИЗУАЛИЗАЦИИ ДИНАМИКИ ОПТИЧЕСКИХ ВОЛНОВЫХ ПАКЕТОВ ИЗ МАЛОГО ЧИСЛА КОЛЕБАНИЙ

В.А. Ляховецкий, А.С. Потапов
УДК 004.942
ПРОГРАММНЫЙ ПРОДУКТ MTBEAM ДЛЯ ВИЗУАЛИЗАЦИИ ДИНАМИКИ ОПТИЧЕСКИХ ВОЛНОВЫХ ПАКЕТОВ ИЗ МАЛОГО ЧИСЛА КОЛЕБАНИЙ
Д.А. Кислин, М.А. Князев, В.Ф. Звягин, С.А. Козлов
Разработан программный продукт, включающий в себя визуализатор и программу управления расчетами, способный решать задачи моделирования эволюции полей и спектров электромагнитных волновых пакетов, у которых как пространственный, так и временной спектры могут быть сверхуширенными. Программный комплекс позволяет производить расчеты не только на локальном, но и на удаленном компьютере или суперкомпьютере, а также отображать результаты расчетов в виде диаграмм и графиков. Приведены примеры визуализации расчетов дифракции на щели однопериодного терагерцового импульса. Ключевые слова: визуализатор, плагин, технология клиент-сервер, волны из малого числа колебаний, сверхуширенный спектр излучения.
Введение
В последние десятилетия благодаря широкому распространению персональных компьютеров, ноутбуков, планшетных электронных устройств, а также развитию технологий параллельных вычислений на суперкомпьютерах стала стремительно развиваться область научных и инженерных задач, связанных с моделированием различных физических и технологических процессов. Результаты таких расчетов чаще всего представляют собой одномерные или многомерные массивы данных, которые требуется визуализировать для того, чтобы сделать некоторое заключение о них. Для решения этой задачи существует немало способов. Задачи, не требующие ресурсоемких вычислений, можно решать с помощью так называемых математических пакетов, т.е. таких программных продуктов, как Mathcad, MATLAB, Octave, Maxima, используя их встроенные средства визуализации данных. Для более сложных задач, требующих вычислений на суперкомпьютерах, можно проводить визуализацию данных, считанных в математический пакет или программу-визуализатор из файла. Однако такой способ представления данных не всегда удобен, особенно если требуется отображать динамику данных в реальном времени.
Для преодоления указанных трудностей в процессе теоретического исследования динамики предельно коротких непараксиальных световых волн, т.е. излучения, спектр которого, как временной, так и пространственный, может быть сверхуширен [1], был создан программный комплекс MTBeam. Одна из его составных частей, MTVisual, представляет собой кроссплатформенный визуализатор, предназначенный для удобного и быстрого представления результатов расчетов динамики оптических пучков. Основные задачи визуализатора как приложения – возможность работы на компьютере или электронном устройстве с практически любой операционной системой, отображение результатов расчетов, проводимых либо на том же самом компьютере, либо на удаленном суперкомпьютере, а также возможность задавать и редактировать настройки расчетов, включая расписание их проведения.
Используемый инструментарий (программные средства)
При создании программного комплекса MTBeam были использованы следующие программные средства.
Инструментом для создания оконного приложения (визуализатора MTVisual) был выбран язык программирования C++ с графической кроссплатформенной библиотекой Qt, что и обеспечило возможность создания исполняемых файлов приложения для различных платформ (операционных систем) [2, 3].
Для отрисовки графиков и диаграмм используется встроенный в Qt API (application programming interface). API – набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для использования во внешних программных продуктах. Двумерная диаграмма функции – множество точек, абсциссы которых являются допустимыми значениями аргумента x, ординаты – значениями аргумента y, а соответствующее им значение функции соотносится с некоторым цветом согласно выбранной цветовой схеме.
Для отрисовки трехмерных графиков используются возможности библиотеки OpenGL (Open Graphics Library). В основе этой библиотеки находится спецификация, определяющая независимый от языка программирования платформонезависимый программный интерфейс для написания приложений, использующих двумерную и трехмерную компьютерную графику.
В качестве языка программирования для написания математических алгоритмов был взят Fortran. Его преимущество перед другими языками заключается в реализации удобной работы с массивами и наличии встроенных инструкций параллелизации кода [4].
Программный комплекс использует только программное обеспечение, распространяемое по свободным лицензиям.
Визуализатор MTVisual

Научно-технический вестник информационных технологий, механики и оптики, 2012, № 3 (79)

93

ДИНАМИЧЕСКИЕ ХАРАКТЕРИСТИКИ НЕЙРОСЕТЕВОЙ МОДЕЛИ …
Рис. 1. Дополнительные настройки двумерной диаграммы
Рис. 2. Окно визуализатора: панель параметров, окно для отображения графиков и диаграмм и окно вывода отладочной информации
Одной из составных частей разработанного программного комплекса MTBeam является кроссплатформенный визуализатор MTVisual. Он является удобным инструментом для представления данных в виде одномерных и трехмерных графиков, двумерных диаграмм. Во всех режимах отображения имеется возможность настраивать масштаб изображения, цену деления осей, его цветовую схему, включать сглаживание изображения на основе общепринятых методов программной фильтрации, сплайновую интерполяцию отображаемой функции, аппроксимацию (рис. 1). Также присутствует возможность задавать настройки кэширования изображения.
Для удобства численной оценки отображаемой зависимости реализована возможность трассировки кривых и диаграмм – отображение значения под курсором на графиках.
Окно визуализатора разделено на три части (рис. 2) – панель ввода и редактирования параметров расчета, окно для отображения графиков и диаграмм и окно вывода отладочной информации. При использовании MTVisual для визуализации уже имеющихся массивов данных, загруженных из файлов, панель ввода и редактирования параметров не используется. MTVisual также позволяет запускать расчеты с заданными параметрами и отображать результаты по окончании расчета.
Расширение функционала программного комплекса за счет подключения плагинов Программный комплекс MTBeam включает в себя встроенные плагины для решения определенных задач, связанных с моделированием различных режимов распространения оптических волновых пакетов в диэлектрических немагнитных средах. Эти плагины доступны для выбора в интерфейсе визуализатора. Плагин (plug-in) – независимо компилируемый программный модуль, динамически подключаемый к основной программе. Плагин LNPD (linear nonparaxial diffraction) используется для моделирования дифракционного распространения непараксиальных двумерных пучков в линейных однородных изотропных диэлектрических средах. Плагин WFR (wavefront reconstruction) предназначен для моделирования задач восстановления волнового фронта электрического поля световой волны по его известному рас-
94 Научно-технический вестник информационных технологий, механики и оптики,
2012, № 3 (79)

В.А. Ляховецкий, А.С. Потапов
пределению на некотором пройденном волной расстоянии. Плагин LNPD_3D расширяет функционал плагина LNPD на случай трехмерных полей и спектров.
Данным набором плагинов функционал MTBeam не ограничивается, так как есть возможность подключения к нему внешних модулей, которые могут проводить расчеты других задач различного рода. Разные задачи можно запускать на выполнение в параллельном режиме при наличии многоядерного процессора.
MTBeam предоставляет API для разработчиков плагинов, который включает в себя необходимые связующие интерфейсы и набор часто используемых в оптике численных методов и алгоритмов, основными из которых являются быстрое преобразование Фурье, метод Симпсона численного интегрирования, интерполяция кубическим сплайном, вычисление различных норм матриц.
Технология клиент-сервер
MTBeam реализует технологию клиент-сервер. Визуализатор является клиентской частью программного продукта, а серверная часть представляет собой программу для управления процессом запуска и расчета задач из плагинов (MTBeam Server). Взаимодействие между клиентской и серверной частью может осуществляться по двум схемам (рис. 3).

аб
Рис. 3. Упрощенная схема работы программного продукта MTBeam – клиентская и серверная часть находятся на локальном компьютере (а); базовая схема работы программного продукта MTBeam –
взаимодействие осуществляется по сети между локальным ПК и суперкомпьютером (б)

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

Системные требования

Программный продукт MTBeam доступен для следующих операционных систем: Microsoft
Windows, GNU/Linux, Apple MacOS. Рекомендуемые системные требования для запуска и работы визуализатора: 100 Мб свободного
места на диске; 1024 Мб оперативной памяти (ОЗУ); процессор с частотой 2 ГГц. Рекомендуемые системные требования для запуска и работы MTBeam Server: 50 Мб свободного места на диске; 2048 Мб ОЗУ; процессор с частотой 2 ГГц.

Примеры визуализированных результатов решений

На рис. 4, 5 представлены иллюстрации результатов моделирования дифракционной эволюции терагерцового пучка электромагнитного излучения из всего одного полного колебания поля на границе среды z = 0 [5],

E

(

x,

0,

t

)



E0

exp

 

219

 

x x

20 

 

exp

 

2

 

t 

2 

 

sin



ct



,

в виде плоскостных изображений электрического поля E (x, z, t), полученных в программном комплексе

MTBeam. Параметры исходного пучка: центральная длина волны λ c = 2πс/ωc = 300 мкм; ширина пучка Δx = 3λ с; длительность τ = 0,3 пс.

Научно-технический вестник информационных технологий, механики и оптики, 2012, № 3 (79)

95

ДИНАМИЧЕСКИЕ ХАРАКТЕРИСТИКИ НЕЙРОСЕТЕВОЙ МОДЕЛИ …
На рис. 4, а, представлен пучок в зоне дифракции Френеля (расстояние z = 100 мкм), смоделированный с использованием параксиального приближения, а на рис. 4, б – без применения параксиального приближения. Максимальная относительная ошибка, которая вычислялась как отношение норм матриц двумерного распределения электрических полей E (x, t), составляет около 10%.

1,00 1,00

0,75 0,75

0,50 0,50

х, мм х, мм

0,25 0,00 –0,25 –0,50 –0,75

0,25 0,00 –0,25 –0,50 –0,75

–1,00

–1,00

0,00 0,80 1,60 2,40 3,20

0,00 0,80 1,60 2,40 3,20

t, пс а

t, пс б

Рис. 4. Терагерцовый импульс, продифрагировавший на щели, на расстоянии в 100 мкм: с применением параксиального приближения (а); без использования параксиального приближения (б)

На рис. 5 представлены плоскостные изображения поля того же пучка на границе зон дифракции Френеля и Фраунгофера (z = 3 мм). Как видно из рисунка, для волнового пакета с малым поперечным размером, сопоставимым с центральной длиной волны, использование параксиального приближения перестает быть корректным. Максимальная относительная ошибка между результатами, полученными с применением и без применения параксиального приближения, составляет примерно 30%. Заметно, что дифракционная расходимость у пучка в параксиальном приближении проявляется слабее.

4,50 4,50 3,00 3,00 1,50 1,50 0,00 0,00

х, мм х, мм

–1,50 –3,00

–1,50 –3,00

–4,50

–4,50

0,00 1,50 3,00 4,50 t, пс

0,00 1,50 3,00 4,50 t, пс

аб

Рис. 5. Терагерцовый импульс, продифрагировавший на щели, на расстоянии в 3 мм: с применением параксиального приближения (а); без использования параксиального приближения (б)

96 Научно-технический вестник информационных технологий, механики и оптики,
2012, № 3 (79)

В.А. Ляховецкий, А.С. Потапов
На рис. 6 изображен график зависимости максимальной относительной ошибки параксиального приближения от пройденного пучком расстояния. Как видно из графика, с пройденным расстоянием она возрастает.
25,00 20,00
15,00 10,00
5,00

enor, %

0,00 0,75 1,50 2,25 3,00 z, мм

Рис. 6. График зависимости ошибки параксиального приближения от пройденного излучением расстояния
Заключение
Авторами разработан программный продукт MTBeam, предназначенный для задач моделирования дифракционно-дисперсионной динамики полей и спектров электромагнитных волн, в том числе оптических пучков со сверхуширенными временными и пространственными спектрами в диэлектрических средах. Программный продукт реализует технологию клиент-сервер и может проводить расчеты как на локальном, так и на удаленном компьютере или суперкомпьютере. Функционал включает в себя кроссплатформенное приложение-визуализатор и программу управления расчетами. Также имеется возможность подключения пользовательских плагинов для решения различных задач, не включенных в основной дистрибутив продукта.
Приведены примеры расчетов дифракции однопериодного терагерцового импульса на щели и визуализации их результатов средствами MTBeam.
Работа поддержана грантами Министерства образования и науки Российской Федерации (ГК № 16.513.11.3070 и ГК № 16.740.11.0459).
Литература
1. Козлов С.А., Самарцев В.В. Оптика фемтосекундных лазеров. – СПб: СПбГУ ИТМО, 2009. – 218 с. 2. Шлее М. Qt 4.5 Профессиональное программирование на C++. – СПб: БХВ-Петербург, 2010. – 896 с. 3. Бланшет Ж., Саммерфилд М. Qt 4: Программирование GUI на C++. – 2-е изд. – М.: КУДИЦ-ПРЕСС,
2008. – 736 с. 4. Немнюгин М.А., Стесик О.Л. Современный Фортран. Самоучитель. – СПб: БХВ-Петербург, 2004. –
496 с. 5. Zhang X.-C., Xu. J. Introduction to THz wave photonics. – N.Y.: Springer Science+Business Media, 2009. –
249 p.

Кислин Дмитрий Анатольевич Князев Михаил Александрович Звягин Виктор Фомич Козлов Сергей Аркадьевич

– Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, студент,
dexicekiller@gmail.com – Санкт-Петербургский национальный исследовательский университет ин-
формационных технологий, механики и оптики, студент,
knyazev.michael@gmail.com – Санкт-Петербургский национальный исследовательский университет ин-
формационных технологий, механики и оптики, кандидат технических наук, доцент, victor_zviagin@mail.ru – Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, доктор физ.-мат. наук, профессор, декан, kozlov@mail.ifmo.ru

Научно-технический вестник информационных технологий, механики и оптики, 2012, № 3 (79)

97