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

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


geant4

Розбіжності

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

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

Порівняння попередніх версійПопередня ревізія
Наступна ревізія
Попередня ревізія
geant4 [2014/11/09 12:19] – [Использование] Список встроенных команд wombatgeant4 [2021/11/10 08:47] (поточний) – [Файлы данных] Обновление до версии 10.7 wombat
Рядок 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 /home/user/geant/GEANT4-download +Если планируется использовать описание геометрии в формате [[https://gdml.web.cern.ch/GDML/|GDML]], то: 
-  cd /home/user/geant/GEANT4-download + 
-  wget -cS 'http://geant4.cern.ch/support/source/geant4.10.00.p02.tar.gz' +  apt-get install libxerces-c-dev 
-  cd ../ + 
-  tar -xvf GEANT4-download/geant4.10.00.p02.tar.gz +  mkdir /home/user/GEANT4-download 
-  mkdir geant4.10.00.p02-build +  cd /home/user/GEANT4-download 
-  cd geant4.10.00.p02-build/+  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_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: ''-DGEANT4_USE_OPENGL_X11=ON'' Для поддержки OpenGL для X11: ''-DGEANT4_USE_OPENGL_X11=ON''
  
 Для поддержки интерфейса Qt: ''-DGEANT4_USE_QT=ON'' Для поддержки интерфейса Qt: ''-DGEANT4_USE_QT=ON''
 +
 +Для поддержки файлов GDML: ''-DGEANT4_USE_GDML=ON''
  
 ==== Файлы данных ==== ==== Файлы данных ====
Рядок 39: Рядок 44:
  
 <code> <code>
-  *WARNING*+ *WARNING*
     Geant4 has been pre-configured to look for datasets     Geant4 has been pre-configured to look for datasets
     in the directory:     in the directory:
    
-    /home/user/geant/geant4.10.00.p02-install/share/Geant4-10.0.2/data+    /home/user/GEANT4/share/Geant4-10.7.2/data
    
     but the following datasets are NOT present on disk at     but the following datasets are NOT present on disk at
     that location:     that location:
    
-    G4NDL (4.4+    G4NDL (4.6
-    G4EMLOW (6.35+    G4EMLOW (7.13
-    PhotonEvaporation (3.0+    PhotonEvaporation (5.7
-    RadioactiveDecay (4.0+    RadioactiveDecay (5.6
-    G4NEUTRONXS (1.4)+    G4PARTICLEXS (3.1.1)
     G4PII (1.3)     G4PII (1.3)
-    RealSurface (1.0+    RealSurface (2.2
-    G4SAIDDATA (1.1+    G4SAIDDATA (2.0
-    G4ABLA (3.0+    G4ABLA (3.1
-    G4ENSDFSTATE (1.0)+    G4INCL (1.0
 +    G4ENSDFSTATE (2.3)
    
     If you want to have these datasets installed automatically     If you want to have these datasets installed automatically
Рядок 76: Рядок 82:
     download the following files:     download the following files:
    
-    http://geant4.cern.ch/support/source/G4NDL.4.4.tar.gz +    https://cern.ch/geant4-data/datasets/G4NDL.4.6.tar.gz 
-    http://geant4.cern.ch/support/source/G4EMLOW.6.35.tar.gz +    https://cern.ch/geant4-data/datasets/G4EMLOW.7.13.tar.gz 
-    http://geant4.cern.ch/support/source/G4PhotonEvaporation.3.0.tar.gz +    https://cern.ch/geant4-data/datasets/G4PhotonEvaporation.5.7.tar.gz 
-    http://geant4.cern.ch/support/source/G4RadioactiveDecay.4.0.tar.gz +    https://cern.ch/geant4-data/datasets/G4RadioactiveDecay.5.6.tar.gz 
-    http://geant4.cern.ch/support/source/G4NEUTRONXS.1.4.tar.gz +    https://cern.ch/geant4-data/datasets/G4PARTICLEXS.3.1.1.tar.gz 
-    http://geant4.cern.ch/support/source/G4PII.1.3.tar.gz +    https://cern.ch/geant4-data/datasets/G4PII.1.3.tar.gz 
-    http://geant4.cern.ch/support/source/RealSurface.1.0.tar.gz +    https://cern.ch/geant4-data/datasets/G4RealSurface.2.2.tar.gz 
-    http://geant4.cern.ch/support/source/G4SAIDDATA.1.1.tar.gz +    https://cern.ch/geant4-data/datasets/G4SAIDDATA.2.0.tar.gz 
-    http://geant4.cern.ch/support/source/G4ABLA.3.0.tar.gz +    https://cern.ch/geant4-data/datasets/G4ABLA.3.1.tar.gz 
-    http://geant4.cern.ch/support/source/G4ENSDFSTATE.1.0.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:     and unpack them under the directory:
    
-    /home/user/geant/geant4.10.00.p02-install/share/Geant4-10.0.2/data+    /home/user/GEANT4/share/Geant4-10.7.2/data
    
     As we supply the datasets packed in gzipped tar files,     As we supply the datasets packed in gzipped tar files,
Рядок 99: Рядок 106:
 </code> </code>
  
-это означает, что файлы данных ещё не установлены. Их можно установить прямо во время сборки, передав cmake параметр ''-DGEANT4_INSTALL_DATA=ON''. Но это потребует скачивания из интернета (несколькосот МБ). Если эти файлы уже скачаны, их можно вручную распаковать в нужую папку, как и подсказывает нам текстпредупреждения. Для этого:+это означает, что файлы данных ещё не установлены. Их можно установить прямо во время сборки, передав cmake параметр ''-DGEANT4_INSTALL_DATA=ON''. Но это потребует скачивания из интернета (несколькосот МБ). Если эти файлы уже скачаны, их можно вручную распаковать в нужную папку, как и подсказывает нам текст предупреждения. Для этого:
  
-  mkdir -p /home/user/geant/geant4.10.00.p02-install/share/Geant4-10.0.2/data +  mkdir -p /home/user/GEANT4/share/Geant4-10.7.2/data 
-  cd /home/user/geant/geant4.10.00.p02-install/share/Geant4-10.0.2/data +  cd /home/user/GEANT4/share/Geant4-10.7.2/data 
-  tar -xvf /home/user/GEANT4-download/G4ABLA.3.0.tar.gz  +  tar -xvf /home/user/GEANT4-download/G4ABLA.3.1.tar.gz 
-  tar -xvf /home/user/GEANT4-download/G4EMLOW.6.35.tar.gz  +  tar -xvf /home/user/GEANT4-download/G4EMLOW.7.13.tar.gz 
-  tar -xvf /home/user/GEANT4-download/G4ENSDFSTATE.1.0.tar.gz  +  tar -xvf /home/user/GEANT4-download/G4ENSDFSTATE.2.3.tar.gz 
-  tar -xvf /home/user/GEANT4-download/G4NDL.4.4.tar.gz  +  tar -xvf /home/user/GEANT4-download/G4INCL.1.0.tar.gz 
-  tar -xvf /home/user/GEANT4-download/G4NEUTRONXS.1.4.tar.gz  +  tar -xvf /home/user/GEANT4-download/G4NDL.4.6.tar.gz   
-  tar -xvf /home/user/GEANT4-download/G4PhotonEvaporation.3.0.tar.gz  +  tar -xvf /home/user/GEANT4-download/G4PARTICLEXS.3.1.1.tar.gz 
-  tar -xvf /home/user/GEANT4-download/G4PII.1.3.tar.gz  +  tar -xvf /home/user/GEANT4-download/G4PhotonEvaporation.5.7.tar.gz 
-  tar -xvf /home/user/GEANT4-download/G4RadioactiveDecay.4.0.tar.gz  +  tar -xvf /home/user/GEANT4-download/G4PII.1.3.tar.gz 
-  tar -xvf /home/user/GEANT4-download/G4SAIDDATA.1.1.tar.gz  +  tar -xvf /home/user/GEANT4-download/G4RadioactiveDecay.5.6.tar.gz 
-  tar -xvf /home/user/GEANT4-download/RealSurface.1.0.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, как это делалось ранее, чтобы убедиться, что он находит все установленные файлы данных. Если это так, можно переходить к компиляции и установке: После чего можно заново запустить cmake, как это делалось ранее, чтобы убедиться, что он находит все установленные файлы данных. Если это так, можно переходить к компиляции и установке:
Рядок 120: Рядок 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
  
  
Рядок 201: Рядок 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
  
  
Рядок 219: Рядок 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]]
Рядок 226: Рядок 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/
Рядок 237: Рядок 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.1415535572.txt.bz2 · Востаннє змінено: повз wombat