GAS Chamberのシミュレーションコードとして代表的なGarfieldについていくつかメモを残す
詳細なマニュアルは本家サイトにて提供されているので、そちらを参照。
garfield 7,8,9 (Ver. の違いはMagbolzのVer.の違い)を使用
SL5.4 kernel 2.6.18-164.6.1.el5 x86_64 gcc 4.1.2を使用。
インストールにはcern libが必要。
neBEM(http://nebem.web.cern.ch/nebem/)も同時にインストールした。(なくても動くかもしれません(以前は無くても動いた))
そのためにはGSL(GNU Scientific Library)も必要。
cernlib, GSLのインストールについては割愛、GSLは適当にソースを持ってきてコンパイルした。
一つ問題なのはgarfieldがg77でないとコンパイルできない。(gfortranはバツ)
なので、gcc4ではダメ。つまりRHEL5系ではgcc34 compat rpmをインストールする必要がある。
cernlibもgcc34系のものにしないといけなかった。
-でもm64でもできた。
GSLのコンパイル時、コンフィグは以下の様に。
./configure CC=gcc34 CFLAGS="-g -O2 -m64"
neBEMのコンパイル。本家サイトではV1.5を配布していたが、最新のgarfield-9ではコンパイルにエラーがでる。
しょうがないので、openafs経由でgarfield-9の方のディレクトリからneBEM V1.6? を拝借。<-これはOK
次にGarfieldページの下部、source filesから、以下ソースを取得。
http://cern.ch/rjd/Garfield/garfield-7.car
http://cern.ch/rjd/Garfield/heed101garf.car
http://cern.ch/rjd/Garfield/magboltz-7.car
http://cern.ch/rjd/Garfield/garfield-9_linux.cra
http://cern.ch/rjd/Garfield/garfadd-9_linux.cra
http://cern.ch/rjd/Garfield/makefile_linux
http://cern.ch/rjd/Garfield/patchy_step
名前を変更する
mv garfield-9_linux.cra garfield-9.cra
mv garfadd-9_linux.cra garfadd-9.cra
実行許可を与える
chmod +x patchy_step
makefileの内容を変更
環境変数を自分の環境にあわせて変更
参考:私の使ったmakefile
コンパイル
make -f makefile_linux garfield-9
以下の設定例を~/.garfinitへコピーすることによりきれいな絵がかけます。
"colour screen"用の garfinit (http://cern.ch/rjd/Garfield/garfinit)
"B/W paper"用の garfpaper (http://cern.ch/rjd/Garfield/garfpaper)
"Colour transparency"用の garftrans (http://cern.ch/rjd/Garfield/garftrans)