Information of code update
MDSPASS2
Sep 6 2021
- 別途開発していたReaxFF対応バージョン(2020/7/22)とマージしました.一応ReaxFFが動かせます.
Jul 13 2021
- e_force_tersoff.cpp 小さなセルで,原子が2つ以上のレプリカイメージと相互作用する際に問題が生じることが判明,修正しました.
- NEB解析をやや大幅改訂し,バネ定数を指定できるようにしました(完成度は低いかもしれないので要継続検討).
Dec 15 2020
- RECIPEでのアンサンブルの切り替えが機能していないことが判明したため,修正しました.
recipeがSETDATを新たに読み込んだとき,アンサンブルが変更されていればmd_set()を呼ぶようにしました.
(アンサンブルを記憶しておく変数としてensemble_pを用意した)
May 20 2020
- Ubuntu 20.04上で動かしたとき,原子の mouse pick (マウスでクリックすることで原子をセレクト)の際に segmentation
fault で落ちるという現象が発生(Ubuntu 19.10迄では問題なし).Linux版を修正しアップしました.(関連記事)
Dec 16 2017
- Mac環境ではソースのコンパイル時にエラー(gccとの相性が原因か?)が発生することが判明したため,Mac用に修正したソースファイルをアップロードしました.
May 2 2013
- AIREBOポテンシャル(但しtorsional項を除く)を実装しました.例えば多層CNTについて,層間のvan der Waals力が
きちんと計算されます.
※炭化水素系についてはテストが不十分かもしれません.
Apr 5 2013
- Write config 機能を一部訂正しました(CONFIG.OUT.ABSについて,原子座標の単位をmからÅに訂正).
Mar 19 2013
- Edit configuration 機能を追加しました.Create config ポップアップウィンドウ内のEdit atomロールアップを展開すると操作パネルが開きます.原子の追加・削除,移動/原子種の変更ができます.
- NEB anaylsys モードを追加しました.Extra ボタンより開きます.初期状態はCONFIG.NEB.INI,終状態はCONFIG.NEB.ENDから読み込みます.NEB解析後の,INIとENDの間のノード点に対応する原子配置はCONFIG.NEB.01などというファイル名で保存されます.エネルギー曲線はfeneb.d
(緩和途中のエネルギー曲線も含む), feneb_last.d (緩和後のもののみ)に書き出されます.
- Phonon analysis モードを追加しました.Extra ボタンより開きます.あらかじめユニットセル(たとえばSiの場合原子数N=2)を用意し,それに対して計算を実行します.フォノン分散曲線(離散点ですが)は phonon.d に書き出されます.
- 2つの原子間距離,3つの原子間結合角度を求められる機能を追加しました.Extra ポップアップウインドウから,Measureボタンを押すとパネルが開きます.
Jan 31 2013
Jan 29 2013
- Parrinello-Rahman法による応力制御機能を追加しました.
- stress.d, cell.dにそれぞれ応力テンソル,セル形状マトリクスの変化を出力するようにしました.書式は第1行目を参照.
- Parrinello-Rahman法のセル形状収縮を抑えるためのダンパを装備しました(Algorithm=NPH+PRdamper, NPT+PRdamper).Stressウインドウでダンパの値を調整できます.Hv
Limitはセル形状マトリクスの変化速度に上限を設定するものですが必要ないかも.
- 原子配置の緩和とセルの緩和(設定応力になるようセル形状を調整)する機能を追加しました(Algorithm=Full relaxation).
- (Bug fixed!) ADP, EAM Mishin, GEAM, Morse のバグ修正(small cellを用いた時の応力計算不具合修正)
Jan 22 2013
- (Bug fixed!) CNT corrugation mode にて,CNTにかかる荷重の計算(Control panle に表示されるCNTprsの値)にバグがあったため修正しました.これに伴い,CNTprs
(原子1個当たりの荷重)を止め,CNTload (CNTが受ける全荷重)表示に改めました.
- (Minor bug fixed) Set param -> Special settings for CNT のウインドウ右下部,Ring
欄の Fmax の単位は(N)でなく(eV/Å)でしたので訂正しました.
- MD viewer ウインドウで原子をクリックしたときの,原子の座標表示の単位を(Å)に改めました.
Jan 20 2013
- ポテンシャルのパラメータをファイルから読み込める機能を追加.Set parameter の下部に新設された Pot file ボタンを押すとポップアップウィンドウが開き,そこでポテンシャルのパラメータファイルを指定できます(パラメータファイルはカレントディレクトリ以下の
pot/ ディレクトリに置いておく).現在 Dipole ポテンシャルのみに対応.
- メインウィンドウに,Calc ボタンを追加.MDを行わず,エネルギー,原子に働く力,応力の計算を更新します.
Dec 30 2012
- ADP他を少し高速化
- Energy, CSP (Central Symmetry Parameter)で原子を色分けする機能を追加
Dec 20 2012
- ADP (Angular Dependent Potential)に対応(当面Snのみ,パラメータは hard coded)
- 周期境界条件の際,原子を常にセルボックス内に収めるか収めないかの切替ができるようにしました.
Nov 29 2012
- CNT corrugation modeにて,外部荷重の値がwall modeの時しか計算されなかった不具合を解消しました.これでring modeの時でもコントロールパネルのstatus欄内のCNTprsに値が表示されます.
Nov 28 2012
- 原子に働く力のうち,外部荷重によるものだけを表示できるようにしました.
- CNT corrugation mode の ring mode において,ring を描画できるようにしました.
- ブックキーピング半径(frc)の指定の際,frcを直接SETDATで与えるこことしていましたが,これはポテンシャルカットオフ半径(rc,ポテンシャル種によって変わる)に依存して面倒なため,rcとfrcの差(frc_margin)を指定できるようにしました.
- 上記に伴い,Set paramウインドウでカットオフ半径などが見られるようにしました.frc_marginは"B-keep margin"ボックスで入力可能です.
- Stressボタンを設置しました.これを押すとポップアップウインドウが開き,セルに働く応力(global stress)が表示されます.数値微分との比較によって計算結果をチェックすることもできます.原子あたりの応力(local stress)は原子をクリックした際に表示されます.
※操作と関係なく急にSegmentation faultで落ちるケース(Linux)
(2019.12.03) 何か特定の操作をしたわけでもないのにSegmentation faultで落ちてしまうケース(例えばMDを回しっぱなしにしているとあるとき突然落ちる、しかも何ステップ目で落ちるかが場合によって異なる)が稀に現れる。その場合はグラフィックカードのドライバを変えてみると治るかもしれない。
(NVIDIAのカードが搭載されている場合で、デフォルトのnouveauを「追加のプロプライエタリドライバ」に変更したら不具合が解消したというケースがあった。)
Download and install
注) 今のところ,我々との共同研究での使用に限定しています.ダウンロード・使用される場合には必ず梅野研までご連絡ください.
MDSPASS2 for Linux/Mac (ソースよりコンパイル)
1.必要な開発環境やライブラリのインストール
※glui プログラミングのための環境構築についても、下記の情報を参考にしてください。glui プログラミングをするためだけなら、「gluiのインストール」まで実行していただければOKです。
gcc (g++), glut, glui, lapack (blas), libpng が必要なので下記を参考にインストールしてください(以下に示す手順はあくまでヒントです、詳細は適宜調べてください)
<Linuxの場合> (mdspass2ソースファイルのREADME.jにも記載しています)
- freeglutのインストール
CentOSなどyumによるパッケージ管理の環境では
> sudo yum install freeglut
> sudo yum install freeglut-devel
ubuntuなどのapt-getによるパッケージ管理環境では
> sudo apt-get install freeglut3-dev
- gluiのインストール
http://glui.sourceforge.net/ などからソース(最新版はglui-2.36.tgz)を入手.
srcディレクトリに行き,makefileを下記のように修正
(2) FreeGLUTと書いてある場所の下の2行のコメントアウトを外し、
/usr/X11R6/lib -lfreeglut を /usr/lib -lglut に、
/usr/X11R6/include を /usr/include に直す.
(3) GLUT の下の2行をコメントアウト.
make し、所定の場所に libglui.a と glui.h をコピー.(例えば,/usr/lib/libglui.a , /usr/include/GL/glui.h)
※なお,GLUIにはファイルブラウザで、ダブルクリックが効かない/ディレクトリが変更できない/一番トップに表示されるファイルが選択できない/ファイル名がアルファベット順に表示されない,といった様々なバグが存在する.これを修正したものをbugfix版として独自に用意している(mdspass2ソースに含めている)ので,そちらをコンパイルして頂いても良い.
- libpngのインストール
yumの場合
> sudo yum install libpng-devel
apt-getの場合
> sudo apt-get install libpng-dev
※ここで環境によっては,libXmu, libXi が必要(make時に-lXmu, -lXiがないといわれた場合)
yumの場合
> sudo yum install libXmu-devel
> sudo yum install libXi-devel
apt-getの場合
sudo apt-get install libxmu-dev libxi-dev
- lapack/blasのインストール
yumの場合
> sudo yum install lapack
> sudo yum install blas
> sudo yum install lapack-devel
apt-getの場合
> sudo apt-get install libatlas-base-dev liblapack-dev
<Macの場合> (2024年1月、macOS Ventura (ver. 13.6.3) でのインストールを確認し、記述を修正しました)
- gccのインストール
Xcodeをインストール.Mac App Storeより無料でインストールできる.(その際にMacOSのバージョンをupgradeする必要があるといわれた場合には素直に従ってください)
Command Line Tools for Xcodeをインストール.Xcodeを開き,File -> Xcode -> Open
Developer Tool -> More Developer Tools と選択していき,リストよりCommand Line Toolsを選ぶ(自分の環境にあったバージョンを選択).
- Homebrewのインストール
Homebrewのサイトに行くと、「以下の行をターミナル上にコピペして実効しろ」とある。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
(実際にサイトに飛んで、コピペして頂いた方が安全と思われる)
途中でEnterキーの入力が促され、さらにパスワードも求められるがあとは自動でインストールされるはず。
ターミナル上で brew doctor と入力してEnterする。
Your system is ready to brew.
と表示されればOK。
- 必要なライブラリのインストール
- こちらよりlib4mdspass2.tar.gzをダウンロードする
- tar xvfz lib4mdspass2.tar.gz で展開するとlib4mdspass2というディレクトリができるので、そこに移動する(cd lib4mdspass2)
- READMEファイルの指示に従う.具体的には以下の通り実行していけば良い.
・ライブラリを置くディレクトリの作成
sudo mkdir /usr/local
sudo mkdir /usr/local/lib
sudo mkdir /usr/local/include
sudo mkdir /usr/local/include/GL
・gluiのコンパイルとインストール
cd glui-2.36_bugfix2
cd src
make
sudo cp lib/libglui.a /usr/local/lib/
sudo cp include/GL/glui.h /usr/local/include/GL
cd ..
・libpngのコンパイルとインストール
cd libpng-1.6.34
./configure
make
sudo make install
・lapackのインストール
brew install lapack
2.mdspass2のコンパイル(Linux, Macとも。Macは下記3.でMakefileの編集が必要)
- ソースファイルのダウンロード
Linuxの場合はこちらより,
Macの場合はこちらより,
最新のtarball (mdspass2.日付.tar.gz)をダウンロードする
- tar xvfz <filename> で展開する
- 作成されたディレクトリ(mdspass2.日付)に移動する
- make clean; make とすればコンパイルされます.warningは出るかもしれませんが,errorが出なければOKです.
- ./mdspass2 で実行されます.
(注)
ホームディレクトリを指定したい際には ./mdspass2 <DIR>
原子配置ファイルを指定したい際には ./mdspass2 <DIR> CONFIG
原子配置ファイルおよびセッティングファイルを指定したい際には ./mdpass2 <DIR> CONFIG SETDAT
のようにします.
なお,ホームディレクトリ以下に pot/ディレクトリがあり,その下にポテンシャルデータファイルが置かれている必要があります.
MDSPASS2 for Windows (バイナリ)
- こちらより最新のzipファイルをダウンロード
- zipファイルを展開し,そのフォルダに移動する
- フォルダ内にあるmdspass2.exeをダブルクリックすれば実行されます.
- mdspass2.exe.manifestが同じディレクトリに存在している必要があります.
- 展開されたフォルダ内に存在するdllファイル(glut32.dll, libpng15.dll, zlib1.dll)がmdspass2の実行に必要です.mdspass2.exeと同じディレクトリに置いておくか,あるいはC:\Windows\Systemに置いてください.