第一原理分子動力学プログラム STATE Senri Wiki
開始行:
* 水素分子 (構造最適化) [#f866a357]
ここでは分子の構造最適化の例として水素分子の平衡位置と平...
現在のワーキングディレクトリが~/STATE/examplesであるとし...
$ cd H2
ここでlsを実行し、nfで始まる入力ファイル群(nf*)や.shで...
以下を実行して入力ファイルの例であるnfinp_scfを再確認しま...
$ cat nfinp_scf
- nfinp_scf
# H2 molecule
#
WF_OPT DAV
NTYP 1
NATM 2
GMAX 6.00
GMAXP 20.00
MIX_ALPHA 0.7
WIDTH 0.0010
EDELTA 0.1000D-09
NEG 2
CELL 10.00000000 10.00000000 10.00000000 90.0000000...
&ATOMIC_SPECIES
H 2.000000 pot.H_pbe1_sp_new
&END
&INITIAL_ZETA
0.0000
&END
&ATOMIC_COORDINATES CARTESIAN
-0.699200000000 0.000000000000 0.00000000...
0.699200000000 0.000000000000 0.00000000...
&END
構造を確認するには以下のようにchkinpfを実行します。
$ chkinpf nfinp_scf
H2.xsfが出力されていることを確認して
$ xcrysden --xsf H2.xsf
を実行すると水素分子が大きな箱の中に配置されていることが...
** マニュアル構造最適化 [#ma8330b9]
先ずシリコンのセル最適化で行ったように水素分子の全エネル...
気相の(孤立した)分子の計算を実行する際、単位胞は分子の...
以下のように原子間距離(結合/ボンド長)を1.40 Bohrから1.5...
- nfinp_scf_1.40
#
# H2 molecule
#
WF_OPT DAV
NTYP 1
NATM 2
GMAX 6.00
GMAXP 20.00
MIX_ALPHA 0.7
WIDTH 0.0010
EDELTA 0.1000D-09
NEG 2
CELL 10.00000000 10.00000000 10.00000000 90.0000000...
&ATOMIC_SPECIES
H 2.000000 pot.H_pbe1_sp_new
&END
&INITIAL_ZETA
0.0000
&END
&ATOMIC_COORDINATES CARTESIAN
0.000000000000 0.000000000000 0.00000000...
1.40 0.000000000000 0.00000000...
&END
- nfinp_scf_1.41
#
# H2 molecule
#
WF_OPT DAV
NTYP 1
NATM 2
GMAX 6.00
GMAXP 20.00
MIX_ALPHA 0.7
WIDTH 0.0010
EDELTA 0.1000D-09
NEG 2
CELL 10.00000000 10.00000000 10.00000000 90.0000000...
&ATOMIC_SPECIES
H 2.000000 pot.H_pbe1_sp_new
&END
&INITIAL_ZETA
0.0000
&END
&ATOMIC_COORDINATES CARTESIAN
0.000000000000 0.000000000000 0.00000000...
1.41 0.000000000000 0.00000000...
&END
- ...
入力ファイルを確認することができたら以下のqsub_sb100.shの...
- qsub_sb100.sh
#$ -S /bin/sh
#$ -cwd
#$ -q sb.q
#$ -pe x6 6
#$ -N H2
module load intel/2021.2.0
module load intelmpi/2021.2.0
# Disable OPENMP parallelism
export OMP_NUM_THREADS=1
unset I_MPI_TCP_NETMASK
# Set the execuable of the STATE code
ln -fs ${HOME}/STATE/src/state-5.6.9/src/STATE .
# Set the pseudopotential data
ln -fs ../gncpp/pot.H_pbe1_sp_new
# Set the input/output file
INPUT_FILE=nfinp_scf
OUTPUT_FILE=nfout_scf
# Run!
mpirun ./STATE < ${INPUT_FILE} > ${OUTPUT_FILE}
得られた全エネルギーを結合長の関数としてetot.datというフ...
- etot.dat
1.40 -1.16767777
1.41 -1.16776031
1.42 -1.16780600
1.43 -1.16781613
1.44 -1.16779196
1.45 -1.16773476
1.46 -1.16764566
1.47 -1.16752570
1.48 -1.16737583
1.49 -1.16719699
1.50 -1.16699015
このデータをgnuplotで可視化してみましょう。
$ gnuplot
> plot 'etot.dat'
#ref(http://www-cp.prec.eng.osaka-u.ac.jp/puki_state/grap...
これを三次多項式でフィットすると以下のようになります。
#ref(http://www-cp.prec.eng.osaka-u.ac.jp/puki_state/grap...
フィッティングから得られたパラメーターを用いて最小のエネ...
** Hellmann-Feynman力を利用した構造最適化 [#k74d20fa]
マニュアル構造最適化は水素分子のような二原子分子では容易...
構造最適化は全エネルギーを内部パラメータについて最小化す...
構造最適化には多くのアルゴリズムがありますが、ここではque...
- nfinp_qmd
#
# H2 molecule
#
WF_OPT DAV
GEO_OPT QMD
FMAX 0.5000D-03
DTIO 10.00
NTYP 1
NATM 2
GMAX 6.00
GMAXP 20.00
MIX_ALPHA 0.7
WIDTH 0.0010
EDELTA 0.1000D-09
NEG 2
CELL 10.00000000 10.00000000 10.00000000 90.0000000...
&ATOMIC_SPECIES
H 2.000000 pot.H_pbe1_sp_new
&END
&ATOMIC_COORDINATES CARTESIAN
-0.699200000000 0.000000000000 0.00000000...
0.699200000000 0.000000000000 0.00000000...
&END
ジョブスクリプト(qsub_sb100.sh)の入出力ファイル名を変更...
今の場合、系が単純なので計算が比較的早く終わります。
出力ファイル(nfout_qmd)をlessなどを使って見てみましょう。
SCF計算とは少し異なり、全エネルギーと原子にかかる力が出力...
ATOM COORDINATES ...
MD: 1
MD: 1 H -0.699200 0.000000 0.000000 -0.01076 -...
MD: 2 H 0.699200 0.000000 0.000000 0.01076 -...
DQMDQMDQMDQMDQMDQMDQMDQMDQMDQMDQMDQMDQMDQMDQMDQMDQMDQMD...
*I* restart data written in restart.data
restart.dataはバイナリーファイルですので人間の目で見ても...
この後に原子位置が更新され、再度SCF計算が行われます。
構造が自動で更新され、原子にかかる力(f_max)が入力ファイ...
CONVERGED ENERGY AND FORCES
NIT TotalEnergy f_max f_rms edel ...
15 -1.16781873 0.000484 0.000484 0.31D-11 0....
ATOM COORDINATES ...
MD: 15
MD: 1 H -0.714657 -0.000000 -0.000000 0.00048 -...
MD: 2 H 0.714657 -0.000000 -0.000000 -0.00048 ...
EXITING ATOM LOOP
最終的に得られた原子位置から結合長を計算すると1.429 Bohr...
終了行:
* 水素分子 (構造最適化) [#f866a357]
ここでは分子の構造最適化の例として水素分子の平衡位置と平...
現在のワーキングディレクトリが~/STATE/examplesであるとし...
$ cd H2
ここでlsを実行し、nfで始まる入力ファイル群(nf*)や.shで...
以下を実行して入力ファイルの例であるnfinp_scfを再確認しま...
$ cat nfinp_scf
- nfinp_scf
# H2 molecule
#
WF_OPT DAV
NTYP 1
NATM 2
GMAX 6.00
GMAXP 20.00
MIX_ALPHA 0.7
WIDTH 0.0010
EDELTA 0.1000D-09
NEG 2
CELL 10.00000000 10.00000000 10.00000000 90.0000000...
&ATOMIC_SPECIES
H 2.000000 pot.H_pbe1_sp_new
&END
&INITIAL_ZETA
0.0000
&END
&ATOMIC_COORDINATES CARTESIAN
-0.699200000000 0.000000000000 0.00000000...
0.699200000000 0.000000000000 0.00000000...
&END
構造を確認するには以下のようにchkinpfを実行します。
$ chkinpf nfinp_scf
H2.xsfが出力されていることを確認して
$ xcrysden --xsf H2.xsf
を実行すると水素分子が大きな箱の中に配置されていることが...
** マニュアル構造最適化 [#ma8330b9]
先ずシリコンのセル最適化で行ったように水素分子の全エネル...
気相の(孤立した)分子の計算を実行する際、単位胞は分子の...
以下のように原子間距離(結合/ボンド長)を1.40 Bohrから1.5...
- nfinp_scf_1.40
#
# H2 molecule
#
WF_OPT DAV
NTYP 1
NATM 2
GMAX 6.00
GMAXP 20.00
MIX_ALPHA 0.7
WIDTH 0.0010
EDELTA 0.1000D-09
NEG 2
CELL 10.00000000 10.00000000 10.00000000 90.0000000...
&ATOMIC_SPECIES
H 2.000000 pot.H_pbe1_sp_new
&END
&INITIAL_ZETA
0.0000
&END
&ATOMIC_COORDINATES CARTESIAN
0.000000000000 0.000000000000 0.00000000...
1.40 0.000000000000 0.00000000...
&END
- nfinp_scf_1.41
#
# H2 molecule
#
WF_OPT DAV
NTYP 1
NATM 2
GMAX 6.00
GMAXP 20.00
MIX_ALPHA 0.7
WIDTH 0.0010
EDELTA 0.1000D-09
NEG 2
CELL 10.00000000 10.00000000 10.00000000 90.0000000...
&ATOMIC_SPECIES
H 2.000000 pot.H_pbe1_sp_new
&END
&INITIAL_ZETA
0.0000
&END
&ATOMIC_COORDINATES CARTESIAN
0.000000000000 0.000000000000 0.00000000...
1.41 0.000000000000 0.00000000...
&END
- ...
入力ファイルを確認することができたら以下のqsub_sb100.shの...
- qsub_sb100.sh
#$ -S /bin/sh
#$ -cwd
#$ -q sb.q
#$ -pe x6 6
#$ -N H2
module load intel/2021.2.0
module load intelmpi/2021.2.0
# Disable OPENMP parallelism
export OMP_NUM_THREADS=1
unset I_MPI_TCP_NETMASK
# Set the execuable of the STATE code
ln -fs ${HOME}/STATE/src/state-5.6.9/src/STATE .
# Set the pseudopotential data
ln -fs ../gncpp/pot.H_pbe1_sp_new
# Set the input/output file
INPUT_FILE=nfinp_scf
OUTPUT_FILE=nfout_scf
# Run!
mpirun ./STATE < ${INPUT_FILE} > ${OUTPUT_FILE}
得られた全エネルギーを結合長の関数としてetot.datというフ...
- etot.dat
1.40 -1.16767777
1.41 -1.16776031
1.42 -1.16780600
1.43 -1.16781613
1.44 -1.16779196
1.45 -1.16773476
1.46 -1.16764566
1.47 -1.16752570
1.48 -1.16737583
1.49 -1.16719699
1.50 -1.16699015
このデータをgnuplotで可視化してみましょう。
$ gnuplot
> plot 'etot.dat'
#ref(http://www-cp.prec.eng.osaka-u.ac.jp/puki_state/grap...
これを三次多項式でフィットすると以下のようになります。
#ref(http://www-cp.prec.eng.osaka-u.ac.jp/puki_state/grap...
フィッティングから得られたパラメーターを用いて最小のエネ...
** Hellmann-Feynman力を利用した構造最適化 [#k74d20fa]
マニュアル構造最適化は水素分子のような二原子分子では容易...
構造最適化は全エネルギーを内部パラメータについて最小化す...
構造最適化には多くのアルゴリズムがありますが、ここではque...
- nfinp_qmd
#
# H2 molecule
#
WF_OPT DAV
GEO_OPT QMD
FMAX 0.5000D-03
DTIO 10.00
NTYP 1
NATM 2
GMAX 6.00
GMAXP 20.00
MIX_ALPHA 0.7
WIDTH 0.0010
EDELTA 0.1000D-09
NEG 2
CELL 10.00000000 10.00000000 10.00000000 90.0000000...
&ATOMIC_SPECIES
H 2.000000 pot.H_pbe1_sp_new
&END
&ATOMIC_COORDINATES CARTESIAN
-0.699200000000 0.000000000000 0.00000000...
0.699200000000 0.000000000000 0.00000000...
&END
ジョブスクリプト(qsub_sb100.sh)の入出力ファイル名を変更...
今の場合、系が単純なので計算が比較的早く終わります。
出力ファイル(nfout_qmd)をlessなどを使って見てみましょう。
SCF計算とは少し異なり、全エネルギーと原子にかかる力が出力...
ATOM COORDINATES ...
MD: 1
MD: 1 H -0.699200 0.000000 0.000000 -0.01076 -...
MD: 2 H 0.699200 0.000000 0.000000 0.01076 -...
DQMDQMDQMDQMDQMDQMDQMDQMDQMDQMDQMDQMDQMDQMDQMDQMDQMDQMD...
*I* restart data written in restart.data
restart.dataはバイナリーファイルですので人間の目で見ても...
この後に原子位置が更新され、再度SCF計算が行われます。
構造が自動で更新され、原子にかかる力(f_max)が入力ファイ...
CONVERGED ENERGY AND FORCES
NIT TotalEnergy f_max f_rms edel ...
15 -1.16781873 0.000484 0.000484 0.31D-11 0....
ATOM COORDINATES ...
MD: 15
MD: 1 H -0.714657 -0.000000 -0.000000 0.00048 -...
MD: 2 H 0.714657 -0.000000 -0.000000 -0.00048 ...
EXITING ATOM LOOP
最終的に得られた原子位置から結合長を計算すると1.429 Bohr...
ページ名: