MacでFlexible Atomic Code(FAC)を使う
はじめに
Flexible Atomic Code(FAC)は相対論的なHartree-Fock法によってプラズマ中の原子過程や発光スペクトル等を計算してくれるソフトウェアパッケージ。
gfortranを使ってインストールする方法をメモ。bashでもzshでもどちらでもOK。以前にインストールしたg77が残っているとハマので注意。
2020/5/28 内容に間違いがあったので更新(configureのオプション)
参考
・FAC website(基本的に全ての情報はここにある。)
https://www-amdis.iaea.org/FAC/
・他の原子コードとの比較についての解説
http://www.atomiccollision.jp/collision/syoutotsu/10_0701s.pdf
環境
・macOS Catalina 10.15.4
準備
・App StoreからXcodeをダウンロードしてインストールしておく。
・Fortranコンパイラ(gfortran)が動作することを確認。ターミナルで
$ gfortran -v
と打ってgcc version 9.3.0 のように返ってくればok。
gfortran: command not found
と返ってくる場合は、gfortranをinstallする必要がある。
gfortranのインストール(必要な場合のみ)
gfortranが入っていない場合は、以下の方法でインストールする。既にHomebrewが入っているひとは方法2がおすすめ。
方法1:バイナリパッケージでインストール(とりあえずの人向け)
https://github.com/fxcoudert/gfortran-for-macOS/releases
にアクセスして、gfortran 8.2 for Mojaveから、fortran-8.2-Mojave.dmgをダウンロード。gfortran.pkgを開いてインストールする。(for Catalinaはないが、for Mojaveで動くのでOK。2020/5/30)
方法2:Homebrewでgccをインストールする(これからプログラミングの環境構築していきたい人向け)
Mac OS (Catalina) にHomebrewでgnuplot5をインストールを参考にして、まずHomebrewをインストールし、
$ brew update
$ brew install gcc
とすればgfortranがインストールされる。エラーが出る場合は参考ページの後半を参照のこと。
FACのインストール
Githubからソース(ZIPファイル)をダウンロードして解凍するとfac-masterフォルダができるので、適当な場所に保存。
https://github.com/flexible-atomic-code/fac
ターミナルで、fac-masterディレクトリに移動し、
$ ./configure
$ make
$ sudo make install
を順番に実行。
makeではたくさんwarningが出るがとりあえず無視して大丈夫そう。
$ which sfac
/usr/local/bin/sfac
となれば成功。
さっそく計算してみよう。
makeでエラーが出る場合(g77関連)
g77: Bad CPU type in executable
が出る場合はfortranコンパイラとしてg77が呼ばれている。Catalinaでg77は動かないので、g77を削除する。まずwhichコマンドでg77の場所を調べる。
$ which g77
/usr/local/bin/
であれば、
$ sudo rm /usr/local/bin/g77
として削除。/usr/local/bin/の部分は環境によって異なるのでwhichで返ってきたPATHを入力する。
makeでエラーが出る場合(gfortran関係)
Undefined symbols for architecture x86_64:
"__gfortran_concat_string", referenced from:
_dhseqr_ in libmlapack.a(dhseqr.o)
_dormbr_ in libmlapack.a(dormbr.o)
_xermsg_ in libfac.a(xermsg.o)
_dormlq_ in libmlapack.a(dormlq.o)
_dormqr_ in libmlapack.a(dormqr.o)
:
: # いろいろ
:
clang: error: linker command failed with exit code 1
Undefined symbols for architecture x86_64:
"__gfortran_concat_string", referenced from:
_dhseqr_ in libmlapack.a(dhseqr.o)
_dormbr_ in libmlapack.a(dormbr.o)
_xermsg_ in libfac.a(xermsg.o)
_dormlq_ in libmlapack.a(dormlq.o)
_dormqr_ in libmlapack.a(dormqr.o)
:
: # いろいろ
:
clang: error: linker command failed with exit code 1
が出る場合は、gfortranが正しくインストールされていない可能性が高い。
「gfortranのinstall」を再確認。
Author And Source
この問題について(MacでFlexible Atomic Code(FAC)を使う), 我々は、より多くの情報をここで見つけました https://qiita.com/atmol/items/0157f56e962f50946385著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .