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

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


geant4

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Both sides previous revision Попередня ревізія
Наступна ревізія
Попередня ревізія
geant4 [2014/09/11 12:52]
wombat [Из исходников] libqt4-opengl-dev added
geant4 [2021/11/10 10:47] (поточний)
wombat [Файлы данных] Обновление до версии 10.7
Рядок 6: Рядок 6:
 ===== Из исходников ===== ===== Из исходников =====
  
-Будем следовать рецепту((http://​geant4.cern.ch/​UserDocumentation/​UsersGuides/​InstallationGuide/​html/​ch02.html)) с официального сайта GEANT4. Установим пакеты,​ которые потребуются для сборки GEANT4:+Будем следовать рецепту((https://geant4-userdoc.web.cern.ch/​UsersGuides/​InstallationGuide/​html/​installguide.html)) с официального сайта GEANT4. Установим пакеты,​ которые потребуются для сборки GEANT4:
  
   apt-get install build-essential cmake libexpat1-dev   apt-get install build-essential cmake libexpat1-dev
Рядок 14: Рядок 14:
   apt-get install libglu1-mesa-dev libxmu-dev   apt-get install libglu1-mesa-dev libxmu-dev
  
-Если планируется использовать интерфейс ​Qt, то:+Если планируется использовать интерфейс ​Qt5, то:
  
-  apt-get install ​libqt4-dev libqt4-opengl-dev+  apt-get install ​qtbase5-dev libqt5opengl5-dev
  
-  ​mkdir geant +Если планируется использовать описание геометрии в формате [[https://​gdml.web.cern.ch/​GDML/​|GDML]],​ то: 
-  cd geant + 
-  wget -cS 'http://​geant4.cern.ch/​support/​source/geant4.10.00.p02.tar.gz'​ +  apt-get install libxerces-c-dev 
-  tar xvf geant4.10.00.p02.tar.gz + 
-  mkdir geant4.10.00.p02-build +  ​mkdir /​home/​user/​GEANT4-download 
-  cd geant4.10.00.p02-build/+  cd /​home/​user/​GEANT4-download 
 +  wget -cS 'https://geant4-data.web.cern.ch/releases/geant4.10.07.p02.tar.gz'​ 
 +  tar -xvf geant4.10.07.p02.tar.gz 
 +  mkdir geant4.10.07.p02-build 
 +  cd geant4.10.07.p02-build/
  
 Без поддержки OpenGL (или интерактивного графического интерфейса вообще?​ FIXME ) : Без поддержки 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+  cmake -DCMAKE_INSTALL_PREFIX=/​home/​user/​GEANT4 ​-DGEANT4_BUILD_MULTITHREADED=ON /home/user/GEANT4-download/geant4.10.07.p02
  
-С поддержкой OpenGL для X11:+Для ​поддержки OpenGL для X11: ''​-DGEANT4_USE_OPENGL_X11=ON''​
  
-  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''​
  
-Для поддержки интерфейса Qt:+Для поддержки ​файлов GDML: ''​-DGEANT4_USE_GDML=ON''​ 
 + 
 +==== Файлы данных ==== 
 + 
 +Если при конфигурировании отображается следующее предупреждение:
  
 <​code>​ <​code>​
-  ​-DGEANT4_USE_QT=ON+ ​*WARNING* 
 +    Geant4 has been pre-configured to look for datasets 
 +    in the directory:​ 
 +  
 +    /​home/​user/​GEANT4/​share/​Geant4-10.7.2/​data 
 +  
 +    but the following datasets are NOT present on disk at 
 +    that location: 
 +  
 +    G4NDL (4.6) 
 +    G4EMLOW (7.13) 
 +    PhotonEvaporation (5.7) 
 +    RadioactiveDecay (5.6) 
 +    G4PARTICLEXS (3.1.1) 
 +    G4PII (1.3) 
 +    RealSurface (2.2) 
 +    G4SAIDDATA (2.0) 
 +    G4ABLA (3.1) 
 +    G4INCL (1.0) 
 +    G4ENSDFSTATE (2.3) 
 +  
 +    If you want to have these datasets installed automatically 
 +    simply re-run cmake and set the GEANT4_INSTALL_DATA 
 +    variable to ON. This will configure the build to download 
 +    and install these datasets for you. For example, on the 
 +    command line, do: 
 +  
 +    cmake -DGEANT4_INSTALL_DATA=ON <​otherargs>​ 
 +  
 +    The variable can also be toggled in ccmake or cmake-gui. 
 +    If you're running on a Windows system, this is the best 
 +    solution as CMake will unpack the datasets for you 
 +    without any further software being required 
 +  
 +    Alternatively,​ you can install these datasets manually 
 +    now or after you have installed Geant4. To do this, 
 +    download the following files: 
 +  
 +    https://​cern.ch/​geant4-data/​datasets/​G4NDL.4.6.tar.gz 
 +    https://​cern.ch/​geant4-data/​datasets/​G4EMLOW.7.13.tar.gz 
 +    https://​cern.ch/​geant4-data/​datasets/​G4PhotonEvaporation.5.7.tar.gz 
 +    https://​cern.ch/​geant4-data/​datasets/​G4RadioactiveDecay.5.6.tar.gz 
 +    https://​cern.ch/​geant4-data/​datasets/​G4PARTICLEXS.3.1.1.tar.gz 
 +    https://​cern.ch/​geant4-data/​datasets/​G4PII.1.3.tar.gz 
 +    https://​cern.ch/​geant4-data/​datasets/​G4RealSurface.2.2.tar.gz 
 +    https://​cern.ch/​geant4-data/​datasets/​G4SAIDDATA.2.0.tar.gz 
 +    https://​cern.ch/​geant4-data/​datasets/​G4ABLA.3.1.tar.gz 
 +    https://​cern.ch/​geant4-data/​datasets/​G4INCL.1.0.tar.gz 
 +    https://​cern.ch/​geant4-data/​datasets/​G4ENSDFSTATE.2.3.tar.gz 
 +  
 +    and unpack them under the directory:​ 
 +  
 +    /​home/​user/​GEANT4/​share/​Geant4-10.7.2/​data 
 +  
 +    As we supply the datasets packed in gzipped tar files, 
 +    you will need the '​tar'​ utility to unpack them. 
 +  
 +    Nota bene: Missing datasets will not affect or break 
 +               ​compilation and installation of the Geant4 
 +               ​libraries.
 </​code>​ </​code>​
 +
 +это означает,​ что файлы данных ещё не установлены. Их можно установить прямо во время сборки,​ передав cmake параметр ''​-DGEANT4_INSTALL_DATA=ON''​. Но это потребует скачивания из интернета (несколькосот МБ). Если эти файлы уже скачаны,​ их можно вручную распаковать в нужную папку, как и подсказывает нам текст предупреждения. Для этого:
 +
 +  mkdir -p /​home/​user/​GEANT4/​share/​Geant4-10.7.2/​data
 +  cd /​home/​user/​GEANT4/​share/​Geant4-10.7.2/​data
 +  tar -xvf /​home/​user/​GEANT4-download/​G4ABLA.3.1.tar.gz
 +  tar -xvf /​home/​user/​GEANT4-download/​G4EMLOW.7.13.tar.gz
 +  tar -xvf /​home/​user/​GEANT4-download/​G4ENSDFSTATE.2.3.tar.gz
 +  tar -xvf /​home/​user/​GEANT4-download/​G4INCL.1.0.tar.gz
 +  tar -xvf /​home/​user/​GEANT4-download/​G4NDL.4.6.tar.gz  ​
 +  tar -xvf /​home/​user/​GEANT4-download/​G4PARTICLEXS.3.1.1.tar.gz
 +  tar -xvf /​home/​user/​GEANT4-download/​G4PhotonEvaporation.5.7.tar.gz
 +  tar -xvf /​home/​user/​GEANT4-download/​G4PII.1.3.tar.gz
 +  tar -xvf /​home/​user/​GEANT4-download/​G4RadioactiveDecay.5.6.tar.gz
 +  tar -xvf /​home/​user/​GEANT4-download/​G4SAIDDATA.2.0.tar.gz
 +  tar -xvf /​home/​user/​GEANT4-download/​G4RealSurface.2.2.tar.gz
 +
 +После чего можно заново запустить cmake, как это делалось ранее, чтобы убедиться,​ что он находит все установленные файлы данных. Если это так, можно переходить к компиляции и установке:​
  
   time make -j4   time make -j4
Рядок 43: Рядок 128:
    
  
 +===== G4MPI =====
 +
 +Для использования технологий MPI в GEANT4, нужно скомпилировать и установить библиотеку G4MPI. Она поставляется в архиве последних версий GEANT4 в разделе примеров((http://​geant4.web.cern.ch/​geant4/​UserDocumentation/​Doxygen/​examples_doc/​html/​Examples_MPI.html)).
 +
 +  mkdir G4MPI.build && cd G4MPI.build
 +  cmake -DGeant4_DIR=/​home/​user/​GEANT4/​lib/​Geant4-10.2.1 -DCMAKE_INSTALL_PREFIX=/​home/​user/​GEANT4/​G4MPI /​home/​user/​GEANT4-download/​geant4.10.02.p01/​examples/​extended/​parallel/​MPI/​source
 +  make
 +
 +Если компилятор выдаёт ошибку,​ приведённую ниже, это означает,​ что в системе установлена старая версия MPI.
 +
 +<​code>​
 +/​home/​user/​GEANT4-download/​geant4.10.02.p01/​examples/​extended/​parallel/​MPI/​source/​src/​G4MPIscorerMerger.cc:​ In member function ‘void G4MPIscorerMerger::​Pack(const G4VScoringMesh*)’:​
 +/​home/​user/​GEANT4-download/​geant4.10.02.p01/​examples/​extended/​parallel/​MPI/​source/​src/​G4MPIscorerMerger.cc:​309:​37:​ error: invalid conversion from ‘const void*’ to ‘void*’ [-fpermissive]
 +           &​outputBufferPosition,​comm);​
 +                                     ^
 +</​code>​
 +
 +Чтобы собрать G4MPI в таком случае нужно добавить параметр ''​-DG4MPI_OLD_MPI=ON''​
 +
 +После этого можно установить G4MPI в указанную ранее папку:
 +
 +  make install
  
  
 ====== Использование ====== ====== Использование ======
  
 +Список встроенных команд рабочей среды GEANT4 можно просмотреть [[http://​geant4.web.cern.ch/​geant4/​G4UsersDocuments/​UsersGuides/​ForApplicationDeveloper/​html/​Control/​UIcommands/​_.html | здесь]].
 ===== Пример B1 ===== ===== Пример B1 =====
  
Рядок 59: Рядок 167:
   С использованием графического интерфейса OpenGL:   С использованием графического интерфейса OpenGL:
   cmake -DWITH_GEANT4_UIVIS=ON -DGeant4_DIR=/​home/​user/​geant/​geant4.10.00.p02-install/​lib/​Geant4-10.0.2/​ ../B1   cmake -DWITH_GEANT4_UIVIS=ON -DGeant4_DIR=/​home/​user/​geant/​geant4.10.00.p02-install/​lib/​Geant4-10.0.2/​ ../B1
 +  make
  
   cd /​home/​user/​geant/​B1-build/​   cd /​home/​user/​geant/​B1-build/​
Рядок 122: Рядок 231:
   Idle> /run/beamOn 10   Idle> /run/beamOn 10
  
 +
 +===== Параллельные вычисления =====
 +
 +==== G4MPI ====
 +
 +Согласно [[http://​geant4.web.cern.ch/​geant4/​UserDocumentation/​Doxygen/​examples_doc/​html/​Examples_MPI.html | документации G4MPI]], программа на GEANT4, использующая технологии MPI может иметь примерно такую структуру:​
 +
 +<code c++>
 +#include "​G4MPImanager.hh"​
 +#include "​G4MPIsession.hh"​
 +
 +int main(int argc,char** argv)
 +{
 +  // Создание диспетчера G4MPImanager
 +  G4MPImanager* g4MPI= new G4MPImanager(argc,​argv);​
 +      ​
 +  // Создание сессии MPI (G4MPIsession) вместо G4UIterminal
 +  G4MPIsession* session= g4MPI-> GetMPIsession();​
 +      ​
 +  // Далее следует стандартный код программы на GEANT4
 +  G4RunManager* runManager= new G4RunManager();​
 +
 +  ...
 +
 +  // После установки всех параметров программы нужно запустить сессию MPI.
 +  // MPIsession может работать как в интерактивном,​ так и в пакетном режиме.
 +  session->​SessionStart();​
 +
 +  // В конце выполнения программы
 +  delete g4MPI;
 +  delete runManager;
 +}   
 +</​code>​
 +
 +Компилировать такую программу нужно следующим образом (предполагается,​ что все пользовательские программы на GEANT4 находятся в каталоге ''/​home/​user/​geant/'',​ а текущая программа - в подкаталоге ''​MPItest''​).
 +
 +Сначала нужно указать в ''​CMakeLists.txt''​ для нашей программы пути к файлам MPI. Для этого нужно отредактировать или добавить такие строки:​
 +
 +<code txt "​CMakeLists.txt">​
 +# Поиск пакета MPI в системе:​
 +find_package(MPI REQUIRED)
 +
 +# Установка флагов компилятора и компоновщика:​
 +set(CMAKE_CXX_COMPILE_FLAGS ${CMAKE_CXX_COMPILE_FLAGS} ${MPI_COMPILE_FLAGS})
 +set(CMAKE_CXX_LINK_FLAGS ${CMAKE_CXX_LINK_FLAGS} ${MPI_LINK_FLAGS})
 +
 +# Путь к заголовочным файлам:​
 +include_directories(${MPI_INCLUDE_PATH} "/​home/​user/​GEANT4/​G4MPI/​include/"​)
 +
 +# Путь к библиотекам для компоновки окончательного исполнимого файла программы:​
 +target_link_libraries(MPItest-program.bin ${MPI_LIBRARIES} ${G4mpi_DIR}/​libG4mpi.so)
 +</​code>​
 +
 +Затем собственно компиляция:​
 +
 +<​code>​
 +cd /​home/​user/​geant/​
 +mkdir MPItest.build
 +cd MPItest.build
 +. /​home/​user/​GEANT4/​bin/​geant4.sh
 +cmake -DGeant4_DIR=/​home/​user/​GEANT4/​lib/​Geant4-10.2.1 -DG4mpi_DIR=/​home/​user/​GEANT4/​G4MPI/​lib ../MPItest
 +make
 +</​code>​
 +
 +Запускать полученную программу можно в стандартном окружении MPI. Например,​
 +
 +  mpirun -n 4 ./​MPItest-program.bin
 +
 +
 +===== Анимация =====
 +
 +При использовании интерфейса Qt правым щелчком мыши по изображению эксперимента вызывается меню, в котором можно выбрать пункт ''​Actions''​ → ''​Movie parameters...''​
 +
 +{{::​movie_parameters.png?​200 || }}
 +В этом окне можно выбрать параметры записи анимации,​ а также запустить и остановить её.
 +
 +Для того, чтобы этим воспользоваться,​ необходимо установить пакет [[http://​netpbm.alioth.debian.org/​ | netpbm]], который будет собирать из отдельных снимков в формате PPM((При этом сами снимки помещаются в подкаталог с именем вида ''​QtMovie_12-09-2014_09-27-35''​ (имя, по-видимому,​ соответствует дате и времени запуска) каталога,​ указанного в окне настроек видео под параметром ''​Temporary folder path''​)) видеофайл в формате MPEG:
 +
 +  sudo apt-get install netpbm ​
  
  
Рядок 128: Рядок 316:
  
 [[http://​geant4.web.cern.ch/​geant4/​UserDocumentation/​UsersGuides/​ForApplicationDeveloper/​html/​index.html | Geant4 User's Guide for Application Developers]] [[http://​geant4.web.cern.ch/​geant4/​UserDocumentation/​UsersGuides/​ForApplicationDeveloper/​html/​index.html | Geant4 User's Guide for Application Developers]]
 +
 +[[https://​geant4.web.cern.ch/​geant4/​UserDocumentation/​UsersGuides/​ForApplicationDeveloper/​html/​ch06.html | Chapter 6.  User Actions]]
 +
 +[[https://​geant4.web.cern.ch/​geant4/​UserDocumentation/​UsersGuides/​ForApplicationDeveloper/​html/​ch06s02.html | Optional User Actions]]
 +
 +[[https://​geant4.web.cern.ch/​geant4/​UserDocumentation/​UsersGuides/​ForApplicationDeveloper/​html/​ch03s03.html | System of Units]]
 +
 +[[http://​geant4.web.cern.ch/​geant4/​UserDocumentation/​UsersGuides/​ForApplicationDeveloper/​BackupVersions/​V9.6/​html/​ch11s04.html | FAQ.4. ​ Tracks and steps]]
 +
 +[[https://​geant4.web.cern.ch/​geant4/​UserDocumentation/​UsersGuides/​ForApplicationDeveloper/​html/​ch03s04.html#​sect.Run.Basic.Manage | Run]]
  
 [[http://​www.geant4.org/​geant4/​support/​training.shtml | GEANT4 Training Courses]] [[http://​www.geant4.org/​geant4/​support/​training.shtml | GEANT4 Training Courses]]
Рядок 135: Рядок 333:
 http://​geant4.slac.stanford.edu/​tutorial/​mcgill06/​HandsOn3/​HandsOn3.htm http://​geant4.slac.stanford.edu/​tutorial/​mcgill06/​HandsOn3/​HandsOn3.htm
  
 +[[http://​geant4.cern.ch/​G4UsersDocuments/​UsersGuides/​PhysicsReferenceManual/​html/​PhysicsReferenceManual.html | Physics Reference Manual]]
  
 http://​www.jlab.org/​conferences/​geant4/​ http://​www.jlab.org/​conferences/​geant4/​
Рядок 146: Рядок 344:
  
 [[http://​content.lib.utah.edu/​utils/​getfile/​collection/​etd3/​id/​2106/​filename/​2096.pdf | MCNP5 AND GEANT4 COMPARISONS FOR PRELIMINARY FAST NEUTRON PENCIL BEAM DESIGN AT THE UNIVERSITY OF UTAH TRIGA SYSTEM]] by Christian Amevi Adjei [[http://​content.lib.utah.edu/​utils/​getfile/​collection/​etd3/​id/​2106/​filename/​2096.pdf | MCNP5 AND GEANT4 COMPARISONS FOR PRELIMINARY FAST NEUTRON PENCIL BEAM DESIGN AT THE UNIVERSITY OF UTAH TRIGA SYSTEM]] by Christian Amevi Adjei
- 
 ===== На русском языке ===== ===== На русском языке =====
  
geant4.1410429154.txt.bz2 · В останнє змінено: 2014/09/11 12:52 by wombat