ВИЗУАЛИЗАЦИИ ДАННЫХ ВЫЧИСЛИТЕЛЬНЫХ ЭКСПЕРИМЕНТОВ В ОБЛАСТИ 3D МОДЕЛИРОВАНИЯ ИЗЛУЧАЮЩЕЙ ПЛАЗМЫ, ВЫПОЛНЯЕМЫХ НА МНОГОПРОЦЕССОРНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМАХ С ПОМОЩЬЮ ПАКЕТА MARPLE

 

Е. Л. КАРТАШЕВА, Г.А. БАГДАСАРОВ, А.С. БОЛДАРЕВ, И.В.ГАСИЛОВА, С. В. ДЬЯЧЕНКО, О.Г. ОЛЬХОВСКАЯ, В. А. ШМЫРОВ, С.Н. БОЛДЫРЕВ, В.А. ГАСИЛОВ

Институт математического моделирования РАН, Москва, Россия

ekart2005@gmail.com (Е.Л. Карташева)

 

Оглавление

 

 

Аннотация

         Представлено общее описание научного кода MARPLE , предназначенного для численного решения задач радиационной магнитной гидродинамики на распределенных вычислительных системах. Рассмотрены общие проблемы визуализации распределенных данных и приведено краткое описание возможностей системы научной визуализации ParaView , используемой для анализа данных MARPLE . Приведены результаты некоторых численных расчетов, выполненных с помощью кода MARPLE , и показаны примеры их визуализации средствами ParaView . Работа выполнена при поддержке грантов РФФИ 06-02-08064oфи, 06-02-08084oфи, 07-02-00336a, 07-02-13532oфи-c, программы ОМН-3 РАН и Исследовательского Центра Грама (Грама, Франция). Вычисления выполнялись на суперкомпьютерах СКИФ (МГУ, Москва) и МВС-100К (МВС РАН, Москва).

Ключевые слова: численное моделирование, задачи высокотемпературной гидродинамики и магнитной гидродинамики, визуализация, параллельные алгоритмы.

 

1. Введение

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

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

         Команда разработчиков из Института математического моделирования РАН в сотрудничестве с коллегами из Исследовательского центра Грама (Франция), Троицкого института инновационных и термоядерных исследований, а также других научно-исследовательских центров предложили новые вычислительные модели быстропротекающих радиационных магнитогидродинамических процессов и разработали оригинальные способы представления данных в постановке задачи, особенно эффективные при реализации сложных моделей. Эти теоретические и практические исследования привели к созданию специализированного программного кода MARPLE ( Magnetically Accelerated Radiative PLasma Explorer ), предназначенного для научных приложений в области высокотемпературной гидродинамики и магнитной гидродинамики. При помощи этого ПО исследовано множество актуальных проблем в энергетике импульсных разрядов и управляемого термоядерного синтеза. Предложенные технологии позволили расчётным путём провести оценку некоторых инновационных схем производства высокотемпературной плазмы при помощи генераторов сверхмощных электрических импульсов.

 

2. Программный код 3D моделирования высокотемпературной сильно излучающей плазмы MARPLE

2.1 Архитектура программного обеспечения MARPLE

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

•  Реализация большого числа сервисных функций (ввод-вывод данных, операции с сетками, поддержка параллельных вычислений, динамическая работа с вычислительными объектами) на уровне вычислительной среды.

•  Универсальные базовые структуры данных для описания пространственных объектов и связанных с ними числовых данных, которые используются как в системе подготовки исходных данных, так и в вычислительных модулях.

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

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

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

•  Кросс-платформенность. Код принципиально создается как переносимый, ориентированный на использование высокопроизводительных распределенных вычислений.

 

2.2 Физические и математические модели, реализованные в коде MARPLE

          Код MARPLE предназначен для моделирования трехмерной эволюции взаимодействующих процессов магнитной гидродинамики (МГД) и лучистого теплообмена, на основе следующих физических моделей:

•  одножидкостная двухтемпературная магнитогидродинамическая модель [1] с учетом эффекта Холла и обобщенного закона Ома ;

•  расчет переноса лучистой энергии, использующий многогрупповое приближение, сеточно-характеристический метод [2] , диффузионное приближение, модель длительного плазмообразования [3];

•  электротехническое уравнение полной цепи (генератор, подводящие системы и разрядная камера с плазмой);

•  транспортные и кинетические коэффициенты, оптические свойства и уравнения состояния на базе таблиц [4] – код TERMOS (ИПМ им.Келдыша РАН), широкодиапазонные уравнения состояния [5].

 

          Код MARPLE включает следующие основные расчетные модули:

•  Модуль решения трехмерных идеальных (т.е. в приближении отсутствия диссипации) уравнений магнитной гидродинамики для расчетов в декартовой координатной системе;

•  Модуль расчета конвективно-диффузионных процессов в плазме из нескольких компонент, когда плазма образована из смеси различных веществ;

•  Модуль расчета физических свойств плазмы (термодинамическое состояние вещества, коэффициенты переноса, коэффициенты поглощения и излучения);

•  Модуль расчета диссипативных процессов;

•  Модуль расчета лучистого теплообмена;

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

          Коррекция основной системы уравнений позволит использовать приближение МГД по всей расчетной области, включая подобласти сильно разреженного вещества. Фундаментальным требованием к технике аппроксимации является консервативность результирующей компьютерной модели.

          Процедура интегрирования по времени, применяемая в коде MARPLE, берет начало в принципе аддитивной аппроксимации основной системы уравнений. Данный принцип делает возможным построение универсального алгоритма продвижения по времени, допускающего независимый расчет всех уравнений, включенных в основную систему. Более того, алгоритм допускает использование явных или неявных аппроксимаций (по времени) в зависимости от типа конкретного рассматриваемого члена уравнения, представляющего определенный физический процесс. Таким образом, компоненты, соответствующие гиперболической подсистеме из общей системы уравнений, представлены в терминах явной аппроксимации, в то время как компоненты, соответствующие параболической/эллиптической подсистемам представлены в терминах неявной аппроксимации.

          В модуле идеальной МГД использовано семейство полностью явных конечно-объемных схем, основанных на реконструкциях решения TVD (ограничение полной вариации) и WENO (взвешенные, существенно не осциллирующие). Солвером используются средние величины по ячейкам вместо узловых значений величин. Использование средних величин по ячейкам позволяет избавиться от необходимости построения трехмерных контрольных объемов сложной формы вокруг узлов сетки; в качестве контрольных объемов для конечно-объемной схемы выступают непосредственно ячейки расчетной сетки.

          В коде MARPLE для аппроксимации уравнений второго порядка, т.e. диффузии лучистой энергии, теплопроводности и магнитной диффузии используются разрывные методы Галеркина [6]. Чтобы обеспечить консервативность в ячейке расчетной сетки, для средних по ячейке значений, используемых в численных схемах идеальной МГД, нужно ввести систему кусочно-постоянных и/или кусочно-линейных пробных функций. Стандартная процедура метода Галеркина позволяет в этом случае получить на регулярных сетках аппроксимацию второго порядка.

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

          Сеточная декомпозиция области является важным вопросом, определяющим эффективность параллельной реализации явных вычислительных схем, что непосредственно связано с равномерностью загрузки узлов вычислительной системы. Нашим выбором на настоящее время является один из самых известных и широко применяемых пакетов разбиения сеток METIS ( A Software Package for Partitioning Unstructured Graphs , Partitioning Meshes , and Computing Fill - Reducing Orderings of Sparse Matrices ). В отличие от некоторых конкурентов, данный пакет является свободно распространяемым с открытым исходным кодом. Имеется параллельная версия для работы с сетками очень большого размера, требующими для разбиения обязательного использования параллельного подхода. Лицензия продукта допускает его использование даже в составе коммерческих приложений, если он является их вспомогательной частью. Качество разбиений сеток, полученных с помощью METIS , в большинстве практических случаев является достаточно высоким. Библиотека написана на языке ANSI C и ее компоновка с кодом на C ++ не порождает каких-либо проблем.

          Неявные расчётные схемы, используемые при моделировании диссипативных процессов, сводятся к решению системы линейных уравнений. В связи с этим возникает необходимость использования специально разработанных алгоритмов решения больших линейных систем в параллельном режиме. С этой целью в проекте MARPLE используется библиотека “ Aztec ”, свободно распространяемая с открытым кодом. Aztec разрабатывался в национальной лаборатории Sandia (США), как универсальная библиотека для решения систем, представленных неструктурированными разреженными матрицами, которые могут быть получены из конечноэлементных или конечноразностных аппроксимаций. Библиотека “ Aztec ” позволяет использовать несколько различных итерационных численных методов, таких как известные методы подпространства Крылова, включая BCG , GMRES и т.д., а также разнообразные методы предобуславливания и множество настраиваемых параметров, влияющих на их работу.

 

2.3 Универсальные структуры данных

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

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

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

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

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

          В пакете MARPLE используется неоднородная модель данных, основанная на неявных комплексах ( implicit complexes – IC) [7]. Дисциплина работы на базе IC обеспечивает унифицированное описание геометрии, топологии и атрибутов неоднородных объектов. Объект описывается в форме объединения ячеек разных размерностей и системы отношений между ячейками . Ячейки могут иметь разные типы представления геометрии и могут быть ассоциированы с разными негеометрическими атрибутами. Основными отношениями, характеризующими взаимное расположение ячеек, являются граничные отношения и отношения вложенности. Негеометрические атрибуты описываются независимо с помощью функциональной или клеточной модели и ассоциируются с ячейками неявного комплекса через отношение атрибутов . Неоднородное представление на базе IC содержит всю информацию, необходимую для численного моделирования .

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

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

 

3. Обработка результатов численного моделирования

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

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

 

3.1 Основные принципы визуализации распределенных данных

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

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

2. Расположение системы рендеринга – локальное или удалённое. Локальный ренде­ринг задействует мощности компьютера пользователя. Удалённое расположение системы рен­деринга подразумевает её исполнение на отдельном компьютере (или даже на самом вычисли­теле). Это может быть оправдано в различных случаях, например, когда процесс рендеринга требует вычислительных мощностей, превышающих возможности машины пользователя.

          Комбинации расположения данных и рендеринга определяют возможные архитектурные решения для систем визуализации.

1. Данные и рендеринг – локальные. Этот случай можно считать классическим и самым распространённым. Подразумевается, что время чтения и визуализации данных приемлемо. Плюсом этого подхода является относительная простота реализации системы визуализации. Однако этот метод непригоден для анализа результатов вычислений, выполняемых в высокопроизводительных распределенных системах.

2. Данные удалённые, рендеринг локальный. Возникает необходимость создания технических средств для передачи данных или их части. Например, это может быть программа на компьютере с результатами вычислений, которая по команде считывает и передает часть дан­ных на машину пользователя. Команды на чтение и передачу инициируются системой ренде­ринга в зависимости от текущего вида и параметров отображения. При этом локальный ренде­ринг обеспечивает оперативность взаимодействия с системой – например, поворот трёхмерной сцены с помощью мыши может выглядеть непосредственным и плавным. Важной задачей, которую приходится решать в случае удалённых данных и локального рендеринга, является выбор правил передачи данных. Например, в широком спектре задач при визуализации расчётных сеток успешным является подход, когда данные огрубляются (с сохранением когнитивности восприятия) на удалённой машине, что позволяет передать их по се­ти и отобразить на машине пользователя [8]. Однако задачи визуализации научных данных обладают определённой спецификой, не позволяющей прибегать к помощи этих инструментов. Например, при численном моделировании 3-х мерных задач газовой динамики, горения, микроэлектроники и многих других, требуются вычисления с очень высокой точностью, что требует использования подробных сеток по времени и пространству. При этом огрубление данных в процессе анализа результатов недопустимо, так как может привести к потере информации об особенностях решения.

3. Данные и рендеринг – удалённые. В этом случае изображения создаются на специ­альном компьютере и передаются по сети на компьютер пользователя. Пользователь может управлять визуализацией, влияя на процесс создания изображений, которые немедленно появ­ляются на его компьютере. Актуальной является ширина канала между ресурсом, содержащим данные, и системой рендеринга. Если этот канал обладает достаточной пропускной способно­стью, то система передачи данных может оказаться достаточно простой. Еще одним плюсом такого подхода является то, что система рендеринга может быть распределённой. Отметим также, что требования к ширине канала между системой рендеринга и машиной пользователя в общем случае являются фиксированной величиной, определяемой интенсивностью графиче­ского обмена для данной задачи.

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

 

3.2 Краткий обзор пакетов научной визуализации

          Такие программные пакеты как Tecplot , Origin , EasyPlot , IRIS Explorer рассчитаны на случай, когда данные и рендеринг – локальные. Они обладают широким набором функциональных возможностей по визуализации и исследованию различного рода научных данных. Однако объём визуализируемых с их помощью данных естественным образом ограничен ресурсами персонального компьютера.

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

          В зависимости от архитектуры систем существуют решения различных уровней для удаленной визуализации по технологии клиент-сервер. Например, на уровне библиотек и сервисов вы­деляются VNC и VirtualGL . А среди готовых продуктов можно отметить AVS/Express Parallel Edition, ParaView Enterprise Edition, Sun Visualization System, HP Scalable Visualization Array, ScientificVR, Mental Images Reality Server и StreamMyGame. Можно также отметить систему VisIt , позволяющую эффек­тивно визуализировать данные сложной и нестандартной структуры, систему Deep Computing Visualization , предложенную компанией IBM для визуализации научных данных на мульти дисплейных комплексах.

          Рассмотрим более подробно некоторые из представленных систем:

•  Среда VirtualGL расширяет функциональность систем на базе технологий X - Windows , задействуя аппаратный рендеринг на стороне сервера. В X - Windows все команды OpenGL на­правляются по сети для исполнения на компьютере пользователя. После включения среды Vir ­ tualGL рендеринг осуществляется сразу на сервере, и по сети передаются готовые изображения. Плюсом этой среды, очевидно, является прозрачная интеграция с имеющимися приложениями. Минус – привязка к X-Windows.

•  AVS / Express Parallel Edition – система, которая включает в себя большой набор методов визуализации, поддерживает большое количество форматов (растровая графика, видео, VRML , Vector Postscript ), имеет параллельную реализацию фильтров и сборщиков данных.

•  ParaView Enterprise Edition – содержит веб-интерфейс к системе ParaView для организации удалённой визуализации. ParaView является распространенным инструментом для анализа данных различных расчётов. Среди плюсов программы – богатый набор видов отображения и различные варианты конфигурации распределённого рендеринга. Минус – необходимость конвертации данных в формат ParaView .

•  Программный комплекс RealityServer является платформой для создания 3 D -веб­приложений. Система содержит инфраструктуру для рендеринга трёхмерных сцен, передачи изображений в веб-интерфейс, она обеспечивает приём команд от пользователя веб-интерфейса с последующей обработкой их на сервере. Существует возможность как настройки веб-интерфейса, так и про­граммирования серверной логики. Среди плюсов программы можно отметить поддержку аппа­ратного рендеринга. Среди минусов – закрытость разработки. Кроме того, отдельной пробле­мой является необходимость конвертации данных в формат сцен, применяющихся в RealityServer .

          Среди разработчиков MARPLE был сделан выбор в пользу системы ParaView , обусловленный следующими преимуществами этой системы:

•  поддержка различных моделей распределенной обработки больших массивов данных;

•  открытость и кроссплатформенность ;

•  расширяемая модульная архитектура, основанная на открытых стандартах.

 

4. Распределенная система визуализации численных данных ParaView

          ParaView – свободное, мультиплатформенное приложение, разработанное для визуализации наборов данных больших и малых размеров [9]. Основу ParaView составляет система VTK [10], которая содержит библиотеку С++ классов и несколько ин­терфейсов для языков высокого уровня, поддерживает широкий набор алгоритмов визуализации, включая скаляр­ные, векторные, тензорные, текстурные и др. методы.

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

          Работа ParaView была успешно протестирована в Windows , Linux , MacOS и на различных рабочих станциях Unix , а также кластерах и суперкомпьютерах . Вследствие того, что большинство функций ParaView реализованы в виде библиотек, возможна замена существующего пользовательского интерфейса новым клиентским приложением. Также, ParaView поддерживает pvpython приложение, позволяющее осуществлять визуализацию и пост-обработку данных посредством написания скриптов на языке Python .

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

 

4.1 Архитектура системы визуализации ParaView

          Система ParaView имеет трехзвенную клиент-серверную архитектуру и имеет три логических уровня:

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

Сервер обработки – отвечает за рендеринг. Сервер обработки может быть также параллельным, в таком случае осуществляется параллельный рендеринг.

Клиент – отвечает за осуществление визуализации. Клиент контролирует создание объектов, исполнение и уничтожение их на серверах, но не содержит данных. Клиент также содержит графический пользовательский интерфейс. Клиент - всегда последовательное приложение.

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

          Первая модель – автономная. Клиент, сервер данных и сервер обработки встроены в одно приложение. При работе с приложением ParaView идет автоматическое подключение к встроенному серверу, таким образом, возможно использование всех функций ParaView .

          Следующая модель – клиент-сервер. В данной модели выполняется программа pvserver на параллельной машине, к которой пользователь подсоединяется посредством клиентского ParaView приложения. Программа pvserver содержит вместе серверы данных и рендеринга, таким образом, обработка данных и рендеринг осуществляются на ней. Соединение клиента и сервера осуществляется с использованием сокетов, относительно медленного механизма взаимодействия, в следствии чего передача данных через сокеты должна быть минимизирована

          Третий вариант функционирования - client - render server - data модель. В данном случае все три уровня работают как отдельные программы. Сервер рендеринга и сервер данных соединяются посредством множества сокетов, один для каждого процесса на сервере рендеринга.

          Работа параллельной версии ParaView обычно включает в себя следующие этапы: подключение к удаленным компьютерам, выделение параллельных узлов, запуск параллельной программы, создание соединений и проход через брандмауэры.

 

4.2 Средства визуализации ParaView . Фильтрация данных

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

          Данные либо считываются из файла в ParaView , либо генерируются объектом – источником – сфера, цилиндр, конус и др.

          Приведем обзор функциональных возможностей ParaView.

3D графические средства:

•  Отображение поверхностей.

•  Визуализация объемов: трассировка лучей; текстурирование; поддержка устройства VolumePRO для отображения объемов; поддержка совместного отображения объемов и непрозрачных поверхностей; примитивы визуализации: точки, линии, полигоны, триангулированные ленты, объемы.

•  Интерактивный Наблюдатель/Визуализатор «3 D Widgets » для работы с данными.

•  Атрибуты визуализации: окружающая среда, окружающий свет; рассеяние, рассеянный цвет отражение, отраженный цвет (свет и объекты); прозрачность; текстурирование; затенение (равномерное (плоскостями)/закраска по методу Гуро); подсветка on / off .

•  Источники света: бесконечные , точечные.

•  Камеры: параллельная и перспективная проекции; удобные методы управления: поворот, вертикальная наводка, переменное фокусное расстояние, сброс настроек; автоматическое создание камеры и источника света.

•  Графические модели: освещение сцены источником света; окно просмотра камеры; определенные геометрия и свойства актеров; иерархическая группировка актеров.

•  Специальные опции: множественные окна/области просмотра; анаглифическое стерео изображение; размывка движением, фокальная размывка; сортировка полигонов по глубине; сохранение изображений в различных форматах: png , jpeg , tiff , bmp and ppm .

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

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

« Калькулятор » – вычисляет определенное пользователем выражение в точке или ячейке.

« Контуры » (изолинии, изоповерхности) – выделяет вершины, линии или поверхности, где скалярное поле равно заданной пользователем величине.

« Отсечение » – удаляется изображение точек объекта, которые расположены с одной стороны от заданной полуплоскости.

« Сечение » – изображаются точки объекта, лежащие на пересечение объекта с заданной плоскость.

« Выделение пороговых значений » – выделяет ячейки, в которых значение заданного скалярного поля лежит в пределах выбранного диапазона.

« Выделение подмножества » – выделяет подсетку геометрически путем задания отсекающего объема или логически путем задания правила выборки ячеек.

« Глиф » – размещает глиф в каждой точке сетки. Глиф – это маркер простой геометрической формы. Ориентация глифа может быть задана векторным полем, а размер может быть градуирован как абсолютным значением векторного поля, так и значением скалярного поля.

« Трассировка потока » – располагает некоторое количество частиц в пространстве, где задано стационарное векторное поле и отображает траекторию движения этих частиц в заданном поле.

« Деформация (вектор) » – смещает все точки сетки в соответствие с заданным векторным полем.

« Группирование данных » – объединяет нескольких выходных данных визуализации в единый блок данных (создается мульти-блочная структура).

« Выделение данных из группы » – выделяет один или более объектов из мульти-блочной структуры.

          Перечисленные одиннадцать фильтров представляют основные способы обработки данных, реализованные в ParaView . В настоящее время ParaView поддерживает более 80 фильтров [9].

 

5. Анализ данных некоторых тестовых расчетов, выполненных с помощью кода MARPLE

          В качестве примера рассмотрим модельную задачу о сжатии проволочной сборки. Эксперименты с самосжимающимися разрядами (пинчами) проводятся на сильноточных генераторах в ряде лабораторий России, США, Англии и Франции. Их целью является получение мощного импульса рентгеновского излучения (мощностью от нескольких ТВт до сотен ТВт при длительности от нескольких нс до десятков нс). Такие импульсы могут применяться для нагрева термоядерной мишени в схемах инерционного УТС, в нанотехнологиях и для фундаментальных исследований в области лабораторной астрофизики, изучения экстремальных состояний вещества и др. Источником плазмы в этих экспериментах может служить проволочная сборка – конструкция из тонких металлических проволок или полимерных нитей, натянутых между электродами. Высота и диаметр сборки имеют сантиметровые размеры, диаметр проволок – несколько микрон. На электроды подается мощный импульс тока (амплитуда от 1 до 20 МА, время нарастания от 100 нс до 1 мкс). Под действием этого импульса проволоки нагреваются, испаряются и переходят в плазменное состояние. Возникающее вокруг тока азимутальное магнитное поле ускоряет плазму в направлении оси сборки, где в момент максимального сжатия происходит переход кинетической энергии в энергию излучения, что приводит к многократному обострению мощности. В настоящее время выполняются эксперименты с различными наборами проволок – от нескольких штук до нескольких сотен. В частности, представляют интерес эксперименты с малопроволочными сборками, позволяющие подробно изучать процесс образования плазмы и формирования пинча, а также ряд других эффектов.

          В данном примере использовалась упрощенная постановка задачи, взятая из работы [11]. Рассматривалась цилиндрическая сборка из 7 вольфрамовых проволок диаметром 5 мкм каждая. Высота сборки 1 см , радиус 1 см . Ток генератора - модельный (линейное нарастание от 0 до 5 МА за 100 нс). В расчетах применялись уравнения состояния идеальной плазмы, лучистый теплообмен учитывался в форме объемных потерь, таблицы данных не использовались.

 

5.1 Результаты численного решения модельной задачи о сжатии проволочной сборки

          Расчет выполнен с помощью кода MARPLE на сетке размером около 650К ячеек на кластере CКИФ_МГУ, 256 процессоров, продолжительность расчета (60 нс модельного времени) около 13 часов. Расчетная область – цилиндр R = 1.1, H =1. Была построена блочная сетка из смешанных элементов – шестигранники на внешней части цилиндра и треугольные призмы в центральной части, h ~ 0.03 ? 0.015. Сетка показана на рис.1. Размер ячейки в области начального положения сборки ( R = 1) h ? ? 0.028 h r ? 0.02 h z ? 0.02. Начальное состояние сборки показано на рис. 2. На рис. 3-9 показана эволюция процесса сжатия плазмы и приведено сравнение с экспериментом. Для сравнения используются данные [11], полученные на экспериментальной установке MAGPIE [12] ( The Blackett Laboratory , Imperial College , Лондон, Великобритания).

а) б)

в) г)

Рис. 1 Разбиение расчетной области

 

Рис. 2 Начальное состояние сборки

 

а) б)

в)

Рис. 3 Распределения плотности плазмы (а), модуля магнитного поля (б) и модуля скорости плазмы (с) в центральном сечении цилиндра в момент времени t = 20 нс

 

а) б)

в)

Рис. 4 Распределение плотности плазмы (а), температуры плазмы (б) и модуля магнитного поля (с) в центральном сечении цилиндра в момент времени t = 30 нс

 

а) б)

Рис. 5 Сравнение с экспериментом, момент времени t = 30 нс.
а) потоки плазмы с проволок, рассчитанные MARPLE
б) рентгеновское изображение потоков плазмы с проволок, полученное в эксперименте на установке MAGPIE

 

а) б)

в)

Рис. 6 Распределения плотности плазмы (а), температуры плазмы (б) и модуля скорости плазмы (с) в центральном сечении цилиндра в момент времени t = 40 нс

 

а) б)

Рис. 7 Сравнение с экспериментом, момент времени t = 40 нс.
а) формирование предпинча по данным расчета MARPLE
б) рентгеновское изображение формирования предпинча, полученное в эксперименте на установке MAGPIE

 

а) б)

Рис. 8 Распределения плотности плазмы в цилиндре (а) и в центральном сечении цилиндра (б) в момент максимального сжатия, t = 50 нс, температура пинча Те ? 200 эВ

 

а) б)

Рис. 9 Распределения температуры плазмы (а) и модуля скорости плазмы (б) в момент максимального сжатия, t = 50 нс

 

5.2 Визуализация данных расчета сжатия проволочной сборки средствами ParaView

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

          Рисунки 10- 17 демонстрируют возможности системы трехмерной визуализации ParaView на примере рассмотренной выше задачи о сжатии проволочной сборки. На рис.10 показана трехмерная расчетная сетка. Разбиение сетки по вычислительным доменам представлено на рис.11. Далее приведены примеры применения различных фильтров ParaView для анализа данных сжатия проволочной сборки на начальном этапе t = 20 нс. На рис.12-15 показаны приемы визуализации скалярных величин (на примере распределения плотности плазмы), а на рис. 16-17 методы визуализации векторных полей (на примере вектора магнитной индукции).

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

 

Рис. 10 Визуализация расчетной сетки

 

Рис. 11 Визуализация разбиения расчетной сетки по вычислительным доменам

 

Рис. 12 Визуализация распределения плотности плазмы, значения которой записаны в ячейках (использована логарифмическая шкала)

 

Рис. 13 Пример разрезания расчетной области для анализа распределения плотности плазмы внутри области

 

Рис. 14 Пример анализа распределения плотности плазмы в сечении расчетной области

 

Рис. 15 Пример построения одномерных графиков распределения плотности плазмы

 

Рис.16 Пример построения глифов для визуализации вектора магнитной индукции

 

Рис.17 Пример трассировки потока для визуализации вектора магнитной индукции

 

6. Заключение

          В работе дано общее описание программных средств численного моделирования излучающей плазмы MARPLE и распределенной системы визуализации результатов моделирования ParaView . Программный код MARPLE разрабатывается в Институте математического моделирования РАН (Москва, Россия), а ParaView – открытая система научной визуализации, которая используется в MARPLE для анализа результатов. Приведены примеры тестовых расчетов сжатия проволочной сборки, выполненных с помощью MARPLE , и показаны возможности графического отображения полученных численных данных в системе ParaView.

 

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

•  С.И. Брагинский. // Вопросы теории плазмы, Атомиздат, Москва, 1963.
•  S . Chandresekhar . Radiative transfer . - Oxford , 1951.
•  V.V. Alexandrov, et al. // IEEE Transactions on PLASMA SCIENCE. Vol.30, No2, April 2002, pp. 559-566.
•  А.Ф. Никифоров, В.Г. Новиков, В.Б. Уваров. Квантово-статистические модели высокотемпературной плазмы. - Москва, Физматлит, 2000.
•  И. В. Ломоносов, В. Е. Фортов и др. Метастабильные состояния жидкого металла при электрическом взрыве. ТВТ, 2001, т.39, №5, с. 728-742.
•  S. J. Sherwin, R. M. Kirby, J. Peir у , R. L. Taylor, and O. C. Zienkiewicz, On 2D elliptic discontinuous Galerkin methods. Int. J. Numer. Meth. Engng 2006; 65:752–784.
•  Kartasheva E., Adzhiev V., Comninos P., Fryazinov O., Pasko A. An Implicit Complexes Framework for Heterogeneous Objects Modelling, in Heterogeneous Objects Modelling and Applications. // Lecture Notes in Computer Science, vol. 4889, A . Pasko, V. Adzhiev, and P. Comninos (Eds.), Springer-Verlag, 2008, pp. 1-41.
•  Якобовский М.В. Решение сеточных задач на распределенных системах // Параллельные вычислительные технологии / Труды научной конференции. Челябинск. Издательство ЮУрГУ, 2007. Том 2. Стр. 201-211.
•  Large scale visualization with ParaView supercomputing 2008 tutorial http://www.cmake.org/Wiki/SC08_ParaView_Tutorial
•  W.Schroeder, K.Martin, B.Lorense. «The Visualisation Toolkit», 3nd ed. Kitware, ISBN 1-930934-07-6, 2002
•  S.C. Bott, S.V. Lebedev, D.J. Ampleford, S.N. Bland, J.P. Chittenden, A. Ciardi, M.G. Haines, C. Jennings, M. Sherlock, G. Hall, J. Rapley, F.N. Beg, J. Palmer. Dynamics of cylindrically converging precursor plasma flow in wire-array Z-pinch experiments. // PHYSICAL REVIEW E 74, 046403, 2006.
•  Mega Ampere Generator for Plasma Implosion Experiments ( MAGPIE) - http://www3.imperial.ac.uk/plasmaphysics