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

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


geant4

Розбіжності

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

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

Both sides previous revision Попередня ревізія
Наступна ревізія
Попередня ревізія
geant4 [2016/04/03 10:47]
wombat Использование G4MPI - компиляция программы
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 
 + 
 +Если планируется использовать описание геометрии в формате [[https://​gdml.web.cern.ch/​GDML/​|GDML]],​ то: 
 + 
 +  apt-get install libxerces-c-dev
  
   mkdir /​home/​user/​GEANT4-download   mkdir /​home/​user/​GEANT4-download
   cd /​home/​user/​GEANT4-download   cd /​home/​user/​GEANT4-download
-  wget -cS 'http://​geant4.cern.ch/​support/​source/geant4.10.00.p02.tar.gz'​ +  wget -cS 'https://geant4-data.web.cern.ch/releases/geant4.10.07.p02.tar.gz'​ 
-  tar -xvf geant4.10.00.p02.tar.gz +  tar -xvf geant4.10.07.p02.tar.gz 
-  mkdir geant4.10.00.p02-build +  mkdir geant4.10.07.p02-build 
-  cd geant4.10.00.p02-build/+  cd geant4.10.07.p02-build/
  
 Без поддержки OpenGL (или интерактивного графического интерфейса вообще?​ FIXME ) : Без поддержки OpenGL (или интерактивного графического интерфейса вообще?​ FIXME ) :
  
-  cmake -DCMAKE_INSTALL_PREFIX=/​home/​user/​GEANT4 -DGEANT4_BUILD_MULTITHREADED=ON /​home/​user/​GEANT4-download/​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''​
  
 ==== Файлы данных ==== ==== Файлы данных ====
Рядок 38: Рядок 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/​GEANT4/​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
Рядок 75: Рядок 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/​GEANT4/​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,
Рядок 98: Рядок 106:
 </​code>​ </​code>​
  
-это означает,​ что файлы данных ещё не установлены. Их можно установить прямо во время сборки,​ передав cmake параметр ''​-DGEANT4_INSTALL_DATA=ON''​. Но это потребует скачивания из интернета (несколькосот МБ). Если эти файлы уже скачаны,​ их можно вручную распаковать в нужую папку, как и подсказывает нам текст предупреждения(([[ftp://​gdo-nuclear.ucllnl.org/​pub/​|Дополнительные файлы данных]])). Для этого:+это означает,​ что файлы данных ещё не установлены. Их можно установить прямо во время сборки,​ передав cmake параметр ''​-DGEANT4_INSTALL_DATA=ON''​. Но это потребует скачивания из интернета (несколькосот МБ). Если эти файлы уже скачаны,​ их можно вручную распаковать в нужную папку, как и подсказывает нам текст предупреждения. Для этого:
  
-  mkdir -p /​home/​user/​GEANT4/​share/​Geant4-10.0.2/data +  mkdir -p /​home/​user/​GEANT4/​share/​Geant4-10.7.2/data 
-  cd /​home/​user/​GEANT4/​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, как это делалось ранее, чтобы убедиться,​ что он находит все установленные файлы данных. Если это так, можно переходить к компиляции и установке:​
Рядок 257: Рядок 266:
  
 Компилировать такую программу нужно следующим образом (предполагается,​ что все пользовательские программы на GEANT4 находятся в каталоге ''/​home/​user/​geant/'',​ а текущая программа - в подкаталоге ''​MPItest''​). Компилировать такую программу нужно следующим образом (предполагается,​ что все пользовательские программы на 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>​ <​code>​
geant4.txt · В останнє змінено: 2021/11/10 10:47 by wombat