第一原理分子動力学プログラム STATE Senri Wiki
開始行:
*SLABGEN [#id15fd51]
スラブの構造を作成しSTATEフォーマットで出力するフォートラ...
限られた対称性の高い結晶の表面にしか対応していないため、
必要に応じてプログラムを追加する必要があります。
複雑な表面の作成にはより一般的な結晶構造作成ソフトや結晶...
**ソースの入手 [#iba27ba4]
STATEのユーティリティは以下に置くものとします。
${HOME}/STATE/tools
最新版のソースはGitLabのリポジトリから以下のようにクロー...
git clone https://gitlab.com/ikutaro/slabgen.git SLABGEN
クローンするのが困難、あるいは無理だった場合、[[リポジト...
gzip -c slabgen-master.tar.gz | tar xvf - ;mv slabgen-ma...
あるいは
tar zxvf slabgen-master.tgz; mv slabgen-master SLABGEN
を実行して展開します。
** ビルド [#f7b23cec]
SLABGEN以下のディレクトリ構造は以下のようになっています。
README example/ src/ work/
- README
- example: 計算方法(README)と計算方法
- src: ソースファイル
- work: 計算実行用のディレクトリ(計算例を多数含む)
srcに移動しmakefileを環境に合わせて編集する。例えばgfortr...
FC=gfortran
FFLAGS=-O2
LD=gfortran
LDFLAGS=
を指定する。
make
を実行することでプログラムのビルドが完了します。
** 実行方法 [#o42d3dff]
プログラムのパスが通っていることを前提とします。パスが設...
export PATH=${PATH}:${HOME}/STATE/tools/SLABGEN/src
を追加し
source ~/.bashrc
を実行します。なおホームディレクトリにbash_profileが存在...
~/.bash_profileを作成し、以下を記入します。
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
*** 実行例: Cu(111) [#w95421a1]
以下ではexample/以下の例を用いてプログラムの使い方を記述...
入力ファイル: example/cu.in:
Cu
6.83119688
23
14
1 1
1行目:元素名~
2行目:バルク結晶の格子定数~
3行目:スラブの原子層数~
4行目:真空の原子層数(真空層の厚みを等価な原子層数の数で...
5行目:表面ユニットセルの次元:プリミティブセルの場合は1 ...
格子定数はBohr半径単位で指定します。~
fcc(111)スラブを作成する場合、以下を実行
genslab_fcc111
入出力ファイル名を聞かれるので、入力ファイル名にはcu.inを...
cu.outに格子ベクトル(Supercell Lattice vectors)や表面を...
幾つかのプログラムではQuantum-ESPRESSO用フォーマットでも...
genslab_fcc111 -pw
と-pwというオプションを追加することでatpsというファイルが...
atpsには格子ベクトルのデータ(ibrav, celldm)、および原子...
またスラブの構造を確認するために元素名に応じたxyz (および...
*** 実行例: Graphene [#md444edc]
グラフェンの構造を作成する場合は以下の入力ファイルとgensl...
入力ファイル: gr.in
C
4.658169680044d0 37.794522492515405
5 5
1行目:元素名~
2行目:面内格子定数、面外格子点数(真空の厚み)~
3行目:スーパセルの次元~
格子定数はBohr半径単位で指定します。
Cu(111)の例と同様、以下を実行すれば良いでしょう。
genslab_gr
QEフォーマットの構造を生成したい場合、
genslab_gr -pw
を実行します。
*** 実行例: Armchair graphene nanoribbon [#ye5c4928]
アームチェアグラフェンナノリボンを作成する場合、genagnrを...
入力ファイル: gnr.in
C
4.6553909370d0 18.897261246257703
1 5
1行目: 元素名~
2行目: グラフェンの格子定数, 真空の幅(リボンの表面と垂直...
3行目:ナノリボンの(スーパセルの)次元
この例では5原子炭素幅のナノリボンが生成されます。これまで...
genagnr
あるいは
genagnr -pw
を実行します。さらに端を水素で終端する場合
genagnr -h-term
と"-h-term"をオプションとして追加し実行します。現在のとこ...
*** 実行例: RuO2(110) [#e3105532]
Rutile(110)表面を作成する場合、genslab_rutile110を使用し...
入力ファイル
RuO2
8.486574435396852D0
5.870247573118257D0
0.30478D0
3
6
1 1
1行目: 化合物名(実際にはRutile構造の化学式はMO2と仮定し...
2行目: 格子定数 a (Bohr)~
3行目: 格子手数 c (Bohr)~
4行目: 内部パラメータ u (dimensionless)~
5行目: 層数 (MO2 trilayerを1層と考える)~
6行目: 真空に対応する層数 (MO2 trilayerを1層と考える)~
7行目: 表面スーパーセルの次元~
他のコマンドと同様
genslab_rutile110
を実行します。Quantum-ESPRESSOフォーマットの構造を作成す...
genslab_rutile110 -pw
を実行します。~
以上のコマンドを実行すると化学量論的(MO2)な構造、いわゆ...
M_cus
というキーワードを追加するとOが不足した、いわゆるM_cus構...
O_cus
というキーワードを追加するとOが過剰の、いわゆるO_cus構造...
**その他の情報 [#m343e9cd]
以下のサイトにはVESTAを使ったスラブの作り方の例が記載され...
-[[Creating a surface slab model using VESTA>https://ma.i...
-[[Building slab geometries for catalysis with VESTA>http...
以下のサイトではpymatgenを利用した表面と界面の作り方が記...
- [[Working with Surfaces and Interfaces>https://workshop...
[[Burai>https://nisihara.wixsite.com/burai]]を使うことで...
終了行:
*SLABGEN [#id15fd51]
スラブの構造を作成しSTATEフォーマットで出力するフォートラ...
限られた対称性の高い結晶の表面にしか対応していないため、
必要に応じてプログラムを追加する必要があります。
複雑な表面の作成にはより一般的な結晶構造作成ソフトや結晶...
**ソースの入手 [#iba27ba4]
STATEのユーティリティは以下に置くものとします。
${HOME}/STATE/tools
最新版のソースはGitLabのリポジトリから以下のようにクロー...
git clone https://gitlab.com/ikutaro/slabgen.git SLABGEN
クローンするのが困難、あるいは無理だった場合、[[リポジト...
gzip -c slabgen-master.tar.gz | tar xvf - ;mv slabgen-ma...
あるいは
tar zxvf slabgen-master.tgz; mv slabgen-master SLABGEN
を実行して展開します。
** ビルド [#f7b23cec]
SLABGEN以下のディレクトリ構造は以下のようになっています。
README example/ src/ work/
- README
- example: 計算方法(README)と計算方法
- src: ソースファイル
- work: 計算実行用のディレクトリ(計算例を多数含む)
srcに移動しmakefileを環境に合わせて編集する。例えばgfortr...
FC=gfortran
FFLAGS=-O2
LD=gfortran
LDFLAGS=
を指定する。
make
を実行することでプログラムのビルドが完了します。
** 実行方法 [#o42d3dff]
プログラムのパスが通っていることを前提とします。パスが設...
export PATH=${PATH}:${HOME}/STATE/tools/SLABGEN/src
を追加し
source ~/.bashrc
を実行します。なおホームディレクトリにbash_profileが存在...
~/.bash_profileを作成し、以下を記入します。
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
*** 実行例: Cu(111) [#w95421a1]
以下ではexample/以下の例を用いてプログラムの使い方を記述...
入力ファイル: example/cu.in:
Cu
6.83119688
23
14
1 1
1行目:元素名~
2行目:バルク結晶の格子定数~
3行目:スラブの原子層数~
4行目:真空の原子層数(真空層の厚みを等価な原子層数の数で...
5行目:表面ユニットセルの次元:プリミティブセルの場合は1 ...
格子定数はBohr半径単位で指定します。~
fcc(111)スラブを作成する場合、以下を実行
genslab_fcc111
入出力ファイル名を聞かれるので、入力ファイル名にはcu.inを...
cu.outに格子ベクトル(Supercell Lattice vectors)や表面を...
幾つかのプログラムではQuantum-ESPRESSO用フォーマットでも...
genslab_fcc111 -pw
と-pwというオプションを追加することでatpsというファイルが...
atpsには格子ベクトルのデータ(ibrav, celldm)、および原子...
またスラブの構造を確認するために元素名に応じたxyz (および...
*** 実行例: Graphene [#md444edc]
グラフェンの構造を作成する場合は以下の入力ファイルとgensl...
入力ファイル: gr.in
C
4.658169680044d0 37.794522492515405
5 5
1行目:元素名~
2行目:面内格子定数、面外格子点数(真空の厚み)~
3行目:スーパセルの次元~
格子定数はBohr半径単位で指定します。
Cu(111)の例と同様、以下を実行すれば良いでしょう。
genslab_gr
QEフォーマットの構造を生成したい場合、
genslab_gr -pw
を実行します。
*** 実行例: Armchair graphene nanoribbon [#ye5c4928]
アームチェアグラフェンナノリボンを作成する場合、genagnrを...
入力ファイル: gnr.in
C
4.6553909370d0 18.897261246257703
1 5
1行目: 元素名~
2行目: グラフェンの格子定数, 真空の幅(リボンの表面と垂直...
3行目:ナノリボンの(スーパセルの)次元
この例では5原子炭素幅のナノリボンが生成されます。これまで...
genagnr
あるいは
genagnr -pw
を実行します。さらに端を水素で終端する場合
genagnr -h-term
と"-h-term"をオプションとして追加し実行します。現在のとこ...
*** 実行例: RuO2(110) [#e3105532]
Rutile(110)表面を作成する場合、genslab_rutile110を使用し...
入力ファイル
RuO2
8.486574435396852D0
5.870247573118257D0
0.30478D0
3
6
1 1
1行目: 化合物名(実際にはRutile構造の化学式はMO2と仮定し...
2行目: 格子定数 a (Bohr)~
3行目: 格子手数 c (Bohr)~
4行目: 内部パラメータ u (dimensionless)~
5行目: 層数 (MO2 trilayerを1層と考える)~
6行目: 真空に対応する層数 (MO2 trilayerを1層と考える)~
7行目: 表面スーパーセルの次元~
他のコマンドと同様
genslab_rutile110
を実行します。Quantum-ESPRESSOフォーマットの構造を作成す...
genslab_rutile110 -pw
を実行します。~
以上のコマンドを実行すると化学量論的(MO2)な構造、いわゆ...
M_cus
というキーワードを追加するとOが不足した、いわゆるM_cus構...
O_cus
というキーワードを追加するとOが過剰の、いわゆるO_cus構造...
**その他の情報 [#m343e9cd]
以下のサイトにはVESTAを使ったスラブの作り方の例が記載され...
-[[Creating a surface slab model using VESTA>https://ma.i...
-[[Building slab geometries for catalysis with VESTA>http...
以下のサイトではpymatgenを利用した表面と界面の作り方が記...
- [[Working with Surfaces and Interfaces>https://workshop...
[[Burai>https://nisihara.wixsite.com/burai]]を使うことで...
ページ名: