ConDat 1.0 – программа преобразования исходных данных из комбинаторной геометрии в растровую
с использованием алгоритма трейсинга (tracing)
|
№ коррекции |
2D геометрия |
||
|
|
|
|
1 |
EpsO×Δ2/Prec, корректировка
положения по оси O`Y` |
EpsO×Δ2/Prec, поворот
луча вокруг O`Z` |
EpsO×Δ2/Prec, корректировка
положения по оси O`Z` |
2 |
EpsO×Δ2/Prec, корректировка
положения по оси O`Z` |
EpsO×Δ1/Prec, корректировка
положения по оси O`Z` |
|
Таблица 2.
№ кор-рекции |
3D геометрия |
|
|
|
|
1 |
EpsO×Δ2/Prec1,
корректировка положения по оси O`Y` |
EpsO×Δ2/Prec1, поворот
луча вокруг оси O`Z` |
2 |
EpsO×Δ3/Prec2,
корректировка положения по оси O`Z` |
EpsO×Δ3/Prec2,
корректировка положения по оси O`Z` |
При невозможности проведения хотя бы одного луча при
определении содержания материалов для конкретного отрезка по второй координате
для двумерного случая и для конкретных отрезков по второй и третьей координатам
для трёхмерного выдаётся диагностическая информация: "!!! Attention !!! Can''t process cells
with next number (second)" и программа прекращает свою работу.
Диагностическая информация "!!! Attention !!! Massiv
is too small for one ray." выдаётся в случае, когда
число отрезков при проведении одного луча превышает 20000, программа в этом случае
также прекращает свою работу
Файл
начальных данных программы ConDat предназначен для задания параметров, определяющих
режим конвертации комбинаторного описания геометрии, представленного в файле
начальных данных программы MCU, формат которого определен в [1], в сеточную или растровую форму. Он состоит из следующих
частей:
<Описание вводимых/выводимых файлов>
<Описание плоскости и локальной системы координат>
<Описание типа системы координат, в которой
задаётся сеть>
<Описание параметров сети>
<Описание параметров точности определения
процентного содержания материалов>
<Описание параметров луча для формирования 1D файла
геометрического описания[4]>
Cтроки в файле, имеющие в первой позиции знак “!”, не
учитываются, после этого знака можно писать комментарии. Длина каждой строки должна
быть не более 80 символов. Символы, начиная с 81, игнорируются. Действительные
и целые числа записываются в свободном формате. Целые числа обозначаются буквой
I, действительные – E. Формат строк соответствует стандартным обозначениям
языка Fortran.
Задание файлов для ввода и вывода информации.
Включает признаки
ввода/вывода используемых файлов, их имена и название варианта.
Имя переменной |
Тип |
Описание переменной |
M1, M2, …, M5 |
5I |
Признаки ввода/вывода
файлов (0/>0 – файл не используется и не открывается/ файл открывается): M1 – признак записи бинарного
файла в формате mixmap [2]; M2 - признак записи текстового
файла в формате mixmap; M3 – признак ввода текстового
входного файла MCU[5]: M4 – признак вывода файла
листинга для контроля вводимой информации; M5 – признак записи текстового
файла 1D геометрического описания для
заданного направления (в формате программы РОЗ-6.6 [10], см. Приложение 3) |
(NAMEUN(I), I=1,NUNIT) |
NUNIT A72 |
NAMEUN(I) – имя I-ого
вводимого/выводимого файла из последовательности M1, M2,...,
M5; NUNIT – полное
число вводимых/выводимых файлов. |
Title |
A72 |
Название варианта |
Описание плоскости и локальной системы координат
Состоит из задания начала
локальной системы координат на плоскости, а также координат двух базисных
векторов.
Имя переменной |
Тип |
Описание переменной |
(C(I), I=1,3) |
3E |
Начало системы координат в
пространстве, в которой задаются параметры сети |
Etype |
A1 |
Переменная, которая может
принимать значения: G, X, Y или Z; определяет способ задания базиса системы координат,
в которой задаются параметры сети |
(E1(I), I=1,3), (E2(J), J=1,3) |
6E |
Координаты векторов векторы
E1 и E2. Вводятся при Etype = G. Базисные векторы вычисляются по формулам: e1=E1/E1, e2=E2-e1*(e1,E2), e2=e2/e2 |
a |
E |
Угол поворота (в градусах) базисных
векторов вокруг оси OX, OY или
OZ соответственно.
Задается при Etype = X, Y или Z. Базисные векторы вычисляются по формулам, согласно значению
переменной Etype: e1=ey*cos(a)+ez*sin(a), e2=-ey*sin(a)+ez*cos(a); e1=ez*cos(a)+ex*sin(a), e2=-ez*sin(a)+ex*cos(a); e1=ex*cos(a)+ey*sin(a), e2=-ex*sin(a)+ey*cos(a) |
Описание типа системы координат, в которой задаётся
сеть
Содержит информацию о типе 2D системы
координат, которая может быть декартова ( или ), полярная () либо цилиндрическая ().
Имя переменной |
Тип |
Описание переменной |
Geom |
I |
1 - ; 2 - ; 3 - геометрия. Параметр определяет тип системы
координат, в которой задаются параметры сети. В первом случае система
координат декартова (или ). Во втором – полярная
(); при этом полюс принимается за начало расчётной системы,
плоскость расчёта – плоскость, в которой лежат векторы e1, e2; угол отсчитывается от e1 в направлении e2 (угол, соответствующий e2, будет p/2). геометрия
применяется для расчёта систем с цилиндрической симметрией, когда нет
зависимости от азимутального угла ; для этого случая производится вычисление e2=[e1,e2] при
этом e2 соответствует оси симметрии, а вектор e1 направлен
радиально. |
Описание параметров сети
Включает параметры разбиения
по первой и второй пространственным координатам.
Имя переменной |
Тип |
Описание переменной |
Num1, Num2 |
2I |
Абсолютные значения
параметров определяют число геометрических зон с равномерным шагом по первой
и второй координатам. Знаки параметров описывают тип задания сети: в случае
положительного значения вводятся границы зон, в случае отрицательного - толщины
зон |
(Mau1(I), I=1, (|Num1|+1)) |
(|Num1|+1)E |
При Num1 >0/<0 - границы
/ левая граница и толщины геометрических зон по первой пространственной переменной,
см |
(Mau2(J), J=1, (|Num2|+1)) |
(|Num2|+1)E |
При Num2 >0/<0 - границы
/ левая граница и толщины геометрических зон по второй пространственной переменной,
см/радианы для и / геометрий, соответственно |
(Ma1(I), I=1, |Num1|) |
|Num1|I |
Число пространственных
интервалов по |Num1| геометрическим зонам для
первой пространственной переменной |
(Ma2(J), J=1, |Num2| |
|Num2|I |
Число пространственных
интервалов по |Num2| геометрическим зонам для
второй пространственной переменной |
Описание параметров точности определения процентного
содержания материалов
Содержит следующие
переменные: переменную целого типа Prec,
которая равна числу равных частей, на которые делится отрезок по второй
координате, служащих для определения содержания простых материалов; действительные
переменные EpsO и EpsI, которые влияют на подсчёт процентного содержания
материалов в ячейках. Переменные EpsO и EpsI не обязательны, в случае игнорирования их задания они
принимаются равными значениям по умолчанию.
Имя переменной |
Тип |
Описание переменной |
Prec |
I |
Переменная, определяющая
количество лучей, проводимых через ячейку для определения процентного содержания
простых материалов. Лучи проводятся при фиксированной второй координате |
Fl |
I |
Признак ввода параметров EpsO и EpsI: 0/>0
- параметры не вводятся, их значения принимаются равными: EpsO=.01,
EpsI=.00001/производится ввод значений параметров EpsO и EpsI |
EpsO, EpsI |
2E |
Запись, определяющая
параметры EpsO и EpsI. Эти параметры влияют на процесс определения процентного
содержания материалов |
Описание параметров луча для формирования 1D файла
геометрического описания. Эта информация вводится только при M5>0.
Имя переменной |
Тип |
Описание переменной |
VARFIX |
A6 |
Имя переменной, значение
которой фиксируется при выборке 1D геометрического описания из 2D. В
зависимости от типа 2D геометрии, определяемого параметром GEOM=1/2/3 (//), может принимать значения X, Y /THETA/ R, Z. Значения X,
Y, R, Z: задаются в см, THETA – в градусах. |
PFIX |
E |
Значение координаты при
котором происходит выборка 1D геометрического описания[6].
При VARFIX = X, Y, R, Z/THETA задается в см/градусах |
Замечание. Файл 1D геометрического описания, формируемый в
канале M5, не содержит дополнительных смесей. Заданные границы зон с постоянным
шагом вдоль выбранного луча дополняются, при необходимости, границами материалов
вдоль луча, не вошедшими в исходные границы зон.
Для
запуска программы необходимо в командной строке набрать следующую строку:
vmn < inp_file
где
vmn –
имя исполняемого файла программы ConDat, inp_file – имя
файла начальных данных. При вводе программа производит выдачу в файл листинга информации
о введенных начальных данных. В этот файл также записывается диагностическая
информация, суммарные площади, занимаемые каждым материалом (что позволяет
контролировать необходимую плотность лучей метода трейсинга, задаваемую
параметром Prec), а также время работы
программы. Пример пускового пакета для 2D версии программы ConDat приведен в Приложении
1.
Задание файлов для ввода и вывода информации.
Включает признаки
ввода/вывода используемых файлов, их имена и название варианта.
Имя переменной |
Тип |
Описание переменной |
M1, M2, …, M4 |
4I |
Признаки ввода/вывода
файлов (0/>0 – файл не используется и не открывается/ файл открывается): M1 – признак записи бинарного
файла в формате mixmap [2]; M2 - признак записи текстового
файла в формате mixmap; M3 – признак ввода текстового
входного файла MCU[7]: M4 – признак вывода файла
листинга для контроля вводимой информации. |
(NAMEUN(I), I=1,NUNIT) |
NUNIT A72 |
NAMEUN(I) – имя I-ого
вводимого/выводимого файла из последовательности M1, M2,..., M5; NUNIT – полное число вводимых/выводимых файлов. |
Title |
A72 |
Название варианта |
Описание плоскости и локальной системы координат
Состоит из задания начала
локальной системы координат на плоскости, а также координат двух базисных
векторов.
Имя переменной |
Тип |
Описание переменной |
(C(I), I=1,3) |
3E |
Начало системы координат в
пространстве, в которой задаются параметры сети |
Etype |
A1 |
Переменная, которая может
принимать значения: G, X, Y или Z; определяет способ задания базиса системы координат,
в которой задаются параметры сети |
(E1(I), I=1,3), (E2(J), J=1,3) |
6E |
Координаты векторов векторы
E1 и E2. Вводятся при Etype = G. Базисные векторы вычисляются по формулам: e1=E1/E1, e2=E2-e1*(e1,E2), e2=e2/e2, e3=[e1,e2] |
a |
E |
Угол поворота (в градусах) базисных
векторов вокруг оси OX, OY или
OZ соответственно.
Задается при Etype = X, Y или Z. Базисные векторы вычисляются по формулам, согласно
значению переменной Etype: e1=ey*cos(a)+ez*sin(a), e2=-ey*sin(a)+ez*cos(a); e1=ez*cos(a)+ex*sin(a), e2=-ez*sin(a)+ex*cos(a); e1=ex*cos(a)+ey*sin(a), e2=-ex*sin(a)+ey*cos(a); e3=[e1,e2] |
Описание типа системы координат, в которой задаётся
сеть
Содержит информацию о типе 3D системы
координат, которая может быть декартова () либо цилиндрическая ().
Имя переменной |
Тип |
Описание переменной |
Geom |
I |
Переменная описывает тип
системы координат, в которой задаются параметры сети. Она может принимать
значения 1, 2, что обозначает декартову или цилиндрическую геометрию. Преобразование
в цилиндрическую систему осуществляется стандартным образом, причём угол отсчитывается от e1 к e2 |
Описание параметров сети
Включает параметры разбиения
по первой, второй и третьей пространственным координатам.
Имя переменной |
Тип |
Описание переменной |
Num1, Num2, Num3 |
3I |
Абсолютные значения
параметров определяют число геометрических зон с равномерным шагом по первой,
второй и третьей пространственным переменным. Знаки параметров описывают тип
задания сети: в случае положительного значения вводятся границы зон, в случае
отрицательного - толщины зон |
(Mau1(I), I=1, (|Num1|+1)) |
(|Num1|+1)E |
При Num1 >0/<0 - границы
/ левая граница и толщины геометрических зон по первой пространственной переменной,
см |
(Mau2(J), J=1, (|Num2|+1)) |
(|Num2|+1)E |
При Num2 >0/<0 - границы
/ левая граница и толщины геометрических зон по второй пространственной переменной,
см/радианы для / геометрий, соответственно |
(Mau3(K), K=1, (|Num3|+1)) |
(|Num3|+1)E |
При Num3 >0/<0 - границы
/ левая граница и толщины геометрических зон по третьей пространственной переменной,
см |
(Ma1(I), I=1, |Num1|) |
|Num1|I |
Число пространственных
интервалов по |Num1| геометрическим зонам для
первой пространственной переменной |
(Ma2(J), J=1, |Num2|) |
|Num2|I |
Число пространственных
интервалов по |Num2| геометрическим зонам для
второй пространственной переменной |
(Ma3(K), K=1, |Num3|) |
|Num3|I |
Число пространственных
интервалов по |Num3| геометрическим зонам для
третей пространственной переменной |
Описание параметров точности определения процентного
содержания материалов
Содержит следующие
переменные: переменные целого типа Prec1 и Prec2, задающие число равных частей, на которые делятся
пространственные интервалы сетки по второй и третьей координатам, служащих для
определения содержания простых материалов; действительные переменные EpsO и EpsI, которые
влияют на подсчёт процентного содержания материалов в ячейках. Переменные EpsO и EpsI не
обязательны, в случае игнорирования их задания они принимаются равными значениям
по умолчанию.
Имя переменной |
Тип |
Описание переменной |
Prec1, Prec2 |
I |
Переменные определяют
количество лучей, проводимых через одну пространственную ячейку для определения
процентного содержания простых материалов. В трёхмерном случае каждая ячейка
делится на равное число частей Prec1*Prec2 по второй и третьей координатам. Принцип
определения процентного содержания материалов – численное интегрирование по
формуле прямоугольников – аналогичен двумерному случаю |
Fl |
I |
Признак ввода параметров EpsO и EpsI: 0/>0
- параметры не вводятся, их значения принимаются равными: EpsO=.01,
EpsI=.00001/производится ввод значений параметров EpsO и EpsI |
EpsO, EpsI |
2E |
Запись, определяющая
параметры EpsO и EpsI. Эти параметры влияют на процесс определения процентного
содержания материалов |
Для запуска программы
необходимо в командной строке набрать следующую строку:
vmn < inp_file
где
vmn –
имя исполняемого файла программы ConDat, inp_file – имя
файла начальных данных программы. При вводе программа производит выдачу в файл
листинга с названием, определяемым четвёртой записью в файле начальных данных,
информации о введенных начальных данных. В этот файл также записывается
диагностическая информация, суммарные объёмы, занимаемые каждым материалом (что
позволяет контролировать необходимую плотность лучей метода трейсинга,
задаваемую параметром Prec1 и Prec2), а также время работы программы.
Конвертация комбинаторной 3D геометрии задачи в растровое представление производится
программой ConDat последовательно по шагам аксиальной сетки задачи. При этом,
для удобства пользователя, на монитор выдается информация о текущем шаге конвертации
и времени решения задачи. Пример пускового пакета для 3D версии программы
ConDat приведен в Приложении 2.
Как уже отмечалось выше, тестирование и визуализация
комбинаторного задания геометрии в файле начальных данных программы MCU
производится посредством программы MCU Viewer [1]. Формат mixmap
двумерной растровой геометрии по своей сути подобен растровым графическим
форматам. Следовательно, файл может быть визуализирован естественным образом.
Для построения изображения, например, в формате bmp[8], нужно знать, какой цвет сопоставлять данной точке.
Цвет логичнее определять, исходя из информации о материале, который содержится
в ячейке сети, содержащей данную точку. В результате, требуется лишь
реализовать функцию сопоставления данной точке ячейки сети. После получения
растрового изображения в формате bmp, его можно
конвертировать в любой формат по желанию пользователя. Из свободных средств
обработки изображений хочется отметить ImageMagick [13], которое предоставляет разнообразные утилиты
командной строки.
Однако необходимости в реализации описанного алгоритма
не возникло, поскольку имелось средство визуализации файла геометрического
описания в формате mixmap – специально разработанный скрипт
Maplook, позволяющий воспользоваться средствами графической
программы SURFER, которому в качестве
исходных данных задаются *.bna файлы в
формате Atlas boundary,
содержащих карты физических зон задачи (т. е. зон, заполненных одинаковым
материалом) в заданном сечении расчётной области. Указанные файлы создаются на
этапе ввода данных о геометрии задачи программами КАСКАД-С и КАТРИН, либо постпроцессорами
этих программ KASF [11] и KATRIF [12] на этапе обработки файла решения задачи. Скрипт Maplook объединяет указанные карты материалов в единую
цветную картограмму расчётной области, в которой различным материалам
соответствуют различные цвета. Ячейки с дополнительными смесями материалов закрашиваются
как дополнительный материал.
В качестве примера визуализации геометрии задачи
приведем взятые из [7] рисунки поперечного сечения варианта реактора ТОПАЗ
при использовании комбинаторного представления задачи (Рис. 3) и в растровом
представлении в геометрии на сетке
276×276 после конвертации геометрии задачи на сетку программой ConDat
(Рис. 4).
Рис.
3. Радиальное сечение варианта реактора ТОПАЗ. СУЗ (регулирующие трубы с накладками,
содержащими поглотитель (бор)), повернуты в положение с максимальным значением . Для визуализации геометрии задачи использована программа
MCU Viewer.
Метод трэйсинга может быть использован также и для
конвертирования заданного по-твэльно и (или) по-кассетно источника деления на
разностную сетку задачи с сохранением числа нейтронов источника в каждой
пространственной ячейке сетки. В использованной модели источника
предполагается, что в поперечном сечении твэла или кассеты пространственное
распределение источника деления постоянно, а аксиальное изменение источника
достаточно гладкое и может быть получено линейной интерполяцией по заданным
значениям источника в относительно небольшом числе точек по высоте АЗ (порядка
20).
Рис.
4. Аппроксимация радиального сечения варианта реактора ТОПАЗ в геометрии на сетке
276×276. Белым цветом закрашены ячейки с дополнительными смесями (15-ый
материал). Регулирующие трубы с накладками, содержащими поглотитель (бор), закрашенные
красным цветом, повернуты в положение с максимальным значением . Для визуализации геометрии задачи использован скрипт
Maplook.
Следует отметить, что в программе MCU нет готовых
средств для реализации метода трейсинга для конвертации по-твэльно и (или)
по-кассетно заданного источника, кроме базы данных о введённых источниках.
Поэтому, для конвертации заданного источника деления программы MCU в источник
для программ КАСКАД-С и
КАТРИН был разработан специальный модуль, осуществляющий методом трейсинга
расчёт вклада по-твэльно и (или) по-кассетно заданных источников в каждую
пространственную ячейку сетки, покрывающую область источника, с использованием
вышеуказанной базы данных о введенных источниках. Учитывая ранее разработанный
интерфейс, позволяющий преобразовать по-твэльные и по-кассетные данных о
выгорании (пропорциональные интегральному по времени распределению плотности
нейтронов деления), рассчитанные программами ПЕРМАК и БИПР, в начальные данные
об источнике деления для программы MCU, разработанная утилита позволила конвертировать
указанные данные также и в источник деления для программ КАСКАД-С и
КАТРИН. Примеры использования этой утилиты для конвертации по-твэльно и (или)
по-кассетно заданного источника деления для реакторов ВВЭР-440 и ВВЭР-1000 в
растровую форму приведены в работе [9].
Разработана программа ConDat 1.0 – представляющая собой конвертер для преобразования
исходных данных о геометрии задачи, заданной с использованием методов комбинаторной
геометрии, в растровое представление с поддержанием баланса масс в каждой
пространственной ячейке сетки, покрывающей расчётную область задачи. ConDat позволяет
за короткое время, с необходимой, контролируемой точностью преобразовывать 3D комбинаторное задание геометрии задачи в трёхмерное
или двумерное (для заданного сечения расчётной области) растровое
представление. В дополнение к программе написан скрипт Maplook, позволяющий воспользоваться средствами графической
системы SURFER для визуализации полученного растрового описания
геометрии задачи с использованием файлов формата Atlas boundary,
создаваемых программами КАСКАД-С и КАТРИН при вводе данных о геометрии задачи,
а также их постпроцессорами KASF и KATRIF в
процессе обработки файла решения задачи. Комплекс программных средств
обеспечивает как сравнительно быстрое преобразование исходных данных, так и контроль
за преобразованием, что важно для расчёта нейтронно-физических характеристик реальных
сложных систем, которыми, как правило, являются современные ЯЭУ.
2. R. Orsi, “BOT3P
Version 5.1: A Pre/Post-Processor System for Transport Analysis,” ENEA report
FIS-P9H6-014,
3. R. Orsi, “A General Method of Conserving Mass in Complex Geometry
Simulations on Mesh Grids and Its Implementation in BOT3P5.0,” Nucl. Sci. and
5. J. A. Dahl, “3-D Extension C5G7 MOX Benchmark Results Using PARTISN,” Proc. of
International Conference on
Mathematics and Computation, Supercomputing, Reactor Physics and Nuclear and
Biological Applications,
6. P. Humbert, “Results for the C5G7 3-D Extension Benchmark Using the
Discrete Ordinates Code PANDA,” Proc. of International Conference on Mathematics and Computation,
Supercomputing, Reactor Physics and Nuclear and Biological Applications,
7.
А. М. Волощенко, М. И.
Гуревич, А. А. Руссков, “Об
аппроксимации геометрии задачи посредством генератора сеток, сохраняющего
баланс масс в ячейке сетки,” доклад на 16-ом семинаре Нейтроника 2005, Обнинск, 2005, http://www.neutronica.ru.
9.
А. М. Волощенко, А. А.
Руссков, М. И. Гуревич, Д. С. Олейник, Д. А. Шкаровский, В. И. Цофин, А. Д.
Джаландинов, “Опыт использования генератора сеток, поддерживающего баланс масс
в разностной ячейке сетки, для расчётов радиационных полей в активной зоне и
радиационной защите ЯЭУ,” доклад на 17-ом семинаре Нейтроника 2006, Обнинск, 2006, http://www.neutronica.ru.
13. ImageMagick, http://www.imagemagick.org/
Опишем
последовательность записей в формате mixmap (см. [2], Tab. 1-E) для случая 2D , и геометрий. Размеры массивов указаны в квадратных скобках.
Запись 1
title (character *72)
Запись 2
im, jm,
ntc, nmix,
lmix, izm
(6 integer*4 переменных)
где:
im – число пространственных интервалов по переменным или .
jm - число пространственных интервалов по переменным , или .
ntc –
идентификатор геометрии (1 для , 2 для , 3 для ).
nmix – число пространственных ячеек, содержащих более 1
материальной
зоны.
lmix –
длина записей
5 и 6.
izm –
число материальных
зон.
Запись 3
(x1(i), i=1,im+1), (x2(j), j=1,jm+1) ((im+jm+2)
real*4 переменных)
где:
x1[im+1]
–
границы пространственных интервалов по переменным или , см.
x2[jm+1]
- границы
пространственных интервалов по переменным (в см),
(в оборотах) или , см.
Запись 4
((matz(i,j),i=1,im),j=1,jm)
(im*jm integer*4 переменных)
где:
matz(i,j) > 0 – номер
материальной зоны в (i,j)-ой
пространственной ячейке;
matz(i,j) < 0 - |matz(i,j)|= числу
материальных зон в (i,j)-ой пространственной
ячейке; полное число пространственных ячеек с matz(i,j)<0 = nmix.
Запись 5
(mixlaw(i),i=1,lmix) (lmix integer*4 переменных)
где:
mixlaw[lmix] –
информационный массив, задающий последовательно для
каждой ячейки (полным
числом nmix), содержащей более 1
материальной зоны,
информацию о номерах материальных зон,
присутствующих в
ячейке:
mixlaw[lmix]=(mix1[|matz(i1,j1)|], mix2[|matz(i2,j2)|],…mixnmix[|matz(inmix,jnmix)|]),
где:
mix1(i) -> последовательность |matz(i1,j1)| номеров
материальных зон в первой
ячейке с matz(i,j)<0,
mix2(i) -> последовательность |matz(i2,j2)| номеров
материальных зон во второй
ячейке с matz(i,j)<0,
…..
mixnmix(i) -> последовательность
|matz(inmix,jnmix)| номеров материальных зон в
nmix-ой ячейке с matz(i,j)<0,
Запись 6
(denmix(i),i=1,lmix) (lmix real*4 переменных)
где:
denmix[lmix] - denmix(i) это доля
площади ячейки, занимаемая материальной
зоной с номером,
указанном в массиве mixlaw(i).
Запись 7
(mater(i),i=1,izm) (izm integer*4 переменных)
где:
mater[izm] – номера
материалов по материальным зонам (9$$
[14])[9].
Запись 8
(density(i),i=1,izm)
(izm real*4 переменных)
где:
density[izm] – плотностной фактор по материальным
зонам (=1. в данной
версии ConDat).
Опишем
последовательность записей в формате mixmap (см. [2], Tab. 2-F) для случая 3D и геометрий. Размеры массивов указаны в квадратных скобках.
Запись 1
title (character *72)
Запись 2
im, jm,
km, ntc,
izm, jmcnp
(6 integer*4 переменных)
где:
im – число пространственных интервалов по переменным или .
jm - число пространственных интервалов по переменным или .
km - число пространственных интервалов по переменной .
ntc –
идентификатор геометрии (1 для , 2 для ).
izm - число материальных зон.
jmcnp =
0 если
запись 7 отсутствует (jmcnp =
0 в
данной версии ConDat);
≥ 1 если запись 7
присутствует.
Запись 3
(x1(i), i=1,
im+1), (x2(j), j=1,
jm+1), (x3(k), k=1,
km+1) ((im+jm+km+3)
real*4
переменных) где:
x1[im+1]
–
границы пространственных интервалов по переменным или , см.
x2[jm+1]
- границы
пространственных интервалов по переменным (в см) или
(в оборотах).
x3[km+1]
–
границы пространственных интервалов по переменной , см.
do k=1, km
Запись 4.1 nmixk, lmixk
(2 integer*4 переменных)
Запись 4.2 ((matzk(i,j),
i=1,im),
j=1,jm)
(im*jm integer*4 переменных для
каждой записи)
Запись 4.3 (mixlawk(n), n=1,lmixk) (lmixk integer*4 переменных)
Запись 4.4 (denmixk(n), n=1,lmixk) (lmixk real*4 переменных)
enddo
где:
nmixk - число пространственных ячеек, содержащих более 1
материальной
зоны для k-ого пространственного слоя.
lmixk – длина Записей 4.3 и 4.4. Если lmixk = 0, Записи 4.3 и 4.4 отсутствуют.
matzk(i,j) > 0 – номер
материальной зоны в (i,j,k)-ой
пространственной ячейке;
<
0 -
|matzk(i,j)|= число
материальных зон в (i,j,k)-ой
пространственной ячейке; полное число ячеек с matzk(i,j)<0 = nmixk.
mixlawk[lmixk] – информационный массив, задающий последовательно для
каждой ячейки (полным числом nmixk), содержащей
более 1 материальной
зоны, информацию о номерах материальных
зон, присутствующих в ячейке:
mixlawk[lmixk]=(mix1[|matzk(i1,j1)|] mix2[|matzk(i2,j2)|] mixnmixk[|matzk(inmix,jnmix)|]),
где:
mix1(n) -> последовательность |matzk(i1,j1)| номеров
материальных зон в
первой ячейке
с matzk(i,j)<0,
mix2(n) -> последовательность |matzk(i2,j2)| номеров
материальных зон во
второй ячейке с matzk(i,j)<0,
…..
mixnmixk(n) -> последовательность |matzk(inmix,jnmix)| номеров материалных
зон для nmixk-ой ячейки с matzk(i,j)<0.
denmixk[lmixk] - denmixk(n) - доля объема ячейки, занимаемая
материальной
зоной с номером, указанном
в массиве mixlawk(n)
Запись 5
(mater(i),i=1,izm) (izm integer*4 переменных)
где:
mater[izm] - номера
материалов по материальным зонам (9$$ массив TORT [14])[10].
Запись 6
(density(i),i=1,izm)
(izm real*4 переменных)
где:
density[izm] – плотностной фактор по материальным
зонам (=1. в данной
версии ConDat).
Запись 7
(den_mc(i),
i=1,izm) (izm real*4 переменных) (Note 2)
где:
den_mc[izm] - плотностной
фактор по зонам для MCNP [2] (в данной версии
ConDat эта запись
отсутствует).
Необходимость
файла 1D геометрического описания возникает для
обеспечения геометрического интерфейса с 1D программами. 1D расчет может быть использован для оценки ослабления
излучения вдоль заданного направления, для оценки правильности выбора
пространстственной сетки, в методе синтеза и т. д. Данный текстовый файл
предназначен для вывода данных о геометрическом описании задачи непосредственно
в формате входных данных программы РОЗ-6.6 [10] (вводимых в виде образов карт). 2D версия конвертера ConDat программы позволяет
формировать этот файл для случая 1D (плоской) и (цилиндрической)
геометрий. Файл содержит 5 записей следующего
содержания:
Номер записи |
Имя переменной |
Формат |
Описание переменной |
1 |
NREG |
I3 |
Число геометрических зон в
1D геометрическом описании |
2 |
(KOMP(I), I=1, NREG) |
24I3 |
Номера материалов по
геометрическим зонам |
3 |
RO |
E9.0 |
Начало отсчета
пространственной координаты 1D геометрического описания, см. |
4 |
(X(I), I=1, NREG) |
8E9.0 |
Толщины геометрических зон
по выбранной пространственной переменной, см |
5 |
(MR(I), I=1, NREG) |
24I3 |
Число пространственных
интервалов по геометрическим зонам |
Файл геометрического описания
тестовой задачи на языке NCGSIM
HEAD 1 0 0
CONT B B B
EQU H=320.0
EQU H1=165.0
EQU H2=75.0
C= ===== M A
I N G E O M E T R Y ========
RCZ N1 0. 0. 0.
H 320.0
RCZ N2 0. 0. 0.
H1 162.5
RCZ N3 0. 0. 0.
H2 162.5
RCZ N4 0. 0. 0.
H2 148.0
RCZ N5 0. 0. 0.
H2 82.5
RCZ N6 0. 0. 0.
H1 32.5
RCZ N7 0. 0. 0.
H2 32.5
END
CORE 5 -7 /11:1/1
COR1 4 -5 /11:2/1
COR2 3 -4 /11:3/1
OTR 2 -3
-6 /11:5/1
LEAD 1 -2 U
6 /10:4/1
END
FINISH
Файл начальных данных для 2D версии программы ConDat. 2D геометрия.
!
M1,M2,M3,M4,M5 keys
1 2
4 6 0
! binary mixmap format file
mixmap_ads_rz.bin
! ASCI mixmap format file
mixmap_ads_rz.txt
! MCU input file
ads
! listing file
ads_rz.out
! problem title
ads
! origin of coordinates
0. 0. 0.
! frame of reference
Z
! \alpha, degrees
0.
! geometry
3
! number of radial spatial zones
-6
! number of axial spatial zones
-4
! radial variable zone boundaries
0. 10.0 22.5
50.0 65.5 14.5
157.5
! axial variable zone boundaries
0. 25.0 50.0
90.0 155.0
! number of spatial meshes by radial spatial zones
3 6 9
12 3 18
! number of spatial meshes by axial spatial zones
7 9 12 18
! Prec
10
!EpsO & EpsI are defaults
0
Рис. 5. Тестовой задачи в геометрии (ADS
бенчмарк). Для визуализации геометрии задачи использован скрипт Maplook. В
данной задаче дополнительные смеси отсутствуют.
Файл геометрического описания
тестовой задачи на языке NCGSIM. 3D геометрия.
HEAD 1 0 8000
CONT B B B M B B
RPP N1 0. 580.
0. 205. 0. 500.
RPP N2 0. 580.
0. 205. 380. 500.
RPP N3 460. 580.
0. 205. 0. 370.
RPP N4 80. 460.
125. 185. 30. 370.
RPP N5
385. 460. 185. 205.
30. 370.
RPP N6 80. 200.
185. 205. 30. 370.
RPP N7 80. 160.
90. 125. 30. 370.
RPP N8 40. 80.
90. 155. 30. 370.
RPP N9 95. 160.
80. 90. 63.
370
RPP N10
95. 105. 41. 80.
63. 370.
RPP N11
40. 61. 0. 90.
30. 60.
RPP N12
61. 160. 0.
90. 30. 63.
RPP N13
160. 280. 0.
90. 30. 70.
RPP N14 0. 580.
0. 205. 0. 30.
RPP N15
40. 160. 0.
90. 334. 370.
RPP N16
40. 160. 0.
90. 284. 334.
RPP N17
40. 160. 0. 90.
265. 284.
RPP N18
95. 160. 0.
90. 226. 265.
RPP N19
40. 95. 0.
90. 151. 265.
RPP N20
40. 80. 0.
90. 132.75 151.
WED N21 80. 0.
151. 15.
0. 0. 0. 0. -55.
0. 90. 0.
WED N22 80. 0.
132.75 -40. 0. 0. 0. 0. -36. 0. 90. 0.
RPP N23
105. 130. 0.
90. 63. 120.
RPP N24
130. 160. 0.
90. 63. 110.
WED N25 121.4894
0. 120. -16.4894 0. 0. 0. 0. 31. 0. 80. 0.
RPP N26
121.4894 130. 0.
80. 120. 151.
RPP N27
130. 138.42105
0. 90.
110. 151.
WED N28
138.42105 0. 110. 21.57895 0. 0. 0. 0. 41. 0. 90. 0.
WED N29 130. 0. 151. -8.5106 0. 0. 0. 0. 16. 0. 90. 0.
WED N30 130. 0. 151. 8.42105 0. 0.
0. 0. 16. 0. 90. 0.
BOX N31 56.82
0. 92.68 11.36 0. 17.71 -16.82 0. 10.82
0. 90. 0.
BOX N32 40. 0.
103.5 11.36 0. 17.66
-19.35 0. 12.44 0. 90. 0.
BOX N33 20.65
0. 115.94 11.36 0. 17.66 -16.82 0.
10.82 0. 90. 0.
RPP N34
40. 61. 0.
90. 60.
90.
WED N35 40. 0. 90.
21. 0. 0. 0.
0. 13.5 0. 90. 0.
RPP N36 25.
40. 0. 90.
55. 103.5
WED N37 25. 0. 103.5
15. 0. 0. 0.
0. 9.6429 0. 90. 0.
RPP N38 15.
25. 0. 90.
55. 113.1429
WED N39 15. 0. 113.1429 10. 0. 0. 0. 0. 6.4286 0. 90. 0.
RPP N40 25.
40. 0. 90.
138.1079 226.
WED N41 40. 0. 138.1079 -15. 0. 0. 0. 0. -9.6429 0.
90. 0.
RPP N42 15.
25. 0. 90.
144.5565 226.
WED N43 25. 0. 144.5565 -10. 0. 0. 0. 0. -6.4486 0.
90. 0.
RPP N44
15. 25. 0. 90. 30.
60.
RPP N45
180. 198. 0.
50. 110. 116.
RPP N46 0. 580.
0. 205. 370. 380.
C=PLEX POSITION 1
RPP N47 160.
161. 0. 80. 110. 226.
RPP N48
25. 40. 0.
90. 30. 55.
RPP N49
15. 40. 0.
40. 226. 284.
END
BET 2 U 3 U 4 U 5 U 6 U 7 U 8 U 9 U 10 U 11 U 12 U
13 /1:1/1
BET1 14 U
15 /1:1/2
BET2 44 U 48
/2:1/3
CHYG 21 U 22 U
34 U 35 U 19 U 20 /3:9/3
CHYG 23 U
24 U 26 U 27 U 25 U 28 /4:9/4
PB 29 U 30
U 42 U 43 U 38 U 39 U 49 /5:7/5
TF-5 31 /6:6/6
VODA 32 /7:10/7
PLEX 33 U 39 U 40 U 41 U 36 U 37 U 47 /8:11/8
TOPL 45 /9:8/9
GBET 46 U 17
U 18 /10:3/10
RUDA 16 /11:4/11
VOZD 1 -2 -3 -4 -5 -6 -7 -8
-9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -38 -39 -41 -42 -45
-19
-20 -22 -23 -24 -25 -26 -27 -28 -29 -30
-31 -32 -33 -34 -35 -36 -37 -40 -43 -44 -46 -47 -48 -49 /12:2/2
END
FINISH
Файл начальных данных для 3D версии программы ConDat.
! M1,M2,M3,M4 keys
1 2
4 6
! binary mixmap format file
mixmap_CAMCON_XYZ.bin
! ASCI mixmap format file
mixmap_CAMCON_XYZ.txt
! MCU input file
CAMCON
! listing file
CAMCON.out
! problem title
var_CAMERA
! origin of coordinates
0. 0. 0.
! frame of reference
Z
! \alpha, degrees
0.
! geometry
1
! number of x-variable spatial zones
20
! number of y-variable spatial zones
7
! number of z-variable spatial zones
23
! x variable zone boundaries
0. 15. 20.65 25. 40. 56.82 61. 80. 95. 105. 121.4894 130. 138.42105
160. 161. 180. 198. 280.
385. 460. 580.
! y variable zone boundaries
0. 41. 50. 80. 90. 125. 185. 205.
! z variable zone boundaries
0. 30. 55. 60.
63. 70. 90. 103.5 104. 110. 113.1429 116. 120. 132.75
138.1079
144.5565 151. 226. 265. 284. 334. 370.
380. 500.
! number of spatial meshes by x variable spatial zones
5 6 3 15 5 2 4 3 4 6 3 2 4 1 4 6
18 23 20 20
! number of spatial meshes by y variable spatial zones
20 3 6 3 7 10 3
! number of spatial meshes by z variable spatial zones
5 5 2 2 3 5 4 1
3 2 1
3 4 2 2 3 20 10
5 5 7 3 37
! Prec1 Prec2
20 20
!EpsO & EpsI are defaults
0
Рис. 6. Сечение расчётной
области (модель камеры для манипуляций с ЯТ) в плоскости y=0.0 см.
Для визуализации геометрии задачи использована программа MCU Viewer.
Рис. 7. Сечение расчётной
области в плоскости y=0.0 см. Для визуализации геометрии задачи использован
скрипт Maplook. Дополнительные смеси обозначены как 12-ый материал.
[4] Только для 2D версии конвертера.
[5] ConDat и включенный в него геометрический модуль NCG программы MCU, работают только с фрагментом начальных
данных программы MCU, заключенным между операторами HEAD и FINISH,
ответственным за задание геометрии задачи.
[6] Выборка 1D геометрического описания производится из
пространственного интервала, в который попадает точка PFIX.
[7] Следует отметить, что ConDat и включенный в него
геометрический модуль NCG программы
MCU, работают только с фрагментом начальных данных программы MCU, заключенным
между операторами HEAD и FINISH, ответственным за задание геометрии задачи.
[8] Windows
Bit Map.
[9] В данной версии ConDat номера материалов и
материальных зон совпадают.
[10] В данной версии ConDat номера материалов и
материальных зон совпадают.