Користувальницькькі налаштування

Налаштування сайту


geant4

Це стара версія документу!


GEANT4

GEANT4 — это программный пакет для моделирования прохождения частиц через вещество методом Монте-Карло. Является одним из основных программных инструментов, используемых в CERN.

Установка

Из исходников

Будем следовать рецепту1) с официального сайта GEANT4. Установим пакеты, которые потребуются для сборки GEANT4:

apt-get install cmake libexpat1-dev

Если планируется использовать поддержку OpenGL, то:

apt-get install libglu1-mesa-dev libxmu-dev

Если планируется использовать интерфейс Qt, то:

apt-get install libqt4-dev
mkdir geant
cd geant
wget -cS 'http://geant4.cern.ch/support/source/geant4.10.00.p02.tar.gz'
tar xvf geant4.10.00.p02.tar.gz
mkdir geant4.10.00.p02-build
cd geant4.10.00.p02-build/

Без поддержки OpenGL (или интерактивного графического интерфейса вообще? FIXME ) :

cmake -DCMAKE_INSTALL_PREFIX=/home/user/geant/geant4.10.00.p02-install -DGEANT4_INSTALL_DATA=ON -DGEANT4_BUILD_MULTITHREADED=ON /home/user/geant/geant4.10.00.p02

С поддержкой OpenGL для X11:

cmake -DCMAKE_INSTALL_PREFIX=/home/user/geant/geant4.10.00.p02-install -DGEANT4_INSTALL_DATA=ON -DGEANT4_BUILD_MULTITHREADED=ON -DGEANT4_USE_OPENGL_X11=ON /home/user/geant/geant4.10.00.p02

Для поддержки интерфейса Qt:

  -DGEANT4_USE_QT=ON
time make -j4
make install

Использование

Пример B1

В этом примере моделируется прохождение γ-квантов с энергией 6 МэВ через мягкие ткани и кость человека, помещённые в водную среду.

cd /home/user/geant/
cp -r geant4.10.00.p02/examples/basic/B1 ./
mkdir B1-build
cd B1-build/
. /home/user/geant/geant4.10.00.p02-install/bin/geant4.sh
С использованием графического интерфейса OpenGL:
cmake -DWITH_GEANT4_UIVIS=ON -DGeant4_DIR=/home/user/geant/geant4.10.00.p02-install/lib/Geant4-10.0.2/ ../B1
cd /home/user/geant/B1-build/
./exampleB1

После запуска видим приглашение. Запустим в нём процесс моделирования пролёта частиц. Для того, чтобы просчитать траектории 10 частиц вводим2):

Idle> /run/beamOn 10

Если используется графический интерфейс, в нём должны появиться траектории 10 частиц.

Как видим, кроме зелёных траекторий исходных частиц появились ещё и красные траектории частиц, образовавшихся в результате взаимодействия исходных частиц со средой. Разными цветами GEANT4 показывает частицы разного заряда. Так траектории положительно заряженных частиц отображаются синим цветом, отрицательно заряженных – красным, а нейтральныхзелёным3).
Полученное изображение можно экспортировать в файл. Для интерфейса OpenGL это делается так:

Idle>  /vis/ogl/printEPS
File G4OpenGL_0.eps has been saved

Просмотреть EPS-файл можно при помощи команды display, входящей в пакет ImageMagick:

display G4OpenGL_0.eps

А можно преобразовать в какой-нибудь другой формат. Например,

convert G4OpenGL_0.eps G4OpenGL_0.png

Модификация примера

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

Idle> /gun/energy 1 GeV
Idle> /run/beamOn 10

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

Включим отображение границ объёма, в который помещены исследуемые тела. В рассматриваемом примере B1 существует некий общий объём с названием World, заполненный воздухом, в котором выделен другой объём под названием Envelope, заполненный водой. Включим отображение их границ:

Idle> /vis/geometry/set/visibility/ World 0 true
Idle> /vis/geometry/set/visibility/ Envelope 0 true

После этого появятся границы указанных объёмов, но они будут непрозрачными. Чтобы сделать их прозрачными, изменим стиль отображения логических объёмов:

Idle> /vis/viewer/set/style w

Однко теперь и внутренние исследуемые тела также стали прозрачными. Чтобы вернуть непрозрачность только этим исследуемым телам, делаем так:

Idle> /vis/geometry/set/forceSolid Shape1 0 true
Idle> /vis/geometry/set/forceSolid Shape2 0 true

Теперь попробуем изменить тип и энергию налетающих частиц:

Idle> /gun/particle alpha
Idle> /gun/energy 500 MeV

И снова запустим моделирование:

Idle> /run/beamOn 10

Ссылки

На русском языке

geant4.1410428467.txt.bz2 · В останнє змінено: 2014/09/11 12:41 by wombat