Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом ФИНАЛЬНЫЙ.docx
Скачиваний:
112
Добавлен:
23.03.2016
Размер:
249.77 Кб
Скачать

2.2 Программа geant4

Объектно-ориентированный пакет библиотек GEANT4 разработан международной научной коллаборацией в Европейской лаборатории физики частиц (CERN – Conseil Europeen pour la Recherche Nucleaire, Европейская организация ядерных исследований) и предназначен для моделирования прохождения элементарных частиц через вещество. Встроенные средства GEANT4 позволяют полностью описать физический эксперимент: геометрию системы, химический состав образующих его материалов, типы частиц, участвующих в эксперименте, и физические процессы управляющие взаимодействием частиц. Наибольший вклад в разработку внесли ученые из Англии, Италии, Канады, России, США, Франции и Японии.

Области применения GEANT4 включают в себя: физику высоких энергийи исследованиеядерных реакций,медицину,ускорители частици космические физические исследования. Программное обеспечение используется во многих исследовательских проектах по всему миру, в том числе и вРоссии. Базовой средой для запуска GEANT4 являетсяScientific Linux, однако существует совместимость с другими системами как на базеLinux, так иMicrosoft Windows.

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

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

Пакет состоит из набора классов, которые можно разделить на следующие категории:

  • глобальный (global) – содержит систему единиц, констант, генерацию случайных чисел;

  • материалы и частицы (materials&particles) – реализует функции необходимые для описания физических свойств частиц и материалов;

  • геометрия (geometry) – реализует описание геометрии системы и эффективности распространения частиц через объекты системы;

  • процессы (processes) – содержит модели физических взаимодействий;

  • треки (track) – реализует функции необходимые для вычисления треков частиц, и передачи требуемой информации чувствительным объемам (детекторам);

  • события (events) – управление событиями (запуском начальной частицы и управление всеми образовавшимися вторичными частицами);

  • запуск (run) – управление группой событий происходящих при одной и той же конфигурации геометрии системы.

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

Работа программы написанной с использованием библиотек GEANT4 проходит следующим образом:

  • конструируется геометрия системы;

  • вычисляются сечения взаимодействия всех используемых частиц со всеми используемыми материалами;

  • запуск требуемого числа частиц;

  • создание трека – обработка движения каждой из частиц;

  • моделирование продолжается до тех пор, пока не обработаем все частицы.

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

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

Рисунок 4 – Иерархия основных классов

Группа классов обозначенная названием UserActions используется для доступа к информации о процессе моделирования на всех этапах:

  • RunAction – этап создания геометрии системы, используемых частиц и расчета таблицы сечений;

  • PrimaryGenerationAction – этап создания первичной частицы, именно здесь задается тип, начальные направление и энергия частицы;

  • EventAction – этап запуска/остановки первичной частицы, обычно используется для инициализации/сохранения гистограмм и первичного анализа;

  • TrackingAction – этап начала/конца создания трека частицы, позволяет получить информацию о треке частицы, например длину;

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

Порядок работы с GEANT4 состоит в следующем: сначала составляется план эксперимента, изучаются основные свойства и характер взаимодействия экспериментальных частиц. Затем составляется программа на объектно-ориентированном языке C++, использующая библиотеки, входящие в состав GEANT4. После этого исходные тексты программ компилируются, программа выполняется, и происходит анализ полученных результатов. По мере анализа полученных данных в программу вносятся изменения, затем процесс повторяется до тех пор, пока не будут получены удовлетворительные результаты.

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

Общее количество классов в библиотеке порядка 700, но это вовсе не значит что каждый раз нужно наследовать и переопределять их все.

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

Таким образом, из всего многообразия классов, обычно необходимо переопределить лишь их небольшое количество – обычно не более 7‑8. Поэтому такая организация пакета GEANT4 – а именно, использование ООП – весьма облегчает жизнь программисту, его применяющего.

Обязательными для наследования являются 3 класса:

  • G4VUserDetectorConstruction: в этом классе задается геометрия системы и используемые материалы;

  • G4VUserPhysicsList: в этом – используемые частицы, и взаимодействия в которых они участвуют;

  • G4VUserPrimaryGeneratorAction: в этом классе создаются первичные частицы – задается их тип, направление движения, энергия и т.д.

Также, обычно переопределяют так называемые UserAction-классы – это позволяет выполнять необходимые действия на некоторых этапах моделирования:

  • G4UserRunAction: позволяет задать действия в начале/конце запуска. Обычно используют для того, чтобы открыть/закрыть файлы, в которые будут сохраняться результаты моделирования;

  • G4UserEventAction: позволяет задать действия в начале/конце события. Обычно используется для инициализации/сохранения гистограмм и первичного анализа;

  • G4UserStackingAction: позволяет задать действия в момент появления вторичных частиц;

  • G4UserTrackingAction: позволяет задать действия при начале/завершении движения частицы. Используют, например, для получения такой информации, как длина трека частицы;

  • G4UserSteppingAction: позволяет задать действия, выполняемые на каждом шаге движения частиц.

Весь процесс моделирования делится на events (события). Каждое событие заключается в испускании первичных частиц и их дальнейшего движения через геометрию системы вплоть до полной остановки этих частиц (и всех образовавшихся вторичных тоже). Процесс движения каждой конкретной частицы от ее появления до остановки называется track. Совокупность событий при неизменной геометрии установки называют run (запуск). Например, если в моделируемой системе есть радиоактивный источник, то каждое испускание проникающей частицы будет событием, а их совокупность (т.е. испускание, скажем, 1 000 000 частиц) – запуском.

2.3 Моделирование прохождения элементарных частиц через вещество с использованием методов Монте – Карло

В данной работе проводилось моделирование энергетических потерь протонов отдачи в слоях полиэтиленового конвертора и GaAs сенсора. взаимодействия альфа-частиц с энергией 5,6 МэВ и гамма-квантов с энергией 17 кэВ с материалом детектора.

Порядок работы с GEANT4 состоит в следующем: сначала составляется план эксперимента, изучаются основные свойства и характер взаимодействия экспериментальных частиц. Затем составляется программа на объектно-ориентированном языке C++, использующая библиотеки, входящие в состав GEANT4. После этого исходные тексты программ компилируются, программа выполняется, и происходит анализ полученных результатов. По мере анализа полученных данных в программу вносятся изменения, затем процесс повторяется до тех пор, пока не будут получены удовлетворительные результаты.

Моделирование физического эксперимента с помощью GEANT4 основано на методе Монте-Карло. Это предполагает ход физических процессов в эксперименте с наперед заданными вероятностями, чтобы обеспечить максимальную реалистичность эксперимента.

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

В качестве материала для детектора был использован арсенид галлия с плотностью 5,32 г/см3 и молярной массой 144,63 г/моль. Состав арсенида галлия: Ga – 48,2%, As – 51,8 %.