
- •1.Теоретические положения
- •1.2. Установка и настройка geant4
- •1.3. Пакет geant4
- •1.4. Основные концепции.
- •Структура управляющей последовательности
- •Спецификатор ширины
- •Спецификатор точности
- •Спецификатор размера
- •Спецификатор типа
- •1.6. Примеры
- •1.7. Конфигурационные файлы и визуализация
- •2. Задания к лабораторной работе
- •3. Контрольные вопросы
- •4. Содержание отчета
1.7. Конфигурационные файлы и визуализация
При выполнении моделирования было бы интересно варьировать некоторые параметры и смотреть на изменения в результатах моделирования. Значит необходим механизм, который бы позволил передавать эти параметры в программу моделирования. В простейшем случае, параметры можно ”жестко” задавать прямо в коде программы моделирования, но, очевидно, это неудобно, т.к. при каждом изменении параметра необходимо делать перекомпиляцию программы. Можно передавать параметры в командной строке, но это тоже становиться накладно в случае, если таких параметров больше десятка.
Поэтому разработчикиGEANT4 предусмотрели возможность использования конфигурационных файлов для настройки параметров моделирования. Такие файлы обычно имеют расширение .mac и содержат последовательность команд.
Разработчиками уже реализовано множество команд, но легко можно добавить и свои собственные, отражающие специфику конкретной программы моделирования.
Для примера рассмотрим .mac-файлы из примера novice\N02. run1.mac:
# строки, начинающиеся с символа‘#’ являются коментариями
# серия команд, оканчивающаяся словом verbose задает объем текстовой
# информации выводимой на экран компьютера
/run/verbose 2
/event/verbose 0
# в качестве первичных частиц устанавливаем протоны с энергией 3 MэВ
/gun/particle proton
/gun/energy 3 MeV
# включаем вывод детальной информации по трекам частиц
/tracking/verbose 1
# и запускаем одну частицу
/run/beamOn 1
# теперь 3 нейтрона, 10 МэВ
# без детализации
/gun/particle neutron
/gun/energy 10 MeV
/tracking/verbose 0
/run/beamOn 3
Чтобы программа моделирования выполнила команды этого файла нужно имя файла передать в качестве параметра командной строки:
exampleN02 run1.mac |
Теперь попробуем тоже самое, но с визуализацией геометрии установки и треков частиц, для этого будем использовать другой файл, vis.mac:
# настройки детализации вывода
/control/verbose 1
/run/verbose 1
/tracking/verbose 1
# GEANT4 поддерживает множество систем визуализации, например,
# прямой вывод в растровые графические файлы(jpg, bmp, gif) - RayTracert,
# вывод прямо на экран монитора- OGLIX, вывод в виде текстовой древовидной
# структуры- ASCIITree
# VRML1FILE, при этом геометрия и треки будут сохраняться в широко
# распространенном формате VRML (Virtual Reality Modeling Language)
/vis/open VRML1FILE
# выводим в файл геометрию установки
/vis/drawVolume
# указываем рисовать треки частиц
/vis/scene/add/trajectories
# и точки реакций
/vis/scene/add/hits
# сохранять треки от разных первичных частиц в один и тот же файл
/vis/scene/endOfEventAction accumulate
/gun/particle e-
/gun/energy 1 MeV
#Задаем 10 событий испускания первичных частиц
/run/beamOn 10
Запустите программу моделирования с этим конфигурационным файлом:
user@localhost:~$ ./exampleN02 vis.mac |
В текущем каталоге появиться файл g4_00.wrl. Его можно просмотреть программой MeshLab.
2. Задания к лабораторной работе
1. Создать в домашней папке рабочий каталог «Name»_Group_Ks«N»_work, где
«Name» — Фамилия студента (латинскими символами);
«N» — номер группы
2. Перейти в созданный каталог. В нем создать два подкаталога g++ и geant4.
3. В каталоге g++ скомпилировать программу согласно варианту. Программа должна компилироваться с помощью make-файла.
№ варианта |
Задание |
1 |
Вывести на экран случайную последовательность чисел |
2 |
Вывести на экран ряд четных чисел |
3 |
Вывести на экран ряд нечетных чисел |
4 |
Вывести на экран таблицу умножения на 2 |
5 |
Вывести в текстовый файл случайную последовательность чисел |
6 |
Вывести в текстовый файл ряд четных чисел |
7 |
Вывести в текстовый файл ряд нечетных чисел |
8 |
Вывести в текстовый файл таблицу умножения на 2 |
9 |
Вывести на экран остаток от деления элементов натурального ряда чисел |
10 |
Вывести в текстовый файл остаток от деления элементов натурального ряда чисел |
4. В каталог geant4 скопировать содержимое /distrib/Example_lab.
5. Переименовать Example_lab на lab2.
6. В файле vis.mac изменить значение для энергии испускаемых частиц. Получить энергетический спектр данных частиц после прохождения через заданное в примере вещество (результат сохраняется в spectrum.csv). Число запускаемых первичных частиц установить 5000 (задавать в .mac-файле).
-
Вариант №
1
2
3
4
5
6
7
8
9
10
E, МэВ
1
1,5
2
2,5
3
3,5
4
4,5
5
6,5
7. Построить зависимость интенсивности пучка нейтронов, достигших детектора, от энергии первичных частиц. Энергии первичных нейтронов взять из ряда: 0,025эВ, 0,25эВ, 2,5эВ, 25эВ, 250эВ, 2500эВ, 25000эВ, 250000эВ, 2500000эВ, 25000000эВ. Число запускаемых первичных частиц установить 5000 (задавать в .mac-файле).