ПОГРУЖЕНИЕ СИСТЕМЫ ПОДГОТОВКИ КОНСТАНТ
MATXS/TRANSX
В СРЕДУ ПАКЕТА ПРИКЛАДНЫХ ПРОГРАММ РЕАКТОР
|
Номер слова |
Имя параметра |
Назначение параметра |
1 |
NAMLIB |
Имя библиотеки сечений |
2 |
IMAC |
Признак расчета макроконстант: 0 – нет, 1 –
требуется |
3 |
IMIC |
Признак расчета микроконстант: 0 – нет, 1 –
требуется |
10 |
ICON |
Признак ввода констант: 0 – константы
рассчитываются, 1 – вводятся |
11 |
NTYPZ |
Число физических зон |
12 |
NGROUP |
Число энергетических групп нейтронов |
15 |
KPRINT |
Признак
печати в выходном файле |
16 |
IPHYS |
Признак ввода ядерных концентраций: 1 – ввода нет,
2 – данные вводятся |
17 |
LPHYS |
Длина массива PHYS |
20 |
NGIN0 |
Номер группы, до которой учитывается неупругое
рассеяние в матрице межгрупповых переходов |
21 |
NCR |
Число типов макроконстнат |
22 |
NGIN1 |
Номер группы, до которой учитываются анизотропия
неупругого рассеяния в 1-ом моменте матрицы межгрупповых переходов |
27 |
LMOM |
Число моментов |
29 |
IPRIB |
Приближение для транспортного сечения: 1 – РN
; 2 – диффузионное |
31 |
NMC |
Число типов микросечений |
32 |
LMIC |
Длина массива микросечений MICRO |
51ё70 |
MAC |
Массив типов макросечений |
71ё100 |
MIC |
Массив адресов данных в массиве MICRO |
101ё200 |
JEND |
Массив конечных адресов векторов для g-группы в
матрице SIGTR0 |
201ё300 |
JEND1 |
Массив конечных адресов векторов для g-группы в матрице SIGTR1 |
401ё500 |
JDN1 |
Массив числа переходов в g-группу в матрице SIGTR1
из нижних групп |
501ё600 |
JDN |
Массив чисел переходов в g-группу в матрице SIGTR0 из нижних групп |
Вектор
MIC массива CONST содержит информацию, необходимую для
расшифровки структуры массива MICRO (см. ниже) Вектор МIC состоит из пар
чисел, из которых первое определяет адрес данных в структуре MICRO, а второе –
тип сечений ( текстовая константа переведенная в целочисленное представление).
Допустимые типы микросечений:
SC – сечение радиационного
захвата ,
SF – сечение деления ,
SA – полное сечение поглощения .
Массив MICRO состоит из блоков, нумеруемых от
0 до NTYPZ. Блок MICRO(0) – массив целого типа, содержит список имен нуклидов,
для которых требуется выполнить расчет микросечений. Этот список определяется
значением векторного параметра MICRO в задании для модуля INCON и состоит из
текстовых констант вида U-238, Pu-239 и т.п., преобразованных в целочисленное
представление. Блоки MICRO(IZON), IZON=1,…,NTYPZ - массивы вещественного типа, содержат
блокированные по зоне IZON групповые микросечения.
Массив PHYS предназначен для хранения характеристик
физических зон – ядерных концентраций и температур. Она формируется модулем
INCON из значений параметров TYPZ в расчетном задании. Массив PHYS состоит из
NTYPZ+1 блоков. Блок PHYS(0) – массив целого типа длиной NTYPZ+1, I-й элемент
которого содержит номер последнего слова в (I-1)-м блоке (другими словами -
адрес начала без единицы I-го блока). Разность двух соседних адресов дает длину
блока. Таким образом, первое слово 0-го блока имеет значение NTYPZ+1, значение
последнего, (NTYPZ+1)-го слова нулевого блока равно полной длине структуры
PHYS. Блоки с номерами IZON=1,…,NTYPZ – имеют общую структуру.
Первые три слова в блоке
PHYS(IZON) - глобальные параметры зоны:
– целочисленное представление текстовой
константы TEMZON;
– IZON - номер физической зоны ;
– температура физической зоны [K].
Затем в цикле по всем нуклидам зоны задаются:
– имя нуклида (в целочисленном
представлении);
– ядерная концентрация нуклида ( в
единицах [число ядер)/барн] ),
– температура нуклида [K].
Вектор MAC массива CONST
содержит имена групповых констант (значение параметра MACRO в задании для
модуля INCON). Допустимые типы
констант:
ENERGY – групповые
границы,
VG – среднегрупповые скорости,
D – коэффициенты диффузии,
SIY – сечения увода из группы,
NSF – сечение образования нейтронов в процессе деления
CHI – спектр деления,
SIT – полное сечение,
SIE – сечение упругого рассеяния,
SIC – сечение поглощения нейтронов,
SIF – сечение деления,
SIZ0 – сечение замедления,
SIGTR0 – матрица межгрупповых переходов, 0-момент,
SIGTR1 – матрица межгрупповых переходов, 1-момент,
SIGEL0 – матрица упругих переходов, 0-момент
SIGS – моменты сечения рассеяния “само в себя”,
SIGPQ – матрица моментов межгрупповых
переходов.
Все перечисленные выше
массивы используются подпрограммой TRSX_I, которая с помощью системных процедур
GREAD, GREADK [13] запрашивает их из архива и преобразует в файл c именем, определяемым значением
параметра dat. В Приложении А приведены результаты теста подпрограммы
TRSX_I, содержащие фрагмент
задания для пакета РЕАКТОР и
соответствующий ему файл исходных данных для программы подготовки констант TRANSX.
Подпрограмма TRSX_C на основе данных библиотеки микроконстант
в формате MATXS, путь к которой задается параметром lib, рассчитывает блокированные по зонам микро- и
макроскопические сечения, и формирует из них выходной файл GOXS. Формат GOXS ( другие его названия – MACRXS, SNXEDT)
является входным для системы программ решения решения уравнения переноса
ONEDANT/TWODANT[16], что в дальнейшем может найти полезное применение. В пакете
РЕАКТОР он не используется непосредственно, а преобразуется в архивные массивы
с помощью подпрограммы TRSX_O (см. ниже). Если в списке параметров MACRO
заказан расчет матрицы упругих переходов SIGEL0, формат файла GOXS немного отличается от стандартного: вслед за
полной матрицей межгрупповых переходов записывается матрица упругого рассеяния (специальная редакция программы TRANSX для пакета
РЕАКТОР). В этом случае файл GOXS,
естественно, не может быть использован программами, не входящими в пакет.
Файл GOXS может содержать следующие типы
макросечений и специальных величин для нейтронов (в принятых в формате файла
обозначениях):
TOTAL - полное сечение
ABS – сечение поглощения
NUSIGF – сечение образования нейтронов в процессе деления
CHI – групповой спектр деления
TRD – транспортное сечение
TOT0 – нулевой момент полного сечения
TOT1 – первые момент полного сечения
ELAS – сечение упругого рассеяния
MUEL – средний косинус упругого рассеяния
INEL – полное сечение неупругого рассеяния
FTOT – полное сечение деления
N2N – сечение реакции
N3N – сечение реакции
NNA – сечение реакции
NNP – сечение реакции
NG – сечение радиационного захвата
NP – сечение реакции
NA - сечение реакции
ND – сечение реакции
NT – сечение реакции
Подпрограмма TRSX_O
преобразует эти данные в массивы констант, заказанные в списке параметров MACRO.
Доступ к данным файла GOXS осуществляется с помощью процедуры GETGOXS.
Требуемые макроконстанты рассчитываются из макросечений по формулам:
Общий принцип упорядочивания данных в массивах – “группа – материалы –
моменты”.
При формировании массива
SIGTR0, содержащего нулевой момент матрицы межгрупповых переходов, создаются
два вспомогательных векторных параметра JEND и JDN в массиве CONSTS. Длина
векторов равна числу энергетических групп NGROUP.
Вектор JDN содержит
числа переходов в каждую группу.
Вектор JEND содержит
конечные адреса записей для каждой группы
в массиве SIGTR0. Под конечным адресом записи понимается номер
слова в массиве SIGTR0, в котором
записано последнее значение макросечения перехода, относящееся к данной группе.
Таким образом, в слове с номером NGROUP вектора JEND записана длина массива
SIGTR0.
Структура массива SIGEL0 совпадает с SIGTR0, поэтому для ее описания
используются те же вектора JEND и JDN.
Для массива SIGTR1
формируются аналогичные вспомогательные векторные параметры JEND1 и JDN1.
Откорректированный
массив управляющих параметров CONSTS
вновь записывается в архив.
Массив SIGPQ состоит из блоков. Каждый блок содержит моменты сечений для всех
материалов одного из переходов. Структура данных блока для перехода из группы
NP в группу NQ (NP№NQ):
NP – номер начальной группы g’,
NQ – номер конечной
группы g,
LMOM(IZON),IZON=1,NTYPZ – число моментов для каждой зоны,
LENG – полная длина вектора моментов,
SPQ(L,IZON),L=1,LMOM(IZON),IZON=1,NTYPZ – массив моментов сечений переходов.
Запись массивов в
архив производится с помощью системных процедур GWRITE, GWRITEK [13].
3.
Запуск модуля TRSX
Заказ 30-групповой
библиотеки MATXS осуществляется присвоением параметрам модуля INCON следующих
значений:
namlib MATXS - тип
библиотеки
ngroup 30 - число нейтронных групп
Модуль TRSX вызывается оператором:
===TRSX 0
Параметры модуля TRANSX:
dat - имя входного файла модуля
lib - путь к библиотеке сечений MATXS
Работа модуля завершается операторами:
FINISH
===CLOSER 0
Типовая схема расчета выглядит следующим образом:
– инициализация архива данных - модуль TASK;
– ввод геометрических параметров рассчитываемой системы - модули GEOM2D ( R-Z геометрия) или
CHART (HEX-Z геометрия);
– ввод физических параметров среды ( состав, температуры ) - модуль INCON;
– расчет блокированных макро- и микроскопических констант - модули GND (GNDL) (библиотека
БНАБ-78) или TRANSX ( MATXS);
– ввод параметров расчета нейтронных потоков
- модуль INFLUX ;
– расчет групповых потоков – модули
DIFRZ (R-Z геометрия) или DIFF2D (HEX-Z геометрия)
– расчет изменения состава – модуль BURNUP
и т.д.
Литература
1.V.I.Arzhanov,
A.V.Voronkov. REACTOR – Program System for Neutron-Physical Calculations. Proc.
International Topical Meeting; Advances in Mathematics, Computations and
Reactor Physics; Pittsburgh, USA, Vol.5,April 28 – May 2, 1991.
2.Л.П.Абагян,
Н.О.Базазянц, М.Н.Николаев, А.М.Цибуля. Групповые константы для расчета реакторов
и защиты. М.,Энергоиздат, 1981
3.ABBN-90 and COSYST2
Computing Technology Collection. RSICC, DLC-182/ABBN-90, ORNL.
4.Г.Н. Мантуров, М.Н.
Николаев, А.М. Цибуля. Система групповых констант БНАБ-93. Часть 1: нейтронные
и фотонные ядерные константы. Вопросы атомной науки и техники, сер. Ядерные
константы, вып.1, 1996.
5.А.В.Воронков,
В.И.Журавлев, Е.Г.Натрусова. GNDL – групповая библиотека нейтронных данных.
ВАНТ, сер. Ядерные константы, вып.5(59), стр. 10, Москва, 1984 г.
6..A.V.
Voronkov, V.I. Zhuravlev et al. GNDL – a Program System of Group Constants to
Provide Calculations of Neutron and Photon Fields. Advances in Mathematics,
Computations and Reactor Physics, Pittsburgh, PA, USA, 1991
7.P.F.Rose and
C.L.Dunford .ENDF-102, Data Formats and Procedures for the Evaluated
Nuclear Data File, ENDF-6, Brookhaven National Laboratory report
BNL-NCS-44945, (July 1990)
8..E.MacFarlane et
al. NJOY 94.10 Code System for
Producing Pointwise and Multigroup Neutron and Photon Sections form ENDF/B
Data. RSIC Peripheral Shielding Routine Collection, PSR-355
9.R.E.MacFarlane TRANSX-2:
A Code for Interfacing MATXS
Cross-Section Libraries
to Nuclear Transport
Codes,LA-12312-MS (1992)
10.В.В.Синица,
А.В.Воронков GNPDL-30/19: Библиотека нейтронно-фотонных групповых констант
для расчета быстрых реакторов и радиационой защиты. Часть 1. Структура
микросечений. Препринт ИПМ РАН (в печати), Москва, 2000
11.В.В.Синица,
А.В.Воронков GNPDL-30/19: Библиотека нейтронно-фотонных групповых констант для
расчета быстрых реакторов и радиационой защиты. Часть 2. Подготовка
макроконстант. Препринт ИПМ РАН (в печати), Москва, 2000
12.А.В.Вороноков,В.И.Аржанов
Принципы построения пакета РЕАКТОР. Препринт ИПМ РАН №2, Москва,1995
13.В.И.Аржанов,
А.В.Вороноков Машинно-независимый архив для решения прикладных задач
математической физики. Препринт ИПМ РАН №7, Москва,1996
14.Пакет прикладных
программ РЕАКТОР.Описание модулей версии пакета для расчета
нейтронно-физических характеристик ядерных реаторов в диффузионном приближении.
Отчет ГНЦ РФ ФЭИ, инв.№1007, Обнинск, 1999
15.Инструкция для
пользователя пакета прикладных программ РЕАКТОР. Отчет ГНЦ РФ ФЭИ, инв.№ Обнинск, 1999
16.RSIC, TWODANT - One- and Two - Dimensional,
Multigroup, Discrete- Ordinates Transport Code System, - RSIC Computer Code Collection, Code Number
CCC-547, ORNL,1990
ПРИЛОЖЕНИЕ. Результаты теста подпрограммы TRSX_I
Фрагмент задания TEST.DAT
для модулей INCON, TRANSX пакета REACTOR:
===INCON
0
CONSTS
CALC,MACMIC,DIF,PHYS,LAMBDA
NAMLIB
MATXS
NGROUP
30
NTYPZ 3
KPRINT 0
TYPZ TEMZON,1.,1200.,
U-235 ,0.1694E-4,.,U-238
,0.5518E-2,.,PU-239,0.628837E-3,.,
PU-240,0.285661E-3,.,PU-241,0.1265E-3,.,PU-242,0.6199E-4,.,
TYPZ TEMZON,2.,900.,
NA
,0.8630E-2,.,FE
,0.1284E-1,.,CR ,0.2830E-2,.,
NI
,0.1510E-2,.,MO ,0.2480E-3,.,
TYPZ TEMZON,3.,900.,
PB
,0.305E-1,.,
MACRO
ENERGY,VG,D,SIY,NSF,CHI,SIC,SIF,SIGTR0,SIGTR1,SIE,SIT,SIZ0
MICRO
SA,SC,SF
SA U-235,U-238,PU-239,PU-240,PU-241,PU-242
SC U-235,U-238,PU-239,PU-240,PU-241,PU-242
SF U-235,U-238,PU-239,PU-240,PU-241,PU-242
LAMBDA
PU-241,1.4722E-9
FINISH
===CLOSER
0
===TRSX
0
DAT
TRANSX.INP
LIB
_MATXS
FINISH
===CLOSER
0
Файл
исходных данных TRANSX.INP, сформированный подпрограммой TRSX_I:
task=
TEST.DAT lib=MATXS
$card
2: options
$
iprint iout iprob iset iform itime idecay itrc icoll initf
1
5 0 1 1 1
0 0 0 0
$card
3: parameters
$
ngroup nl ntabl nup
nthg nmix nreg nmixs
ned neds
-30
6 68 0 0 3
3 99 35 45
$card
3a: path
*
_MATXS\*/
$card
4: mix names
*M001* *M002* *M003*
$card
5: region and heterogeneity specs
$ hregn
rtemp rvol ihet
*Z001*
1200.0 1.0 0
/
*Z002*
900.0 1.0 0
/
*Z003*
900.0 1.0 0
/
$card
6: remap instructions (abs(initf) > 11)
$card
7: mix specification
$
imix ireg hmix dens
1
1 *U235* 1.69400e-05 /
1
1 *U238* 5.51800e-03 /
1
1 *PU239* 6.28837e-04 /
1
1 *PU240* 2.85661e-04 /
1
1 *PU241* 1.26500e-04 /
1
1 *PU242* 6.19900e-05 /
2
2 *NA* 8.63000e-03 /
2
2 *FE* 1.28400e-02 /
2
2 *CR* 2.83000e-03 /
2
2 *NI* 1.51000e-03 /
2
2 *MO* 2.48000e-04 /
3
3 *PB* 3.05000e-02 /
$card
8: edit names
*chi* *trd*
*tot0* *tot1* *elas*
*muel* *inel* *ftot*
*n2n* *n3n*
*nna* *nnp* *ng*
*np* *na* *nd*
*nt* *U235A*
*U238A* *PU239A* *PU240A*
*PU241A* *PU242A* *U235C*
*U238C* *PU239C* *PU240C* *PU241C* *PU242C*
*U235F* *U238F* *PU239F*
*PU240F*
*PU241F* *PU242F*
$card
9: edit specifications
3
*ntot0* 1.0 /
4
*ntot1* 1.0 /
5
*nelas* 1.0 /
6
*mubar* 1.0 /
7
*ninel* 1.0 /
8
*nftot* 1.0 /
9
*n2n* 1.0 /
10
*n3n* 1.0 /
11
*nna* 1.0 /
12
*nnp* 1.0 /
13
*ng* 1.0 /
14
*np* 1.0 /
15
*na* 1.0 /
16
*nd* 1.0 /
17
*nt* 1.0 /
18
*ntot0* 1.0 *U235*
18
*nelas* -1.0 *U235*
18
*ninel* -1.0 *U235*
19
*ntot0* 1.0 *U238*
19
*nelas* -1.0 *U238*
19
*ninel* -1.0 *U238*
20
*ntot0* 1.0 *PU239*
20
*nelas* -1.0 *PU239*
20
*ninel* -1.0 *PU239*
21
*ntot0* 1.0 *PU240*
21
*nelas* -1.0 *PU240*
21
*ninel* -1.0 *PU240*
22
*ntot0* 1.0 *PU241*
22
*nelas* -1.0 *PU241*
22
*ninel* -1.0 *PU241*
23
*ntot0* 1.0 *PU242*
23
*nelas* -1.0 *PU242*
23
*ninel* -1.0 *PU242*
24
*ng* 1.0 *U235*
25
*ng* 1.0 *U238*
26
*ng* 1.0 *PU239*
27
*ng* 1.0 *PU240*
28
*ng* 1.0 *PU241*
29
*ng* 1.0 *PU242*
30
*nftot* 1.0 *U235*
31
*nftot* 1.0 *U238*
32
*nftot* 1.0 *PU239*
33
*nftot* 1.0 *PU240*
34
*nftot* 1.0 *PU241*
35
*nftot* 1.0 *PU242*
*stop*