Научная статья на тему 'Разработка на основе OpenGL проблемно-решающей среды моделирования физических процессов переноса ядерных излучений'

Разработка на основе OpenGL проблемно-решающей среды моделирования физических процессов переноса ядерных излучений Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
90
25
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Лихоманов А. А., Дербакова Е. П., Клосс Ю. Ю., Колядко Г. С., Пономарев-степной Н. Н.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Разработка на основе OpenGL проблемно-решающей среды моделирования физических процессов переноса ядерных излучений»

Разработка на основе OpenGL проблемно-решающей среды моделирования физических процессов переноса ядерных излучений

Лихоманов А.А. (aal@mail.ru), Дербакова Е.П., Клосс Ю.Ю., Колядко Г.С., Пономарев-Степной Н.Н., Мадеев В.Г.

Московский физико-технический институт

1. Введение

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

В настоящей статье предприняты первые шаги построения такой среды на основе стандарта OpenGL, показаны основные приёмы построения интерактивных графических оболочек с помощью OpenGL, дано описание разработанной пилотной версии проблемно-ориентированной оболочки для решения подобных задач в операционной среде Microsoft Windows 2000.

2. Оболочка визуализации полей ядерных излучений

Разработана пилотная версия программной оболочки для визуализации нейтронных и фотонных полей, полученных с помощью программы MCNP4B [9], для решения широкого круга задач переноса ядерных излучений. Программный пакет позволяет визуализировать различные трехмерные функционалы полей излучений, отображать интерактивно различные физические характеристики этих полей (поток, доза, энергия и т.д.), имеется возможность визуализации полей в различных трехмерных объектах с помощью эффекта полупрозрачности. Также есть возможность интерактивно манипулировать объектами (изменение размеров, перемещение, вращение и т.д.). Для написания программы использовалась среда Microsoft Visual С++, а также библиотеки OpenGL MFC (Microsoft Foundation Classes). Был выбран проект mfc appwizard на основе спецификации SDI (Single-Document Interface - интерфейс программ, обеспечивающих единовременную обработку только одного документа). Выходные данные MCNP4B подаются в программу из файла, имеющего определенный формат. Основные объекты и классы являются открытыми для возможности дальнейшего усовершенствования.

3. Функциональные возможности оболочки.

Как было сказано выше, для написания программы визуализации трехмерных полей ядерных излучений было создано MFC приложение. На рис. 1 представлен стандартный интерфейс MFC приложения. Для создания дополнительных разделов меню использовались стандартные средства MS Visual С++.

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

эксперимента и видеть результирующее распределение внутри полупрозрачной детали. Для построения распределения брался плоский срез детали. По экспериментальным точкам, полученным для этого среза, строилась трехмерная поверхность распределения: W=F(u,v),

где u и v, направления координатных осей на плоскости среза, а W - значение функционала. Для построения параметрической поверхности, заданной набором контрольных точек на плоскости, использовался NURBs (Non Uniform Rational B-Spline) (см. [2]). Для NURBs была выбрана каркасная модель прорисовки. Дана возможность менять степень разбиения каркаса и цвет закраски.

U^MFC

Ëile Edit View [ Properties MCNP NJO"v ' Help

□ н= И Zoom in

Zoom out +

Up

Down

Left

Right

Plane Up PgUp

Plane Down PgDn

Form ► j Cube

m 1 Cone

Рис. 1

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

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

Рис. 2

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

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

Рис. 3

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

Перемещение плоскости среза вдоль своей нормали. Позволяет наблюдать распределение на любом срезе детали. В данном случае (см. Рис.5) плоскость «ходит» от нижней к верхней грани. Перемещение происходит динамически, что позволяет сразу определить области, где происходит заметное изменение распределения.

Рис. 5

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

4. Перспективы

Сейчас для создания геометрии эксперимента используются только простейшие детали из стандартного набора библиотеки glaux.lib. Понятно, что для создания более сложной геометрии, потребуется использование какого-нибудь CAD пакета. Это позволит сравнительно легко задать геометрию для эксперимента любой сложности.

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

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

Стоит отметить, что эта работа выполняется при поддержке Российского Фонда Фундаментальных Исследований, проект № 00-07-00042в.

Литература

1. И. Тарасов «Основы OpenGL», Радио и Связь 1999 г.

2. R. Wright, M. Sweet « OpenGL Superbible: The Complete Guide to OpenGL Programming for Windows NT and Windows 95», Waite Group Press 1996 г.

3. М. Краснов «OpenGL. Графика в проектах DELPHI», БХВ-Санкт-Петербург, 2000.

4. Гилберт С., Маккартни Б. «Самоучитель Visual C++ 6», Диасофт 2000 г.

5. Microsoft MSDN Library.

6. http://www.opengl.org.ru

7. http://romka.demonews.com/opengl/doc/

8. http://www.opengl.org

9. MCNP - A General Monte Carlo N-particle Transport Mode, LA-12625-M Version 4B, Manual, Issued: March 1997.

i Надоели баннеры? Вы всегда можете отключить рекламу.