gnuplotでファイルから読み込まれてplotされたデータをシフトする。

例えば out.datが1列目にxの値、2列目にyの値を持ったデータだとする。

-8 0.002001546396184186
-7.995 0.0022929050828279
-7.99 0.002656036847896722
-7.985 0.003115358710275317
-7.98 0.00370636908774639

このプロットをx軸方向に4.7だけずらしたい時は、
plot “out.dat” u ($1+4.7):($2) w l とすれば良い。

 

 

 

カテゴリー: 未分類 | コメントをどうぞ

ImageMagickで-loop 0がうまくいかなかったので色々やってみた。

ImageMagickのbugを発見。これまでconvert -delay 20 -loop 0 *.gif output.gif
でgifアニメを作ってきた。1コマ1コマは正しいのに*.gifで引数を渡すとあるコマでは幾つかのコマが重なって出力された。回避法として、str=$(*.gif)で該当する*.gifをstr配列に渡し、convert -delay 20 -loop $str output.gifとした。

カテゴリー: 未分類 | コメントをどうぞ

ImageMagickのgif画像へのtext挿入が遅すぎて…

ImageMagickでgif画像にテキスト挿入をしようと思ったが、遅いのなんの。とあるベンチマークではjpgの200倍遅かったとかなんとか。これじゃさすがに仕事にならんので、調べるとImageMagickから派生したと思われるGraphicsMagickなるものがあるらしい。

ImageMagickで本来下のようなコマンドは

convert  -pointsize 30 -gravity north -annotate 0x0-100+0 “E=-4.0 eV” -fill white image.gif  image-text.gif

GraphicsMagickではgm convert …で始めてあとはだいたい同じらしい。

例えば

gm convert  -fill white -pointsize 30 -draw “text 100,100 ‘E=5.0 eV'” anime.gif anime0.gif

こんな感じになる。Macportsで入れたのだけどGraphicsMagickを実行したら、

gm convert: Unable to read font (/opt/local/share/ghostscript/fonts/n019003l.pfb) [No such file or directory].

こんなエラーが出た。フォントがないと。

sudo port install ghostscript +universal +x11 でGhost−scriptを入れても、同様のエラーが出るので、ここは奥の手で、n019003l.pfbをネットで探し出し、

sudo mv ~/Downloads/n019003l.pfb /opt/local/share/ghostscript/fonts/

で無理やりねじ込んだ。するとうまくいった。今度は早く済んだので良かった。

 

カテゴリー: 未分類 | コメントをどうぞ

MacOS X El CapitanでユーティリティからXQuartzが起動しない時の対処法。

昨日、XQuartz2.7.10_rc2をインストールして、moldenやxtermが一向に起動せず、ユーティリティからXQuartzアイコンをクリックして起動しようとしても、下のようなエラーが出てしまった。
screen-shot-2016-09-15-at-18-55-17

さてどうしたものかと2、3、時間ハマってしまい色々試したが、次のようにしたらうまくいった。ケースバイケースでこれで必ず解決するわけではないとは思う。レポートを押して詳細のところを見たら

Application Specific Information:
dyld: launch, loading dependent libraries
DYLD_LIBRARY_PATH=/opt/X11/lib
Dyld Error Message:

Symbol not found: _gll_noop
Referenced from: /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
Expected in: /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL in /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL

こんなのが目に止まった。DYLD_LIBRARY_PATHがおかしいのかもと思い、XQuartzのページでXQuartz2.7.10_rc2の解説みたいなのを見ると、A flat_namespace version of libXt is available in /opt/X11/lib/flat_namespace to help ease the transitionとあったので、ホームの.bashrcのDYLD_LIBRARY_PATHの設定を変えた。

つまり$HOME/.bashrcに次の行を加えて、source $HOME/.bashrcで更新したら、xtermもmoldenもうまく立ち上がった。

DYLD_LIBRARY_PATH=/opt/X11/lib/flat_namespace
export DYLD_LIBRARY_PATH

カテゴリー: 未分類 | コメントをどうぞ

Macportsで(sca)lapack,octave,gnuplot,python etc.を入れてみた。

新しいMacにmacportsでいろんなライブラリ等を導入した。
gcc5 やら何やらMacportsで主にuniversal オプションで入れた。これまで、port variants xxxx で調べればオプションが出てくることを知らずに、手当り次第に+atlasとかめちゃくちゃやってた。

sudo port install gcc5 @5.4.0  +universal
sudo port install gcc6 +universal

sudo port install mpich-gcc5 @3.2_4 +fortran
sudo port select –set mpi mpich-gcc5-fortran

port variants gcc6
sudo port install mpich-gcc6 @3.2_4 +fortran
sudo port select –set mpi mpich-gcc6-fortran
sudo port install python27 +universal
sudo port select –set python python27

sudo port install py27-readline +universal

port variants lapack
sudo port install lapack

sudo port install lapack +accelerate+gfortran
sudo port install lapack +universal
sudo port install lapack +accelerate+gcc6+universal
port variants scalapack
sudo port install scalapack +accelerate+gcc6+mpich
sudo port -v install gnuplot -aquaterm +luaterm  +universal
sudo port -v install py-scipy
sudo port -v install py-numpy

sudo port install octave-devel @4.1.0+_14 +accelerate  +graphicsmagick +universal

#########################################################
# Startup items have been generated that will aid in
# starting dbus with launchd. They are disabled
# by default. Execute the following commands to start them,
# and to cause them to launch at startup:
#
# sudo launchctl load -w /Library/LaunchDaemons/org.freedesktop.dbus-system.plist
# launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-session.plist
#########################################################
sudo port select –set octave octave-devel
port select –set sphinx py27-sphinx
sudo port -v install py27-scikit-learn @0.17.1
sudo port -v install py27-matplotlib @1.5.2
The default backend is the interactive Mac OS X backend. Different backends can be specified using the ~/.matplotlib/matplotlibrc file. More details regarding backends can be found in the matplotlib
FAQ:

http://matplotlib.sourceforge.net/faq/installing_faq.html#what-is-a-backend
sudo port install gimp +quartz

sudo port select –set python3 python34

カテゴリー: 未分類 | コメントをどうぞ

Paderbornの読みについて

Paderbornはドイツでも結構マイナーな街で行ったことのあるという人はあまりいません。もちろん日本ではほとんど知られていません。で、一つ気になるのがPaderbornの読み。ドイツ語の単語は日本語に起こすとおおよそオリジナルの発音とは似ても似つかないものが少なくありませんが、(例えばカリーウーストまたはカリーヴースト、「カリーブルスト」なんて絶対に通じない。あと「ケルン」も絶対に通じない。)、Paderbornもその一つ。表記はいろいろあって「パーダーボルン」とか「パダボーン」とか「パダボルン」とか定まってない。現地人が「パーダー」とどちらも伸ばしているようには聞こえない。なんというか「Pader」の「der」が「ダ」と「デ」の中間で(おおよそ「ダ」に近い)感じなので、「パダボーン」が実際の発音に近いと思います。

カテゴリー: 未分類 | コメントをどうぞ

ポケモンGO規制v.s.容認で議論した。 

FBでポケモンGOの規制を唱える先輩と議論になった。思うところあり、異議を唱えたくもあったので。私はもともと完全許容派で紆余曲折の議論の末、この文(誤字の「リリースを」を、「リリース後」に修正)を返信したら、ブロックされた。議論の中で落とし所が見えてきたなと思った矢先で、自分自身も完全許容から部分的許容になっていて、論を向かい合わせて合意にというプロセスを実感していただけに突然のブロックは残念でした。しかし、以下の文は自分の頭の中にある考え、つまりなぜそう思うのかの論拠を筋道立てて書く練習にはなったので良かったと思っています。絡まれてもめんどいので(これ以上にもっとやるべきことがある)返事はしませんのであしからず。。。

自分はスマホは持っていませんし、ゲームで遊ぶこともありませんよ。
何だってそうですが新しいものが出回れば、予想外のことやいろんなことが起きます。だから予測できない初期の迷惑行為等や問題等も、ユーザーへの呼びかけや注意喚起、自治体等のソフトへの要請、ソフト側の対応、利用者の自浄作用で徐々に改善されるならばそれでいいじゃないですか。私は逆になぜこの手の「新しいモノ」をそんなに目の敵にするのかわかりません。発展・進歩・進化・「変化」とは、リリース後しばらくしてメリットとデメリットが洗い出されて改善され制限が加わり擦り合わされてどこかに落ち着くそういうもんじゃないでしょうか。携帯電話やドローンが、SNSやYoutubeが、古くはインターネットやDVDやCDやテレビやラジオがそうであったように。私には、すぐにデメリットだけを恣意的に並べあげ「〇〇=悪」と決めつけ規制し排除するという発想自体が、「新しいモノ」が憎い、「変化」が憎いという、(30半ばのおっさんが言うのもなんですが)老いた器の考えにしか見えません。私は開始早々何か問題が起きて、いきなり規制してそのものを排除しろという短絡的考えに疑問を抱いただけです。何か問題が起きてモノのせいにしてすぐ規制するのではなく、一旦立ち止まり、それを使う人間と提供する側がメリットとデメリットを洗い出し「どのように」利用するかのが双方的にもっと議論されてしかるべきだと言いたかっただけです。(続く…)

死者が出たからやめろというのであれば車もやめろ、飛行機もやめろ携帯電話もやめろとなるべきでは?でもそうならないのは何故なんでしょうか?それはそこにはリスクの概念があり、メリットとデメリットの均衡が取れているからです。初めから「リスクはゼロでなければ出してはいけない」のような考えをお持ちでしたならばそれは論外です。量と割合の概念がない議論は非常に危険です。物事の有無だけで論じることは(善と悪でもいいです)、これはリスクゼロ追求と同じであり、バランスのとれた判断と本質的な議論ができません。リスクのないものなどないのですから合理的な議論ができません。リスクゼロ追求は合理的ではなく「他者に対して過度に不寛容になると、社会システムが機能不全に陥ることがある by 内田樹」(例 日本の公園)いう理由から全く同意できません。「ゼロリスク症候群、低リスク容認論、リスクマネジメント、リスクヘッジ」について調べると面白いかもしれません。

カテゴリー: 未分類 | コメントをどうぞ

SiestaをiMacにインストールしてみた(パラレルで)

先のポストでは、Siesta (ver. 4)をiMacにシリアルでインストールする方法を書いた。本稿では、先日のポストに続き、Siesta (ver. 4)をiMacにMPIでパラレルに入れた記録を残す。

(0-1) 先日のポストの(0)のライブラリ群に正しくパスが通ってるかを、
~/.bashrc表示して確認した。

cat ~/.bashrc

alias la=’ls -a’
alias ll=’ls -l’
alias l=’ls ‘
alias s=’cd ..’
alias li=’ls -G’

export PATH=$PATH:$HOME/bin
export PATH=$PATH:/opt/local/bin:/opt/local/sbin

# setting of LD_LIBRARY
LD_LIBRARY_PATH=/opt/local/lib:/usr/lib/:/usr/local/lib:/usr/local/bin
export LD_LIBRARY_PATH

# some setting for MPI-siesta
export DYLD_LIBRARY_PATH=/opt/local/lib/mpich-gcc5
export SCALAPACK_LIBS=/opt/local/lib/libscalapack.dylib
export LAPACK_DIR=/opt/local/lib/
export BLASDIR=/opt/local/lib/

(0-2) とりあえず(0−1)の設定を更新。

source ~/.bashrc

(0-3) 先日のポストで使ったObjフォルダに移動し、Objフォルダ内を一旦rm -rf *で空っぽにして、再び obj_setup.sh(必要なファイル群をObjフォルダにコピーするスクリプト)とconfigure(自分のマシーンに合うであろうarch.makeファイルをつくってくれるコマンド)でパラレルバージョンのインストルに備えた。

cd ~/workspace/SIESTA/siesta-4.0/Obj
rm -rf *
sh ../Src/obj_setup.sh
../Src/configure

(1) (0−3)でできたarch.makeを少し書き換えて以下のように設定した。書き換えたところだけにした。はあってもなくてもとりあえず通った。違いがわからん。BLACS_LIBSは先日のポストの(3)でコンパイルしたblacsライブラリを指定してる。普通こういうのはフォルダのパスを指定するから、なんか違う気もするが、よく知らんけどとりあえずこうしたら通った。

#
.SUFFIXES:
.SUFFIXES: .f .F .o .a .f90 .F90
SIESTA_ARCH=i686-apple-darwin15.5.0–Gfortran

FC=/opt/local/bin/mpif90-mpich-gcc5
RANLIB=ranlib
SYS=nag
SP_KIND=4
DP_KIND=8
KINDS=$(SP_KIND) $(DP_KIND)
FFLAGS=-g -O2
FPPFLAGS= -DFC_HAVE_FLUSH -DFC_HAVE_ABORT

BLAS_LIBS=-lblas
LAPACK_LIBS=-llapack
BLACS_LIBS=$(HOME)/workspace/SIESTA/BLACS/LIB/blacsF77init_MPI-imac-0.a
SCALAPACK_LIBS=/opt/local/lib/libscalapack.dylib
COMP_LIBS=dc_lapack.a 

LIBS=$(SCALAPACK_LIBS) $(BLACS_LIBS) $(LAPACK_LIBS) $(BLAS_LIBS) $(NETCDF_LIBS) -lmpi
MPI_INTERFACE=libmpi_f90.a
MPI_INCLUDE=./
DEFS_MPI=-DMPI

 

.F.o:
$(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_fixed_F)  $<
.F90.o:
$(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_free_F90) $<
.f.o:
$(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_fixed_f)  $<
.f90.o:
$(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_free_f90)  $<

(2) makeでコンパイル。

make

うまくいけばObjフォルダ内にsiestaのバイナリーが出来上がる。これを適当にsiesta-mpiなどと名前をつけて~/binにコピーすればいいのかな?多分これでいいと思う。

cp ~/workspace/SIESTA/siesta-4.0/Obj/siesta ~/bin/siesta-mpi

 

並列に実行する時は、例えば4コアで実行する時は、

mpirun -np 4 siesta-mpi < input.fdf > output

のようにする。

 

カテゴリー: 未分類 | コメントをどうぞ

SiestaをiMacにインストールしてみた(まずはシリアルで)

例の如く忘備録代わりにSiesta version 4をインストールした記録を残します。最適な近道ではなく、こうやったらこうなったという記録です。
環境はiMac, OS X El Capitan, version 10.11.5 です。
前提条件として、Macports(今入ってるのはver 2.3.4)とXcode (今入ってるのはver 7.3.1)をインストールしているものとします。

(0-1) Macports由来のscalapackがあるか確認

port installed | grep scalapack
scalapack @2.0.2_1+accelerate+mpich
scalapack @2.0.2_1+atlas+mpich (active)

ls /opt/local/lib | grep scalapack
libscalapack.dylib

(0-2) Macports由来のatlasがあるか確認

port installed | grep atlas
atlas @3.10.2_2 (active)
scalapack @2.0.2_1+atlas+mpich (active)

ls /opt/local/lib | grep atlas
libatlas.a
libsatlas.dylib
libtatlas.dylib

(0-3) Macports由来のblasも確認

ls /opt/local/lib | grep blas
libcblas.a
libf77blas.a
libopenblas-r1.a
libopenblas-r1.dylib
libopenblas.a
libopenblas.dylib
libptcblas.a
libptf77blas.a

(0-4) Macports由来のlapackも確認

ls /opt/local/lib | grep lapack
lapack
liblapack.a
libscalapack.dylib

(0-5) どのgccが選択されてるかチェック

port select gcc
Available versions for gcc:
mp-gcc49
mp-gcc5 (active)
none

(0-6) gfortranが動くかチェック(以下ならOK)

gfortran
  gfortran: fatal error: no input files

ついでにパスの確認

which gfortran
/opt/local/bin/gfortran

どこ由来か確認

ll $(which gfortran)
lrwxr-xr-x  1 root  admin  dd Jun dd hh:mm /opt/local/bin/gfortran -> /opt/local/bin/gfortran-mp-5

(0-7) mpiが入ってるかチェック

port installed | grep mpich
mpich-default @3.2_1+gcc5 (active)
mpich-gcc5 @3.2_4+fortran (active)
scalapack @2.0.2_1+accelerate+mpich
scalapack @2.0.2_1+atlas+mpich (active)

(0-8) どのmpiが選択されているかチェック

port select mpi
Available versions for mpi:
mpich-gcc5-fortran
mpich-mp-fortran (active)
none

(1) ソースコード( siesta-4.0.tgz )をhttps://launchpad.net/siesta/4.0/4.0よりダウンロード

(2) とりあえず~/workspace/SIESTA/を作ってそこで(1)を展開した。

cd workspace
mkdir SIESTA
cd SIESTA
mv ~/Downloads/siesta-4.0.tgz .
tar -zxvf siesta-4.0.tgz

(3-1) MPIのためにはBLACSとかいうライブラリがいるみたい。(後述のオチに注意)

そこでhttp://www.netlib.org/blacs/BLACS/Papers.html

MPIBLACS.

A tar file containing the BLACS written on top of MPI. If you download this BLACS version, be sure to read the following papers:

からmpiblacs.tgzをダウンロードして、 ~/workspace/SIESTA/で展開した。

mv ~/Downloads/mpiblacs.tar .
tar -xvf mpiblacs.tar

現時点でBLACSのファイル群は~/workspace/SIESTA/BLACSにある。

(3-2)  BLACSに移動し、BMAKES/内のテンプレート Bmake.MPI-LINUX をBmake.incとしてコピーした。

cd ~/workspace/SIESTA/BLACS
cp BMAKES/Bmake.MPI-LINUX Bmake.inc

つまりBMAKES/Bmake.MPI-LINUXから~/workspace/SIESTA/2016/BLACS/Bmake.incを作った
。そして、Bmake.incを次のところだけ以下のように書き換えた。

  1. BTOPdir = $(HOME)/workspace/SIESTA/BLACS
  2.  MPIdir = /opt/local/
  3. MPIINCdir = $(MPIdir)/include/mpich-gcc5/
  4. MPILIB = $(MPILIBdir)/mpich-gcc5/libmpi.a
  5. F77            = gfortran
  6. CC             = /opt/local/bin/gcc

(3-3)  その後、~/workspace/SIESTA/2016/BLACS/SRC/MPIへ移動し、そこでmakeした。

cd ~/workspace/SIESTA/BLACS/SRC/MPI
make

するとめでたく~/workspace/SIESTA/BLACS/LIB/blacs_MPI-LINUX-0.a が出来上がった。

ヒント1: https://www.open-mpi.org/faq/?category=mpi-apps#blacs ここにもBLACSとScalapackの設定が書かれている。

ヒント2: 上の(3-2)の5.のF77の設定は /opt/local/bin/mpif77-mpich-gcc5 でもいいかも

(4) SiestaのVersion 4をインストールする。

まず~/workspace/SIESTA/siesta-4.0/Objフォルダに移動する。

cd ~/workspace/SIESTA/siesta-4.0/Obj

そして、

sh ../Src/obj_setup.sh

を実行して、コンパイルに必要なファイル群を~/workspace/SIESTA/siesta-4.0/Src/からObjフォルダ内にコピーしてもらう。

さらに ../Src/configureを実行してarch.makeを自動生成してもらう。

../Src/configure

自動生成されたarch.makeはこんな感じになった
Screen Shot 2016-07-06 at 13.45.57
make したら通った。

make

コンパイル後にできたファイルは~/workspace/SIESTA/siesta-4.0/Objにある。
下の画像のように ~/workspace/SIESTA/siesta-4.0/Obj/siestaができているはずだ。
Screen Shot 2016-07-06 at 13.48.28
これをホームのバイナリフォルダに保存した。

cp siesta ~/bin

ここまではシリアルのインストール

オチ: シリアルバージョンでは(3)のステップは必要ない。

MPIバージョンのインストールは次ポストで改めて書きます。

 

sudo port install parmetis +atlas+mpich

 

カテゴリー: 未分類 | コメントをどうぞ

DFTB+(ver1.2.2)をMac OS X 10.7.5にインストールしてみた。

新しい職場に来て、デスクトップのMacを前回の利用者から引き継いだ。自分のアカウントを設定してもらって、まず必要になるであろうソフト群をインストールした。問題は、MacOSのバージョンをあげられないこと。MacOS X 10.7.5でできる範囲のことをしなくてはならない。今後、また必要になるかもしれないし、Macにdftb+インストールしたい方もいるかもしれないので備忘録代わりに、設定と手順を書き残そうと思う。

(1) dftb_plus.orgに登録を済ませていることを前提とする。またMacportを使って/opt/local/lib内に lapackとblasとatlasがあることを確認した。

ls /opt/local/lib | grep lapack
 liblapack.a
 libscalapack.dylib

 

ls /opt/local/lib | grep blas
 libcblas.a
 libf77blas.a
 libgslcblas.0.dylib
 libgslcblas.a
 libgslcblas.dylib
 libgslcblas.la
 libptcblas.a
 libptf77blas.a

 

ls /opt/local/lib | grep atlas
 libatlas.a
 libsatlas.dylib
 libtatlas.dylib

 

(2) dftbp_plus.orgよりソースコードの圧縮ファイルであるdftbp_1.2.2_src.tar.gzをダウンロードする。

(3) とりあえずデスクトップにおいてそこで解凍した。

tar -zxvf dftbp_1.2.2_src.tar.gz

(4) できたフォルダに移動。

cd dftb+_1.2.2_src

(5) READMEによるとインストールはまずdftb+_1.2.2_src/内にあるMake.user.templateのコピーをMake.userとして作って、

cp Make.user.template Make.user

エディタでMake.userの15行目のARCH = x86_64-linux-ifort
を自分のマシーンの環境に合わせて書き換えることから始まるとある。sysmakes/フォルダに、主なアーキテクチャ用のmakeファイル群があらかじめ用意されているので、

ls sysmakes/
 make.generic make.x86_64-linux-g95 make.x86_64-linux-ifort
 make.i686-linux-ifort make.x86_64-linux-gfortran unmaintained

自分のマシーンの環境に合わせて、ARCHを書き換える。linuxのマシーンでgfortranでコンパイルしたいならば、ARCH=x86_64-linux-ifort といった具合だ。x86_64とかi686は詳しい事以前に何の事かわっぱりわからんけど、OSのカーネルがi686(Pentium Pro、Pentium II、Pentium III、Pentium4、Celeronなど)かx86_64(Opteron、Athlon64、Xeon(EM64T))どっちの系統かということなのか?。x86_64かi686どっちね?とおもったらとりあえず

uname -a

というコマンドを実行して、出てきた文字列の最後あたりをみればよいらしい。

問題は、MacOSXでdftb+をMacにインストールすっ場合、sysmakes/フォルダ内に、Macを想定したmakeファイルがない事だ。そこでまず sysmakes/フォルダに移動し、

cd sysmakes

適当にとりあえずmake.i686-linux-gfortranからmake.i686-mac-gfortranを作る。

cp  make.i686-linux-gfortran make.i686-mac-gfortran

そして、以下のようにmake.i686-mac-gfortranの内容を書き換えた(左の行数は後で書き加えたものなので実際のファイルの中身は行数のindexがないものである事に注意)。

1 # -*- makefile -*-
 2
 3 # Fortran 90 compiler
 4 FC90 = gfortran-mp-4.5
 5
 6 # Options for the Fortran 90 compiler
 7 FC90OPT = -O2 -openmp -funroll-all-loops -fall-intrinsics
 8
 9 # Preprocessor
 10 CPP = cpp -traditional
 11
 12 # Options for preprocessing
 13 CPPOPT = -DDEBUG=$(DEBUG)
 14
 15 # Postprocessing of the preprocessor output (add-on pipe)
 16 #CPPPOST = $(ROOT)/utils/fpp/fpp.sh nocntln
 17 CPPPOST = $(ROOT)/utils/fpp/fpp.sh general
 18
 19 # Linker
 20 LN = $(FC90)
 21
 22 # Linker options
 23 #LNOPT = -static
 24 LNOPT = -dynamic
 25
 26 # Override options for different DEBUG modes
 27 ifeq ($(DEBUG),1)
 28 FC90OPT = -g -Wall -std=f2003 -pedantic -fall-intrinsics -fbounds-check
 29 endif
 30 ifeq ($(DEBUG),2)
 31 FC90OPT = -g -Wall -std=f2003 -pedantic -fall-intrinsics -fbounds-check
 32 endif
 33 ifeq ($(DEBUG),3)
 34 FC90OPT = -g -Wall -std=f2003 -pedantic -fall-intrinsics -fbounds-check
 35 endif
 36
 37
 38 # Library options in general
 39 ATLASDIR = /opt/local/lib
 40 LIBOPT = -L$(ATLASDIR)
 41
 42 # How to link specific libraries
 43 LIB_LAPACK = -llapack
 44 LIB_BLAS = -lf77blas -lcblas -latlas
 45 # Threaded version may work as well
 46 # LIB_BLAS = -lptf77blas -lptcblas -latlas

4行目はfortranコンパイラ。gfortranであったり、ifortであったりする(ifortにしたらなぜかこけたので、gfortran-mp-4.5にした。)。

(6) dftb+_1.2.2_src/Make.userの15行目をARCH = i686-mac-gfortranに書き換え、

cd prg_dftb

で cd prg_dftb/に移動し、makeでコンパイルを実行する。

make

(7) うまくいけば、dftb+_1.2.2_src/prg_dftb/フォルダ内に_obj_i686-mac-gfortran/ができ(この_obj_i686-mac-gfortran/フォルダの中でコンパイルが進行する)、さらに最終の目的物であるdftb+ができているはず。

(8)あとはこれdftb+を好きな場所に移動させるなりして、実行すればよい。このとき、dftb+へのパスがただしく通っていて、ターミナルからアクセスできるようにしとかないといけない。仮に(7)でできたdftb+にパスを通したいなら、デスクトップ(~/Desktop)のdftb+_1.2.2_src/prg_dftb/_obj_i686-mac-gfortran/にパスを通すことになるので、ホームディレクトリの.bashrcに(ここではbashでインストールするとしました)、

PATH=$PATH:~/Desktop/dftb+_1.2.2_src/prg_dftb/_obj_i686-mac-gfortran
 EXPORT PATH

を書き加えて、ホームディレクトリで

source .bashrc

とすればdftb+とコマンドを打つ事でdftb+が実行できます。


 

 

カテゴリー: 未分類 | コメントをどうぞ