SIESTA[重要] 2016年リリースのバージョン4.0よりGPLライセンス(オープンソース)で提供されています。
数値LCAOと複数のリニアスケーリング法により、数千原子を対象とした第一原理分子動力学計算が可能なDFTコード

特徴
SIESTA(Spanish Initiative for Electronic Simulations with Thousands of Atoms)は、密度汎関数法(DFT)による電子構造計算と分子・結晶の第一原理分子動力学シミュレーションを目的として開発されたコンピュータプログラムです。数値LCAOをはじめ、各種リニアスケーリングアルゴリズムの採用により、数千原子を対象とした電子構造計算が可能です。
計算可能なプロパティ
◎全エネルギーと部分エネルギー
◎原子間力
◎応力テンソル
◎電気双極子モーメント
◎原子軌道と結合密度(Mulliken)
◎電子密度
◎構造緩和、固定または可変セル
◎定温分子動力学計算(Nose thermostat)
◎可変セルを用いた分子動力学計算(Parrinello-Rahman)
◎スピン分極計算(共線、非共線(non-collinear))
◎ブリルアンゾーンのk点サンプリング
◎局在(Local)および軌道射影(orbital-projected)状態密度
◎化学結合解析に利用可能なCOOPおよびCOHP(Crystal-Orbital Overlap and Hamilton Populations)曲線
◎誘電分極
◎振動解析(フォノン)
◎バンド構造
◎バリスティック電子輸送(TRANSIESTA)
機能
◎標準Kohn-Sham 自己無撞着密度汎関数法、局所密度近似(LDA-LSD)、一般化勾配近似(GGA)
◎Kleinman-Bylanderらによるノルム保存型擬ポテンシャル
◎基底系に原子軌道を採用、制限なしの multiple-zeta、角運動量、分極軌道、off-site軌道
◎軌道の動径関数部分は数値形式で表わされ、ユーザ定義を含め任意のものを利用可能
・・・この軌道は有限で、ユーザが指定した原子核からの距離よりも遠くで厳密にゼロである必要があります、有限の基底系を採用することで、ハミルトニアンや重なり行列のオーダーN法計算を可能にしています
◎電子波動関数と電荷密度を実空間グリッド上に射影し、ハートリーポテンシャルと交換相関ポテンシャル、およびそれらの行列要素を計算
◎標準Rayleigh-Ritz固有状態法をサポート
・・・局在化した占有軌道(原子価結合またはWannier-like関数)の線形結合を使用することができ、計算時間メモリ使用量が原子数に比例するリニアスケーリング法をサポート。標準的なワークステーションで数百原子対象としたシミュレーションが可能
◎プログラムはFortran 95で記述されており、動的なメモリ割り当てが可能
◎MPIによる並列計算をサポート
動作環境
最小システム要件
- UNIX/Linuxシステム
- プログラムを利用するためには、Fortran90 等で記述されたソースコードをコンパイル、リンクする必要があります。詳しくは、お問い合せください。
プログラム入手先
SIESTAは、バージョン4.0より、GPLライセンス形態で配布されております。(2016年7月7日現在)
A first-principles materials simulation code using DFT
https://gitlab.com/siesta-project/siesta
インストールサービス
有償インストールサービスをご希望の方は、弊社営業部sales@affinity-science.comまでお問い合せください。
技術情報
SIESTA コードの多くはFortran90で記述されており、ソースコード形式で配布されています。このため、SIESTAを利用するには、Fortran90コンパイラを用いて実行形式ファイルを作成する必要があります。
ここでは、使用コンパイラにIntel(R) Fortran コンパイラを利用した場合の、実行形式ファイル作成方法、および作成した実行モジュールの動作確認方法を説明します(シリアル版)。
以下の内容は、シリアル版ソルバーのビルド方法のみについて述べています。MPI並列版ソルバーおよび各種ユーティリティ群の説明は含まれておりませんので、ご注意ください。
インストール方法
使用環境 | |
---|---|
Intel Fortran | Version 10.1.025 |
MKLライブラリ | Version 10.2.5.035 |
SIESTA | siesta-3.0-rc1 |
OS | Fedora release 12 (64-bit) |
ライセンス締結後、SIESTA公式HPより、ソースコードをダウンロードします。
1) ライセンス締結後に送付されるユーザID/パスワードを利用し、SIESTA公式HPより、ソースコードファイルをダウンロードし、任意のディレクトリに展開します。
$ tar zxvf siesta-3.0-rc1.tar.gz
2) siesta-3.0-rc1ディレクトリに移動します。
$ cd siesta-3.0-rc1
3) コンパイル用作業ディレクトリObjに移動します。
$ cd Obj
新たにディレクトリを作成し、そちらを作業ディレクトリとすることも可能です。
例) $ mkdir Obj_ifort; cd Obj_ifort
4) スクリプトobj_setup.shを実行し、コンパイル環境を整えます。
$ sh ../Src/obj_setup.sh
5) スクリプトconfigureを実行し、Intel Fortranコンパイラ用のMakefileを作成します。
$ ../Src/configure FC='ifort' FCFLAGS='-w -O2' LDFLAGS='-L/opt/intel/mkl/10.2.5.035/lib/em64t' --with-blas='-lmkl_solver_lp64_sequential -Wl,--start-group -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group -lpthread /usr/lib64/libc_nonshared.a'
※ 通常のシステムでは、”libc_nonshared.a”のリンクは必須ではないでしょう。
6) make コマンドを実行し、ビルドを開始します。
$ make
7) エラーが出力されず、最後まで処理が進むと、実行ファイルsiestaが作成されます。
必要に応じて、/usr/local/bin等のディレクトリにコピーするとよいでしょう。または、siesta実行ファイル格納用のディレクトリを新規に作成し(e.g./usr/local/siesta )、ユーティリティプログラム群を含めて、格納してもよいでしょう。
8) 続けてtransiestaをビルドする場合は、次のオプションを指定し、makeコマンドを再実行します。中間ファイルが削除され、ビルドが開始されます。
$ make clean
$ make transiesta
動作チェック
作成した実行ファイルの動作確認のための、サンプル入力ファイルと参照用アウトプットが用意されています。また、作業を簡略化するスクリプトも提供されています。
1) まず、ディレクトリTestsに移動します。
$ cd siesta-3.0-rc1/Tests
2) 変数SIESTAにバイナリのパス、変数ALLで計算ジョブを指定し、makeコマンドを実行します。この例では、h2oのみを指定し実行しています。
$ make SIESTA=/usr/local/bin/siesta ALL=h2o
3) 計算がはじまり、計算結果とリファレンスの比較までが自動的に行われます。標準出力に “SIESTA finished successfully” と表示されれば、作成したモジュールは正常な値を返しています。
4) ALLオプションを外しmakeコマンドを実行すると、Makefile内のALLで定義された全ジョブが逐次実行されます。
$ make SIESTA=/usr/local/bin/siesta
リファレンス
Self-consistent order-N density-functional calculations for very large systems, P. Ordejo’n, E. Artacho and J. M. Soler, Phys. Rev. B (Rapid Comm.) 53, R10441 (1996). DOI: 10.1103/PhysRevB.53.R10441
The Siesta method for ab initio order-N materials simulation, Jose’ M. Soler, Emilio Artacho, Julian D. Gale, Alberto Garci’a, Javier Junquera, Pablo Ordejo’n and Daniel Sa’nchez-Portal, J. Phys.: Condens. Matter 14, 2745 (2002). DOI: 10.1088/0953-8984/14/11/302
FAQ
FAQはこちら
最終更新日:2020/09/15