gfortranでの環境変数(FORT##)による入出力ファイルの指定

Posted by 藤堂 眞治 at March 02. 2014

gfortranで環境変数(FORT10等)を使って、ファイルとUNITを結合するためのパッチを作成しました(xTAPP.gfortran.diff)。

  • src/ giounit_util.F90, src/ giounit.h : ライブラリ関数
  • src/giounit_open.C : ユニット番号ごとに formatted, unformatted を指定
  • src/Makefile : Debian + gfortran + FFTW + LAPACK 用の設定を追加 (" x86 _64 Debian Linux" セクション)
  • Makefile : トップレベルMakefileを追加 (xTAPPバイナリとドキュメントPDFを作成)

Debian (wheezy)でビルドする際の手順は以下の通りです。

  1. src/Makefile-dist を src/Makefile にコピー
  2. src/Makefile の 54〜131行目をコメントアウト
  3. 173〜198行目の ”for x86_64 Debian Linux” の項のコメントマークを外す
  4. 267〜268行目の”for AMD GPU” の項をコメントアウト
  5. 270〜271行目の”for CPU” の項のコメントマークを外す
  6. src/config.h-dist を src/config.h にコピー
  7. src/config90.h-dist を src/config90.h にコピー
  8. make

なお、このI/O結合ライブラリの元ソースやテストコードは https://github.com/wistaria/giounit で公開しています。

Attachments

Re: gfortranでの環境変数(FORT##)による入出力ファイルの指定

Posted by 藤堂 眞治 at March 02. 2014

早速ですが、先ほどのパッチは元素の種類が一種類の時しか上手く動きませんでした。giounit_open.Cに数行追加した修正版のパッチを添付します。Siの例とquartzの例について動作確認しました。元素が6種類までであれば動くと思います。

Attachments

Re: gfortranでの環境変数(FORT##)による入出力ファイルの指定

Posted by 吉本 芳英 at March 03. 2014

コードを作成してくださり、ありがとうございます。

取り込む方向で検討します。