Locked History Actions

Geant4OnWin

Geant4 on Windows

  • Geant4.9.5 を Windows 7 上の Visual C++ 2010 Express と CMake を使って動かしたときのメモ。Geant4, Visual C++ 2010 Express, CMake はすべて無料。

参考にしたサイト

試した環境など

  • Panasonic のノートパソコン CF-S10
    • spec.png

  • 使ったプログラム

プログラム/データ

ファイル

Visual C++ 2010 Express

Visual Studio Express > vc_web.exe

CMake

CMake > Resources > Download > cmake-2.8.6-win32-x86.exe

Geant4

Home > User support > Download > geant4_9_5.zip (ZIP format source file)

VRMLView

Coin3D > vrmlview > Win95 > vrmlview.zip

準備

  • まず Visual C++ 2010 Express と CMake をインストールし、VRMLView をダウンロードしておく。
  • CMake インストール

    • CMake のサイトから、Windows (32bit) 用のインストーラ (cmake-2.8.6-win32-x86.exe) をダウンロードして実行。64bit PCでもこれをインストールすればよい。

  • Visual C++ 2010 Express インストール(30日経つと登録(無料)が必要)

    • Visual Studio Express のサイトから、Visual C++ 2010 Express の Web インストール (ダウンロード) をクリック。

    • vc_web.exe のダウンロードが始まる。これを実行すれば、インストールが始まる。
  • VRMLView のダウンロード&展開

    • さらに、シミュレーションの可視化の為に、vrmlview.zip をダウンロードし vrmlview というフォルダに展開。このフォルダを C:\Program Files (x86) に移動させる。vrmlview.exe をダブルクリックすれば、VRMLView が起動する。(隆己君 Thanks!)

Geant4 インストール

  1. Geant4 のダウンロードページから ZIP format の source file (geant4_9_5.zip) をダウンロードする。

  2. ドキュメント (C:\Users\koba\Documents) フォルダに geant4 フォルダを作り、そこに geant4_9_5.zip を展開する。結局、以下のようなディレクトリ構造になる。このディレクトリ構造にしなくてもよい。自分が作業しやすいようにする。
    • C:\Users\koba\Documents\geant4\geant4_9_5\cmake
                                                config
                                                environments
                                                examples
                                                ReleaseNotes
                                                source
                                                CMakeLists.txt
                                                LICENSE
  3. CMake (cmake-gui) を実行し、以下のようにフォームを埋める。"Where is the source code:" は [Browse Source...] ボタンでフォルダを選択することも可能。"Where to build the binaries:" で指定するフォルダは、コンパイルした dll などが置かれるディレクトリである。あらかじめ作っておく必要はなく、後で CMake が作成する。他の場所を指定してもよい。

    • Where is the source code: C:\Users\koba\Documents\geant4\geant4_9_5
      Where to build the binaries:  C:\Users\koba\Documents\geant4\geant4_9_5-build 
    • cmake_config0.png

    •  

  4. [Configure] ボタンを押すと、"Where to build the binaries:" で指定されるフォルダを作成するかを聞かれるので [yes] とし、Visual studio 10, "Use default native compilers" を選択し、[Finish] ボタンを押す。
    • cmake_create_dir.png

    • cmake_gen_comp.png

    •  

  5. コンパイルのオプションが選択できるので、GEANT4_INSTALL_DATA, GEANT4_USEOPENGL_WIN32 にチェックを入れる。Geant4 のインストール場所は、デフォルトのままにする (C:\Program Files (x86)\Geant4)。そして、もう一度 [Configure] ボタンを押す。
    • cmake_config1.png

    •  

  6. 最後に [Genetare] ボタンを押すと、C:\Users\koba\Documents\geant4\geant4_9_5-build に Geant4.sln といったファイルが作成される。
    • cmake_gen.png

    •  

  7. Visual C++ 2010 Express を管理者として実行する。管理者権限がないと、コンパイル済みのプログラムを "C:\Program Files (x86)" フォルダ内にインストールできない。
    • vcpp_run.png

    •  

  8. ファイル > 開く > プロジェクト/ソリューション から、C:\Users\koba\Documents\geant4\geant4_9_5-build\Geant4.sln を開く。

  9. ソリューションエクスプローラー の "All_BUILD" を右クリックし、ビルドを選択すると、ビルドが始まる。上記のスペックのノートパソコンで、コンパイルに50分程度かかるようだ。ビルドの際に、Physics の Data file も自動的にダウンロードされるが、G4NDL.4.0.tar.gz のダウンロードに時間がかかる。先にダウンロードしておくと、ビルドの時間が短縮できる(下記参照)。
    • vcpp_build.png

    •  

    • ちなみに、特別な設定をしなくても、4 スレッドをフルに使ってビルドしているようだ。
    • sys_mon.png

    •  

    • 終了メッセージ
    • ========== ビルド: 77 正常終了、0 失敗、0 更新不要、0 スキップ ==========
    •  

  10. ソリューションエクスプローラー の "INSTALL" を右クリックし、ビルドを選択すると、C:\Program Files (x86)\geant4 ディレクトリへのインストールが始まる。
    • vcpp_install.png

    •  

  11. 以下のようなエラーメッセージが出るので、次のように対処する。error MSB3073 の部分は無視しても大丈夫かも?
    • 11>  CMake Error at cmake_install.cmake:79 (execute_process):
      11>    execute_process given unknown argument "Files".
      11>  
      11>  
      11>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: コマンド "setlocal
      11>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: "C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" -DBUILD_TYPE=Debug -P cmake_install.cmake
      11>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd
      11>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :cmEnd
      11>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
      11>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :cmErrorLevel
      11>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: exit /b %1
      11>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :cmDone
      11>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: if %errorlevel% neq 0 goto :VCEnd
      11>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :VCEnd" はコード 1 で終了しました。
      ========== ビルド: 10 正常終了、1 失敗、67 更新不要、0 スキップ ==========
    • Visual Studio C++ 2010 の [ファイル] > [開く] > [ファイル] で C:\Users\koba\Documents\geant4\geant4_9_5-build\cmake_install.cmake を開き、 79 行目を以下のように変更。

    • execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink .. WIN32-VC WORKING_DIRECTORY $ENV{DESTDIR}C:/Program Files (x86)/Geant4/lib/Geant4-9.5.0)
              ↓↓↓
      execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink .. WIN32-VC WORKING_DIRECTORY $ENV{DESTDIR} "C:/Program Files (x86)/Geant4/lib/Geant4-9.5.0")
  12. 編集したら、再びソリューションエクスプローラー の "INSTALL" を右クリックし、ビルドを選択する。以下のようになればよいはず。(error MSB3073 は気になるが。後で対処法を調べる。)
    • ...
      
      11>  -- Up-to-date: C:/Program Files (x86)/Geant4/include/Geant4/G4OpenGLStoredWin32Viewer.hh
      11>  -- Up-to-date: C:/Program Files (x86)/Geant4/include/Geant4/G4OpenGLWin32Viewer.hh
      11>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: コマンド "setlocal
      11>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: "C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" -DBUILD_TYPE=Debug -P cmake_install.cmake
      11>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd
      11>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :cmEnd
      11>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
      11>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :cmErrorLevel
      11>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: exit /b %1
      11>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :cmDone
      11>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: if %errorlevel% neq 0 goto :VCEnd
      11>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :VCEnd" はコード -1 で終了しました。
      ========== ビルド: 10 正常終了、1 失敗、67 更新不要、0 スキップ ==========
  13.  

  14. Note: Data files を先にダウンロードする方法

    • インストールの前に、Geant4 のダウンロードページからあらかじめ Physics の Data file をダウンロードし、C:\Users\koba\Documents\geant4\data_4_9_5 というディレクトリに置いておく。他のディレクトリでもよい。G4PhotonEvaporation.2.2.tar.gz は PhotonEvaporation.2.2.tar.gz という名前に変更しなければならない。G4NDL.0.2.tar.gz はダウンロードする必要はないようだ。

      • C:\Users\koba\Documents\geant4\data_4_9_5\G4ABLA.3.0.tar.gz
                                                  G4EMLOW.6.23.tar.gz
                                                  G4NDL.4.0.tar.gz
                                                  G4NEUTRONXS.1.1.tar.gz
                                                  G4PII.1.3.tar.gz
                                                  G4RadioactiveDecay.3.4.tar.gz
                                                  PhotonEvaporation.2.2.tar.gz
                                                  RealSurface.1.0.tar.gz
    • さらに、C:\Users\koba\Documents\geant4\geant4_9_5\cmake\Modules\Geant4InstallData.cmake の 39 行目を以下のように変更する。ちなみに、このファイルの中を見ると、ダウンロードすべき Data file がわかる。

      •     set(_urlprefix "http://geant4.cern.ch/support/source")
                           ↓↓↓
            set(_urlprefix "file://C:/Users/koba/Documents/geant4/data_4_9_5")
    • CMake でソリューションファイル Geant4.sln を作り、これを Visual C++ 2010 Express でビルドすると、Date ファイルをダウンロードする時間を省略できる。逆に、上記のような変更をしなければ、ビルド実行時に自動的に Data file が cern のサーバーからダウンロードされる。

サンプルプログラム(N02)のビルド

  1. C:\Users\koba\Documents\geant4\geant4_9_5\examples\novice\N02 フォルダ をコピーし、C:\Users\koba\Documents\geant4\N02 というフォルダを作る。他のフォルダでもよい。自分が作業しやすいようにする。
  2. CMake (cmake-gui) を起動し、以下のようにソースコードの場所と、バイナリを作る場所を指定する。
    • Where is the source code: C:\Users\koba\Documents\geant4\N02
      Where to build the binaries:  C:\Users\koba\Documents\geant4\N02-build 
  3. [Configure] ボタンを押し、CMAKE_INSTALL_PREFIX, Geant4_DIR, WITH_GEANT4_UIVIS の値を確認したら、もう一度 [Configure] ボタンを押し、最後に [Generate] ボタンを押す。
    • n02_gen.png

    •  

  4. Visual C++ 2010 Express を管理者として実行する(上記参照)。管理者権限がないと、コンパイル済みのプログラムを "C:\Program Files (x86)" フォルダ内にインストールできない。
  5. ファイル > 開く > プロジェクト/ソリューション から、C:\Users\koba\Documents\geant4\N02-build\N02.sln を開く。

  6. ソリューションエクスプローラー の "All_BUILD" を右クリックし、ビルドを選択。以下のようなメッセージが出て終了。
    • ========== ビルド: 3 正常終了、0 失敗、0 更新不要、0 スキップ ==========
  7. ソリューションエクスプローラー の "INSTALL" を右クリックし、ビルドを選択。これで、C:/Program Files (x86)/N02 に exampleN02.exe という実行ファイルがインストールされる。以下のようなメッセージが出て終了。
    • ========== ビルド: 3 正常終了、0 失敗、1 更新不要、0 スキップ ==========

サンプルプログラム(N02)の実行

  1. スタートメニュー > すべてのプログラム > アクセサリ から コマンドプロンプトを起動。

  2. 以下のコマンドを実行し、環境変数を設定する。
    • set Path=C:\Program Files (x86)\Geant4\bin;%Path%
      set G4SYSTEM=WIN32-VC
      set G4INSTALL=C:\Program Files (x86)\Geant4
      set G4HEADERS=%G4INSTALL%\include
      set G4ABLADATA=%G4INSTALL%\share\Geant4-9.5.0\data\G4ABLA3.0
      set G4LEDATA=%G4INSTALL%\share\Geant4-9.5.0\data\G4EMLOW6.23
      set G4LEVELGAMMADATA=%G4INSTALL%\share\Geant4-9.5.0\data\PhotonEvaporation2.2
      set G4NEUTRONHPDATA=%G4INSTALL%\share\Geant4-9.5.0\data\G4NDL4.0
      set G4RADIOACTIVEDATA=%G4INSTALL%\share\Geant4-9.5.0\data\RadioactiveDecay3.4
      set G4REALSURFACEDATA=%G4INSTALL%\share\Geant4-9.5.0\data\RealSurface1.0
  3. C:\Users\koba\Documents\geant4\N02 ディレクトリに移動
    • cd C:\Users\koba\Documents\geant4\N02
  4. exampleN02.exe を実行。
    • "C:\Program Files (x86)\N02\bin\exampleN02"
    • n02_run.png

    • n02_mes1.png

    • n02_opengl.png

    •  

  5. さらに詳しくチェックする為に、VRMLView でもシミュレーション結果を見る。C:\Users\koba\Documents\geant4\N02\vis.mac を以下のように編集し、.wrl ファイルを出力するようにする。
    • 11行目の OpenGL の部分を # でコメントアウト
      # Use this open statement to create an OpenGL view:
      #/vis/open OGL 600x600-0+0
      
      23行目の VRML の部分の # をはずす
      # Use this open statement to create a .wrl file suitable for
      # viewing in a VRML viewer:
      /vis/open VRML2FILE
  6. 再び exampleN02.exe を実行。これで、g4_00.wrl という vrml 形式 (?) のファイルができる。
    • "C:\Program Files (x86)\N02\bin\exampleN02"
    • n02_mes2.png

    •  

  7. C:\Program Files (x86)\vrmlview\vrmlview.exe から VRMLView を起動する。[File] > [Open model...] から C:\Users\koba\Documents\geant4\N02\g4_00.wrl を開く。

  8. VRMLView の [View] から Information, Wireframe, Filled を選択すると、Information や検出器の概観が見えるようになる。画面上でクリックしながらマウスを動かせば、視点を動的にぐりぐり変えることができる。
    • n02_vrml.png

バッチで環境変数を設定&サンプルプログラム(N02)を実行

  1. C:\Users\koba\Documents\geant4\N02 フォルダに以下の内容の環境変数設定用の ini.bat (名前は何でもよい) を作る。Path の設定では、exampleN02.exe, vrmlview.exe の場所も指定している。こうすれば、コマンドプロンプト上で例えば vrmlview と打つだけで VRMLView が立ち上がる。
    • set Path=C:\Program Files (x86)\Geant4\bin;C:\Program Files (x86)\N02\bin;%Path%
      set Path=C:\Program Files (x86)\vrmlview;%Path%
      set G4SYSTEM=WIN32-VC
      set G4INSTALL=C:\Program Files (x86)\Geant4
      set G4HEADERS=%G4INSTALL%\include
      set G4LEVELGAMMADATA=%G4INSTALL%\share\Geant4-9.5.0\data\PhotonEvaporation2.2
      set G4LEDATA=%G4INSTALL%\share\Geant4-9.5.0\data\G4EMLOW6.23
      set G4NEUTRONHPDATA=%G4INSTALL%\share\Geant4-9.5.0\data\G4NDL4.0
      set G4RADIOACTIVEDATA=%G4INSTALL%\share\Geant4-9.5.0\data\RadioactiveDecay3.4
      set G4ABLADATA=%G4INSTALL%\share\Geant4-9.5.0\data\G4ABLA3.0
      set G4REALSURFACEDATA=%G4INSTALL%\share\Geant4-9.5.0\data\RealSurface1.0
  2. デスクトップ上 (自分がアクセスしやすい場所ならどこでもよい) で右クリックし、[新規作成] > [ショートカット] をクリック。

    • n02_short.png

    •  

  3. 項目の場所というところで、コマンドプロンプトのパス (%ComSpec% /k ini.bat) を指定。%SystemRoot%\system32\cmd.exe /k ini.bat でも良いかも。

    • n02_comspec.png

    •  

  4. ショートカットの名前を N02-cmd とする。名前は何でも良い。
    • n02_cmd.png

    •  

  5. デスクトップ上にできたショートカットを右クリックし、プロパティを開く。
  6. 作業フォルダの値を C:\Users\koba\Documents\geant4\N02 にする。
    • n02_work.png

    •  

  7. デスクトップ上の N02-cmd ショートカットをダブルクリックすると、ini.bat が実行され、環境変数の設定が行われる。
  8. パスが通っているので、コマンドプロンプトで単に exampleN02 と打てば、C:\Program Files (x86)\N02\bin\exampleN02.exe が実行される。