iSALE - installation on FreeBSD Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

以下はFreeBSD 8.4-RELEASE-p7 (amd64)にiSALEをインストールした際の記録である。
なおこの環境はMacOS 10.8上のParallels Desktop 8上の仮想機であるが、物理機であっても大差無いだろう。

== 必要なports
Xorgを入れていることは大前提となるが、以下が必要となる。
* devel/subversion
* graphics/pgplot
* lang/gcc46        (これはgfortranのため)
* devel/gmake
* lang/python
* math/gnuplot
* graphics/ImageMagick

== パスなどの設定
パスやaliasを活用し
* "gfortran"と打ち込むとgfortran46が呼び出される
* "make"と打込むとgmakeが呼び出される
ようにする。何もしないと"gfortran46"および"gmake"を打ち込まないと動かず、後のconfigureやmakeが途中で止まってしまう。

== iSALEのソースファイル取得
以下のようにする。

    % cd ~
    % svn co --username tito svn://earth.naturkundemuseum-berlin.de/iSALE/tags/chicxulub ./iSALE/work

なおここではmkdir -p iSALE/workなどの操作は不要であり、上のコマンドを実行すると./iSALE/work/が自動的に作られる。パスワードは送付されて来たものを入れる。

== インストール前の設定
以下に行く。

    % cd iSALE/work

そこで./configureファイルの冒頭を編集し、

    #!/bin/sh



    #!/usr/local/bin/bash

に変更する。どういう訳かこれをやらないと文法エラーが出た。

== ソースファイルの微修正
詳しい理由を調査してはいないが四ファイルに軽微な修正が必要であった。

* ./iSALE/src/ptools/ptool_flags.F90

このファイルをそのままコンパイルすると、どういうわけか

    write(*,"(A,I5)") "iSALEMat v0 (developer), Revision ",REV

の行が以下のようなエラーを出す。

    write(*,"(A,I5)") "iSALEMat v0 (developer), Revision",
                                                          1
    Error: Expected expression in WRITE statement at (1)

今回は原因を追究している時間が無いので、苦肉の策として以下のように変更する。

    write(*,"(A)") "iSALEMat v0 (developer), Revision "
    write(*,"(I5)") REV

* ./iSALE/src/ptools/isalepar_flags.F90

このファイルをそのままコンパイルすると、どういうわけか

    write(*,"(A,I5)") "iSALEPar v0 (developer), Revision",REV

の行が以下のようなエラーを出す。

    write(*,"(A,I5)") "iSALEPAR v0 (developer), Revision",
                                                          1
    Error: Expected expression in WRITE statement at (1)

今回は原因を追究している時間が無いので、苦肉の策として以下のように変更する。

    write(*,"(A)") "iSALEPar v0 (developer), Revision"
    write(*,"(I5)") REV

* ./iSALE/src/2D/flags.F90

このファイルについてもコンパイル時に上記と同様なエラーが出るので、

    write(*,"(A,I5)") "isale2d v0 (developer), Revision",REV

の行を

    write(*,"(A)") "isale2d v0 (developer), Revision"
    write(*,"(I5)") REV

と修正する。

* ./iSALE/src/2D/info.F90

このファイルについては

    #ifdef REV
      REVISION=REV
      write(out,"(A,I4)") " - Revision-number: ",REVISION
    #endif

の冒頭の代入文がエラーを出すので、仕方無く以下のようにする。

    #ifdef REV
      write(out,"(A)") " - Revision-number: "
      write(out,"(I4)") REV
    #endif

== makeとインストール
以下のようにすれば良い。

    % make
    % make install

== 動作試験
以下のようにすれば良い。

    % cd share/examples/demo2D
    ./iSALE2D

== 計算結果の描画
まずファイル./iSALEPlot.inpを編集する。具体的には

    png/png

の箇所を

    gif/gif

に修正する。次に以下を実行する。

    % cd demo2D/
    % ../iSALEPlot -f ../iSALEPlot.inp -m jdata.dat

上記が終了したら、ディレクトリDamPre/下に画像ファイルが出来ていることを見る。

    % ls -CF DamPre
    00000.gif  00040.gif  00080.gif  00120.gif  00160.gif  00200.gif
    00010.gif  00050.gif  00090.gif  00130.gif  00170.gif  legend1.gif
    00020.gif  00060.gif  00100.gif  00140.gif  00180.gif  legend2.gif
    00030.gif  00070.gif  00110.gif  00150.gif  00190.gif

結果をanimateで見てみる。

    % cd DamPre/
    % animate -loop 10 00*.gif

それっぽい動画が見えれば無事に完了。