Материал: Разработка и реализация программного модуля для трехмерной и двухмерной визуализации геометрических сборок для ПК BRAND

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Разработка и реализация программного модуля для трехмерной и двухмерной визуализации геометрических сборок для ПК BRAND

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«Национальный исследовательский ядерный университет «МИФИ»

(ИАТЭ НИЯУ МИФИ)

Факультет естественных наук

Кафедра прикладной математики



Дипломная работа

Разработка и реализация программного модуля для трехмерной и двухмерной визуализации геометрических сборок для ПК BRAND

Студент

Группа М2-С10

Сидорова О.О.

Руководитель

доцент, к.ф.-м.н. Царина А.Г.

Рецензент доцент, к.т.н.

Мирзеабасов О.А.

И.о.зав. кафедрой, к.ф.-м.н.

доцент Ермаков С.В.

г. Обнинск, 2015

СОДЕРЖАНИЕ

Введение

Постановка задачи

. Геометрический модуль ПК BRAND

.1       Структура ПК BRAND

.2       Основы метода Монте-Карло для решения уравнения переноса. Общие положения

.3       Порядок построения траектории

.4       Модуль визуализации

. OpenGL

. Апробация на разных сборках

.1 Пользовательский интерфейс

.2 Практическая часть. Двухмерный режим

.2.1 Тестирование двухмерного режима

.3 Практическая часть. Трехмерный режим

.3.1 Тестирование трехмерного режима

.4       Тестирование на реальных сборках

Выводы

Литература

Приложение


Введение

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

На текущий момент на рынке представлено достаточно большое количество разработок как отечественных, так и зарубежных ученых, направленных на моделирование процессов переноса излучения. Каждый программный комплекс имеет свою границу применимости и свою точность получаемых результатов и оценок. Среди наиболее известных можно перечислить такие продукты как MCU, MCNP, САПФИР, Microshield и т.д.

ПК BRAND, разработанный в ГНЦ ФЭИ и в ИАТЭ и названный в честь своих создателей П.А. Андросенко и А.А. Андросенко, составляет достойную конкуренцию указанным программам. Изначально комплекс предназначался для моделирования методом Монте-Карло исключительно нейтронно-физических экспериментов, но удачно выбранная структура разбиения на модули позволила очень быстро распространить BRAND на задачи расчета защиты от излучений, реакторные задачи, задачи радиационной медицины и другие, охватив моделирование совместного переноса нейтронов, фотонов и заряженных частиц. Комплекс также легко «переводится» и на решение краевых задач математической физики (алгоритмы блуждания по границе и по сетке). Его основное преимущество - это высокая точность получаемых оценок, широкий спектр решаемых задач переноса разного вида излучения, возможность сбора наиболее полной информации о моделируемом процессе. Основное развитие, таким образом, получили модули физических взаимодействий, а также модули детектора и источника. Для программного комплекса был разработан собственный язык построения сложных геометрических объектов, с помощью которого с высокой степенью детализации программируются сборки для расчетов.

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

Средства и методы выполнения работы. C# - объектно-ориентированный <#"868083.files/image001.gif"> (2)

В общем случае запись p(A/B) означает условную плотность распределения переменной А в зависимости от значений переменной В. В частных случаях все указанные условные плотности могут задаваться и как безусловные. Плотности pΩ и pE должны быть заданы пользователем.

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

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

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

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

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

Геометрический модуль. Библиотека ПК BRAND содержит восемь геометрических специализированных модулей, каждый из которых приспособлен для оптимального выполнения задачи в определенной геометрии:

·        цилиндрическая геометрия;

·        сферическая геометрия;

·        цилиндры в цилиндрах;

·        трехмерная декартовая геометрия;

·        цилиндры в эллипсоиде;

·        конусы в сферах;

·        конусно-цилиндрическая геометрия;

·        три цилиндра.

И, наконец, девятым в библиотеку геометрических модулей входит модуль универсальной геометрии. Данный универсальный геометрический модуль позволяет решать любые пространственные задачи произвольной 3D-геометрии. В нем вся рассматриваемая геометрическая область разбита на однородные по составу геометрические объекты. Геометрический объект - некоторый пространственный объем, ограниченный несколькими поверхностями первого и/или второго порядка. Геометрические объекты могут пересекаться или включать в себя другие объекты. Единственное ограничение - самый большой геометрический объект (среда) должен включать в себя все остальные объекты.

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

Геометрические параметры объекта. При задании геометрических объектов необходимо ввести следующие четыре параметра, которые характеризуют положение объекта и его форму:

«Положение» - координаты центра объекта (x0, y0, z0);

«Углы поворота» - углы вокруг осей 0x, 0y, 0z (αx, αy, αz);

«Размеры» - диаметр D (сфера), диаметр D и высота H (цилиндр), три стороны a, b, c (параллелепипед),

«Толщина стенки»:

–     сфера - один параметр, толщина стенки сферической оболочки δD;

–          цилиндр - два параметра, толщина стенки цилиндрической оболочки δD и толщина дна δH;

–          параллелепипед - три параметра, толщина стенок параллелепипеда δa, δb и толщина дна δс.

Модификации геометрических объектов определяются значением параметров «Толщина стенки».

Понятие поверхности. Принято, что каждая поверхность делит все пространство на две части: (+) пространство и (-) пространство. Тогда относительно данной поверхности каждая пространственная точка (x, y, z) характеризуется еще и некоторым признаком (знаком): (+1) - если точка принадлежит (+) пространству и (-1) - в противном случае. Для поверхностей первого порядка (плоскостей) под (+) пространством понимается множество пространственных точек, имеющих положительное отклонение от плоскости, (-) пространство - точки с отрицательным отклонением (напомним, что отклонение меньше нуля, если точка О(x, y, z) и точка О(0, 0, 0) лежат по одну сторону от плоскости). Для цилиндрических и сферических поверхностей, ограничивающих некоторый пространственный объем под (+) пространством понимается множество точек расположенных внутри цилиндрических/сферических поверхностей, (-) пространство - вне них.

Таблица 1. Способы задания геометрических объектов

№ п/п

Модификации

Способы задания



Положение

Размеры

Углы поворота

Толщина стенки δ

1

сфера

координаты центра (x0, y0, z0)

диаметр D

не влияет на геометрические характеристики

δD ≥ D/2


сферическая оболочка




0 < δD < D/2

2

цилиндр

координаты центра (x0, y0, z0);

диаметр и высота цилиндра (D, H);

вокруг осей 0x, 0y, 0z автоматически округляются до ближайшего кратного 90°

δD ≥ D/2


цилиндрическая труба




0 < δD < D/2, δH = 0 (дно)


цилиндрическая труба с дном с одной стороны («цилиндрический стакан»)




0 < δD < D/2 0 < δH < H

3

параллелепипед

координаты центра (x0, y0, z0)

длина, ширина и высота параллелепипеда (a, b, c)

осей 0x, 0y, 0z

δa ≥ a/2 , δb ≥ b/2 , δc ≥ c


прямоугольная труба




δc = 0 (при 0 < δa < a и 0 < δb < b)


прямоугольная труба с дном с одной стороны («прямоугольный стакан»)




0 < δc < c 0 < δa < a 0 < δb < b)


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

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

Задать геометрическую зону означает задать число ее границ (поверхностей) и указать для каждой граничной поверхности (+) или (-) пространство пересекается с объемом данной зоны. Пересечение геометрических зон недопустимо.

На настоящий момент в ПК BRAND реализованы следующие поверхности, для каждой из которых принято указанное ниже стандартное имя.

. PLAN - плоскость, заданная уравнением A∙x+B∙y+C∙z+D = 0. Под (+) пространством понимается множество пространственных точек, имеющих положительное отклонение от плоскости, (-) пространство - точки с отрицательным отклонением (отклонение меньше нуля, если точка (Х,Y,Z) и точка (0,0,0) лежат по одну сторону от плоскости).

. SFER - сфера с заданным радиусом и центром. Объем внутри сферы - (+) пространство, снаружи - (-) пространство.

. CIL - бесконечный круговой цилиндр заданного радиуса. Ось цилиндра параллельна одной из осей координат. Объем внутри цилиндра - (+) пространство, снаружи - (-) пространство.

. KANON2 - поверхность задана уравнением A∙(X-X0) 2 +B∙(Y-Y0) 2 +C∙(Z-Z0)2 = 0. Можно задавать смещенные относительно точки (0,0,0), но не повернутые относительно канонического вида, поверхности такие как эллипсоид, однополостной гиперболоид, двуполостной гиперболоид, эллиптический (или круговой ) конус, эллиптический (или круговой) цилиндр, гиперболический цилиндр. Для поверхностей, ограничивающих конечный пространственный объем, (+) пространство - внутри объема, что соответствует неравенству A(X-X0) 2 +B∙(Y-Y0) 2 +C∙(Z-Z0)2 < 0. Точки, лежащие снаружи конечного пространственного объема (т.е. при неравенстве в противоположную сторону ), относятся к (-) пространству.

. РОV2 - поверхность задана уравнением: АХХ∙x2 +АYY∙y2 +АZZ∙z2 +АХY∙x∙y +AХZ∙x∙z +АYZ∙y∙z+АХ∙x +АY∙y +АZ∙z +А = 0. В (+) пространство отнесены точки, для которых АХХ∙x2 +АYY∙y2 +АZZ∙z2 +АХY∙x∙y +AХZ∙x∙z +АYZ∙y∙z+АХ∙x +АY∙y +АZ∙z +А < 0, в (-) пространство - остальные.

. КUВ - параллелепипед с осями, параллельными осям координат. Внутренний объем - (+) пространство, снаружи - (-) пространство.

. CIL2PL - ограниченный двумя плоскостями круговой цилиндр. Цилиндр параллелен одной из осей координат, а плоскости перпендикулярны этой оси. Внутренний объем - (+) пространство, снаружи - (-) пространство.

. KON2PL - ограниченный двумя плоскостями круговой конус. Конус параллелен одной из осей координат, а плоскости перпендикулярны этой оси. Внутренний объем - (+) пространство, снаружи - (-) пространство.

. TRUBA - две коаксиальные поверхности CIL2PL ( "кусок трубы" ). Кольцевой объем трубы - (+) пространство, наружное пространство и объем внутри меньшего цилиндра - (-) пространство.

. PRIZMA - правильная призма, параллельная одной из осей координат.

1.2     Основы метода Монте-Карло для решения уравнения переноса. Общие положения

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

В общем виде схема метода Монте-Карло можно представить следующим алгоритмом.

Требуется вычислить некоторую величину a, которая может быть как скаляром, так и вектором.