GRRM Tips

GRRMプログラムの利用上の注意点など

目次

【注意・免責】
記載されている内容はあくまでも参考程度にご覧下さい。掲載されている情報を利用したことに起因するいかなる損害についても、筆者は一切の責任を負いかねますので予めご了承下さい。また、個別の事例に関する相談や問い合わせは受け付けておりません。AFIR Webのメンバー向け掲示板のログ等をご参照下さい。

【よくあるエラー事例】

参考までに、エラー原因の発見難度(★が多いほどスタックしやすい)を独断で付けておいた。

【ハマるエラー事例】

まず、計算を流す時はエラーメッセージが残るようにしておこう。GRRMのエラーメッセージは単に「エラーが発生したことを知らせる」ものであって、「どこでエラーが発生しているか」までは分からないことが多い。例えば、bsubコマンドでシェルスクリプトを計算ノードに投入している場合、-oオプションで標準出力を、-eオプションで標準エラー出力を書き出すファイルを指定することができる。これを利用してJOBのエラーメッセージを残すようにしておけば問題解決のヒントが得られることがある。参考までに、エラー原因の発見難度(★が多いほどスタックしやすい)を独断で付けておいた。

error...

The input structure in the com file does not match any of the node structures along the initial path!

...exit from system...

1. の場合はEQ0_MO.rrmが生成していないことから見当が付けられる。
2. の場合はEQ0_MO.rrmが生成しており、EQ_test.rrmが生成するので中を確認すればよい(Not to be applied になっている)。
3. の場合はEQ0_MO.rrmが生成しており、生成したEQ_test.rrmがTo be appliedとなっていれば大抵はこれが原因。2分子反応の探索だとデフォルトのDownDC=8が小さいことがあるので、DownDC=15程度(12程度で良いこともある)に増やして再度JOBを投げる。EQ0が「Not to be applied」になっている場合でも、DownDC の閾値に引っ掛かり、初期構造がそもそも解離判定されてしまっていることがある。GRRM20以降のバージョンであればUniversalForceの利用も検討されたい。
4. の場合も考えられるので、 .com の中身をよく確認すること。

.outの様子を監視しながら、なるべくSCFが収束するようにこれらの値を調節する。酸化物などの材料ではFermi-Dirac occupation function(FD)を主に用いる。Methfessel and Paxton occupation function(MP)を使うと特に金属材料のSCF計算の収束が速い。「ElectronicTemperature」(スミアリング温度)はFDでは実温度、MPでは高い温度(一般に数千以上の温度)を指定する。(参考: J. Kresse and J. Furthmüller, Comp. Mat. Sci. 6, 15 (1996))

【エラーではないが知らないとハマる(かもしれない)事例】

【良くない例】

Options
GauProc=4
GauMem=200
EigenCheck
NOFC
・・・(省略)

【良くない例】

Options
GauProc=4
GauMem=200
NoFC

EigenCheck

SkipIRC
・・・(省略)

【その他】

・FREQ計算で得られるThermochemistryの値について

Thermochemistry at  298.150 K,    1.000 Atm

E(el)          =  -114.028691241420

ZPVE           =     0.026886845139

Enthalpie(0K)  =  -114.001804396281

E(tr)          =     0.001416284860

E(rot)         =     0.001416284860

E(vib)         =     0.026922793795

H-E(el)        =     0.030699553420

Enthalpie      =  -113.997991688000

S(el)          =     0.000000000000

S(tr)          =     0.000057577109

S(rot)         =     0.000025730302 (Symmetry number = 2)

S(vib)         =     0.000000139497

G-E(el)        =     0.005819857897

Free Energy    =  -114.022871383523

・人工力の掛け方とGammaの値について(AddUniversalForceなど)

AddUniversalForce(InterOnly) = xxx
UniversalForceTarget = x,y,z,..               フラグメント①
UniversalForceTarget = a,b,c,...             フラグメント②

・反応経路の名称について

LUP法について

RePATHについて

・DS-AFIR法について

・RCMC法で取り扱われる「超状態」について

このように、異性体間の相互変換と一口に言っても、そのタイムスケールのオーダーには大きな隔たりがある

・RCMCのオプション

反応経路探索においてRCMC法による速度論ナビゲーションを適用する

# SC-AFIR/B3LYP/6-31G


0 1

C    -0.095991665990     -0.805920219678     -1.909605178596

C     1.003042582222      0.007791291679     -1.162100889303

C     0.054683679530     -1.815448255552      0.414734148105

C    -0.671790672469     -1.925880237105     -0.972941136035

H    -0.891854411127     -0.132592282669     -2.246101515377

H     0.335331933023     -1.284696563208     -2.797262382989

C     1.579744825132     -2.068588797031      0.188069891075

H     2.084655140290     -2.028382746599      1.159450088938

H     1.713566709445     -3.071315815606     -0.222791688765

C     0.393623953298      0.547757893549      0.118764128484

H     0.385994343773      1.610653441103      0.341265889646

C    -0.109898022312     -0.398237424783      0.929485860235

H    -0.574516982573     -0.196215925027      1.889560359180

H     1.386499666732      0.804627363119     -1.807109576007

H    -0.367877013576     -2.564591361828      1.088216420802

C     2.146400520222     -0.985909265091     -0.776567556415

H     2.540375003024     -1.448643202530     -1.690084899123

H     2.969369577404     -0.433495751899     -0.309933564380

O    -0.320111152018     -3.257151628977     -1.478464255539

H    -0.784041061920     -3.408538122396     -2.327643337095

C    -2.174477070469     -1.802018882940     -0.812466552033

H    -2.527717163892     -0.793285080928     -0.606292622778

C    -3.043485864513     -2.815962038250     -0.888912248276

H    -2.713180551817     -3.835214972715     -1.064965684600

H    -4.109965866621     -2.661398079359     -0.759368811169

Options

GauMem=200

GauProc=2

NOFC

EQOnly

KeepSCPath

TrafficVolCheck                      ← 「交通量」を追跡する

TimeScale= 3600                      実験の反応時間より少し長い時間を指定する

SIML_tLargest= 330               ターゲット原子数の10~30倍程度の値を指定する

SIML_pLatest= 330

Siml_temperature= 500.0 600.0 700.0    実験の反応温度より少し高い温度まで指定する(3種類のシミュレーション温度を指定できる)

Rtemperature= 10000.0

Add Interaction

target=1-4,7,10,12,16,19,21,23

Gamma=300

END

得られている探索結果を読み込んでRCMC法によるポピュレーション解析を行う

%infile=test_SC 読み込ませる反応経路ネットワークを指定(指定できるのは1つのネットワークのみ)

# RCMC/B3LYP/6-31G 形式的に指定しているだけであり、このレベルの計算が行われる訳ではない


0 1

C    -0.095991665990     -0.805920219678     -1.909605178596

C     1.003042582222      0.007791291679     -1.162100889303

C     0.054683679530     -1.815448255552      0.414734148105

C    -0.671790672469     -1.925880237105     -0.972941136035

H    -0.891854411127     -0.132592282669     -2.246101515377

H     0.335331933023     -1.284696563208     -2.797262382989

C     1.579744825132     -2.068588797031      0.188069891075

H     2.084655140290     -2.028382746599      1.159450088938

H     1.713566709445     -3.071315815606     -0.222791688765

C     0.393623953298      0.547757893549      0.118764128484

H     0.385994343773      1.610653441103      0.341265889646

C    -0.109898022312     -0.398237424783      0.929485860235

H    -0.574516982573     -0.196215925027      1.889560359180

H     1.386499666732      0.804627363119     -1.807109576007

H    -0.367877013576     -2.564591361828      1.088216420802

C     2.146400520222     -0.985909265091     -0.776567556415

H     2.540375003024     -1.448643202530     -1.690084899123

H     2.969369577404     -0.433495751899     -0.309933564380

O    -0.320111152018     -3.257151628977     -1.478464255539

H    -0.784041061920     -3.408538122396     -2.327643337095

C    -2.174477070469     -1.802018882940     -0.812466552033

H    -2.527717163892     -0.793285080928     -0.606292622778

C    -3.043485864513     -2.815962038250     -0.888912248276

H    -2.713180551817     -3.835214972715     -1.064965684600

H    -4.109965866621     -2.661398079359     -0.759368811169

Options

GauMem=200

GauProc=1

TimeScale= 3600.0 ← シミュレーションする反応時間の上限を指定(指数表記でもよい

Siml_temperature= 500.0 600.0 700.0 ← シミュレーションする反応温度を指定(1以上3個以下の実数値を指定できる

MinimumPath = 1-7 ← EQ1とEQ7を結ぶ経路のうち速度論的に最も有利なものを、指定したTimeScale、Siml_temperatureの条件下で抽出する

あるEQに初期ポピュレーションを割り振り0.01秒以内におけるポピュレーション(生成量の分布)の時間発展を調べるJOB】

%infile=test_SC

# RCMC/B3LYP/6-31G


0 1

O    -0.451057223038      0.916629960219     -0.086115521794

C     0.319243855935     -0.242111107388     -0.312380033473

H     1.738559015783     -0.162055801517      1.157489204955

H    -0.164138797231     -1.131253174548      0.134081105958

N     1.677430332645     -0.204927494061      0.142408921831

H     0.318352930375     -0.379059111051     -1.403803646935

H     2.161865832431      0.608945233710     -0.230443078321

H    -0.609505539254      0.996099588526      0.859317714152

Options

GauMem=200

GauProc=1

TimeScale=1e-2

Siml_temperature=500.0 600.0 700.0

TrafficVolCheck

SIML_InitEQs = 0-4,6,9 ← 初期ポピュレーションを割り振るEQを指定

%infile=test_Si2H2

# RePATH/PM7 ← RePATHのJOBTypeでRCMCのシミュレーションを行う場合はRCMCOnlyをオプションに付ける


0 1

Si   -0.403409716729      1.099356361220     -0.473940196414

Si    0.114779774398      2.895842622141      0.422099460813

H    -0.131162100728      0.705804358822     -1.881784045944

H    -0.157679342213      3.288319017051      1.830215007973

Options

GauMem=200

GauProc=1

RCMCOnly

TimeScale=1e0

Siml_temperature=300.0 500.0

TrafficVolCheck

Siml_initEQs = 0

SIML_VibEntropyOFF ← (Option)自由エネルギーを用いたRCMCシミュレーションにおいて振動エントロピーの効果を除去する(基準振動モードの固有値が低精度の場合などに用いる)


反応経路ネットワークの可視化

・既存の探索結果を読み込んでさらに探索を行う場合

活性化障壁をできるだけ早く見積もりたい場合

・FrozenAtomsの拘束を解いてinfileするオプション「ReadCommonGeometry」

%link=siesta-3.1
%infile=xxx_PTn.log

# LUP


0 1

(ここに基質分子と拘束を解く表面原子の座標を記載する)①

FrozenAtoms

(ここに新たに追加するFrozen Atoms(必要に応じてTVも)の座標を記載する)②

Options

ReadCommonGeometry

(ここにxxx_PTn.logに記載されていない、新しく追加した原子の座標を記載する;②に記載したFrozen Atomsの原子は含まない)③

END

...(以下のオプションは任意なので省略)...

ポテンシャル面の交差探索について

F(Q) = 1/2 * (Ex(Q) + Ey(Q)) + (Ex(Q) − Ey(Q))^2 * 1 / α

ここでαF(Q)を最小化する操作に利用される定数であり、エネルギー差が閾値を下回るまで漸減されていく。αのデフォルトの初期値は 30 kJ/mol である。

(上式のLaTeXコマンド)

\begin{equation}

F(\mathbf{Q})=\frac{1}{2}\left(E^{\mathrm{X}}(\mathbf{Q})+E^{\mathrm{Y}}(\mathbf{Q})\right)+\frac{\left(E^{\mathrm{X}}(\mathbf{Q})-E^{\mathrm{Y}}(\mathbf{Q})\right)^{2}}{\alpha}

\end{equation}

 # MIN/UB3LYP/6-31+G**

  

 0 1

 C          0.000000000000         -0.000000000000         -0.530465924142

 O         -0.000000000000          0.000000000000          0.685412425504

 H          0.000000000000          0.942437931730         -1.129067750681

 H         -0.000000000000         -0.942437931730         -1.129067750681

 Options

 GauProc=4

 GauMem=200

 OptX=(Seam)

 Second Input

 UB3LYP/6-31+G**

 0 3

 END

 MaxStepSize = 0.1

 Stable=Opt

ModelFについて(Opt=Xでない場合)

ここでαは非断熱(Diabatic)カップリングの大きさに関連する定数で、αのデフォルト値は 30 kJ/mol である。

SC-AFIRによる探索の設定に関する考察

)特に何の工夫もない機械的な反応経路探索のインプット;電子状態計算ソフトウェアは Gaussian 16 を使用;CNH5O_SCAFIR.com

# SC-AFIR/wB97XD/def2SVP


0 1

O         -1.387706449882          0.457710449716         -0.000152791229

C         -0.799277342210         -0.587346468200         -0.000053857794

H         -0.505806753819         -1.115755497088         -0.938138497178

H         -0.528590206390         -1.127926725615          0.937971866055

N          1.875936611222          0.071774791425          0.001242991043

H          2.534394440611         -0.118094309179         -0.752821033309

H          2.415477595949          0.060987226287          0.865598903294

H          1.560371343943          1.032761998638         -0.126815608580

Options

GauMem=200

GauProc=4

DownDC=12

EQOnly

KeepLUPPaths

Rtemperature= 10000.0

Add Interaction

target=1-8

gamma=400

END

このインプットを用い、4コア×10並列で計算を実施したところ、1053868点で電子状態計算が行われ、そのうち35957点でヘシアンの計算が行われた。要した計算時間は 532936.0 秒(6日と少し)で、115個のEQ、4013本の経路(PT)が得られた。探索の最中、得られたAFIR経路に対してはLUP計算(AFIR経路のエネルギー緩和)を行っているが、EQOnlyを付けているのでTSまでの最適化(+その後のIRC計算)は省いている。

得られた115個のEQは結合様式別に以下の14種類の異性体に分類された。探索において得られたEQの順にラベリングしている。横の文字列はSMILES表記。

1 C=O.N ← 初期構造(ホルムアルデヒド + アンモニア;最安定EQから 56.2 kJ/mol 程度不安定)
2 [CH]O.N
3 NCO 主生成物メタノールアミン;最安定EQが属するstate
4 [NH3][CH]O
5 NC=O.[H][H] 生成物①(ホルムアミド + H2;最安定EQから 27.2 kJ/mol 程度不安定;enol体も含む)
6 C=N.O ← 副生成物メタンイミン + H2O;最安定EQから 62.7 kJ/mol 程度不安定
7 OC=N.[H][H]
8 OC=N.[H][H]
9 [CH]N.O
10 [C]=N.O.[H][H]
11 C#N.O.[H][H]
12 [C]=O.N.[H][H] ← 副生成物③(CO + NH3 + H2O;最安定EQから 113.1 kJ/mol 程度不安定)
13 N[C]O.[H][H]
14 N=C=O.[H][H].[H][H]

全く終了条件を課していない割には、ある程度の計算コストで探索が完了しており、かつ、広い範囲を十分に探索できたと言える。
※探索結果はGitHubで公開している → https://github.com/h-nabata/GRRM/tree/main/CNH5O


(例)基質を凝集させる人工力(UniversalForce)を課したPES上での探索;電子状態計算ソフトウェアは Gaussian 16 を使用;CNH5O_uSCAFIR.com

# SC-AFIR/wB97XD/def2SVP


0 1

O         -1.387706449882          0.457710449716         -0.000152791229

C         -0.799277342210         -0.587346468200         -0.000053857794

H         -0.505806753819         -1.115755497088         -0.938138497178

H         -0.528590206390         -1.127926725615          0.937971866055

N          1.875936611222          0.071774791425          0.001242991043

H          2.534394440611         -0.118094309179         -0.752821033309

H          2.415477595949          0.060987226287          0.865598903294

H          1.560371343943          1.032761998638         -0.126815608580

Options

GauMem=200

GauProc=4

DownDC=12

EQOnly

KeepLUPPaths

Rtemperature= 10000.0

Add Interaction

target=1-8

gamma=400

END

AddUniversalForce=100

UniversalForceTarget=1-8

ReadBareEnergy

4コア×10並列で計算を実施したところ、xxx点で電子状態計算が行われ、そのうちxxx点でヘシアンの計算が行われた。要した計算時間は xxx秒(xxx)で、xxx個のEQ、xxx本の経路(PT)が得られた。探索の最中、得られたAFIR経路に対してはLUP計算(AFIR経路のエネルギー緩和)を行っているが、EQOnlyを付けているのでTSまでの最適化(+その後のIRC計算)は省いている。ただしこのLUP計算は「基質を凝集させる人工力を課したPES」上で行われていることに注意(ReadBareEnergyは近似EQにおける真のエネルギーのみ参照するOption)。

この探索で得られた18個のEQを先ほど同様に結合様式別に分類すると以下のようになった。

%%% 計算中 %%%

先ほどのJOBに比べて劇的に計算時間が短縮されているにもかかわらず、反応経路ネットワークのうち主生成物や主要な副生成物のEQ、及びそれらに至る経路が得られていることが分かる。この計算結果は改変されたPES上のものなので、真のエネルギーを得るにはUniversalForceを除いてRePATH計算ないしはLUP計算を行う必要がある。ただ、化学的に重要な反応経路を素早く特定する分には、こちらのインプットの方が優秀である。


(例)RCMC法による速度論シミュレーションを併用したPES上での探索;電子状態計算ソフトウェアは Gaussian 16 を使用;CNH5O_simSCAFIR.com

# SC-AFIR/wB97XD/def2SVP


0 1

O         -1.387706449882          0.457710449716         -0.000152791229

C         -0.799277342210         -0.587346468200         -0.000053857794

H         -0.505806753819         -1.115755497088         -0.938138497178

H         -0.528590206390         -1.127926725615          0.937971866055

N          1.875936611222          0.071774791425          0.001242991043

H          2.534394440611         -0.118094309179         -0.752821033309

H          2.415477595949          0.060987226287          0.865598903294

H          1.560371343943          1.032761998638         -0.126815608580

Options

GauMem=200

GauProc=4

DownDC=12

EQOnly

KeepLUPPaths

TrafficVolCheck

TimeScale= 3600

SIML_tLargest= 240

SIML_pLatest= 240

Siml_temperature= 300.0 400.0 500.0

Rtemperature= 10000.0

Add Interaction

target=1-8

gamma=500

END

AddUniversalForce=100

UniversalForceTarget=1-8

ReadBareEnergy

4コア×10並列で計算を実施したところ、62936点で電子状態計算が行われ、そのうち2989点でヘシアンの計算が行われた。要した計算時間は 36187.0 秒(10時間)で、18個のEQ、279本の経路(PT)が得られた。探索の最中、得られたAFIR経路に対してはLUP計算(AFIR経路のエネルギー緩和)を行っているが、EQOnlyを付けているのでTSまでの最適化(+その後のIRC計算)は省いている。ただしこのLUP計算は「基質を凝集させる人工力を課したPES」上で行われていることに注意ReadBareEnergyは近似EQにおける真のエネルギーのみ参照するOption)。

※このインプットでは速度論ナビゲーションを併用している(解離チャネル以外の領域ではPESが大幅には変化していないと仮定している)。SIML_tLargestとSIML_pLatestにはターゲット原子の30倍の値を指定している。ここでKeepLUPPathsを付けているのは、AFIR経路をしっかり緩和することで速度論ナビゲーションが正常に機能することを期待したためである。KeepLUPPathsではなくKeepSCPathsを指定するとLUP計算を実行しないため計算時間は短縮されるが、真の障壁よりエネルギーの高いPTを使ってRCMCシミュレーションが実行されることになり、必要以上に探索領域がカットされる恐れがある。

この探索で得られた18個のEQを先ほど同様に結合様式別に分類すると以下のようになった。

1 C=O.N ← 初期構造(ホルムアルデヒド + アンモニア
2 [CH]O.N
3 NCO ← 主生成物(メタノールアミン)
4 C=N.O ← 副生成物②(メタンイミン + H2O
5 [C]=O.N.[H][H] ← 副生成物③(CO + NH3 + H2O)
6 [CH2][NH].O
7 NC=O.[H][H] ← 副生成物①(ホルムアミド + H2

先ほどのJOBに比べて劇的に計算時間が短縮されているにもかかわらず、反応経路ネットワークのうち主生成物主要な副生成物のEQ、及びそれらに至る経路が得られていることが分かる。この計算結果は改変されたPES上のものなので、真のエネルギーを得るにはUniversalForceを除いてRePATH計算ないしはLUP計算を行う必要がある。ただ、化学的に重要な反応経路を素早く特定する分には、こちらのインプットの方が優秀である。

なお、UniversalForceを除去したRePATH計算を4コア×10並列で実施したところ、41088点で電子状態計算が行われ、そのうち2623点でヘシアンの計算が行われた。要した計算時間は 24747.0 秒(7時間弱)で、22個のEQ、265本の経路(PT)が得られた。EQ数がSCの結果より増えているのは凝集させる人工力が除かれたことで取り得る分子の配向にバリエーションが生じたためで、新しい結合様式の異性体が得られた訳ではない。SC-AFIRによる探索と合わせても総計算時間は1日未満で済んでおり、しかも主要な反応経路はしっかり得られている。このように2分子以上の反応経路探索ではUniversalForceを課すことで計算コストを大きく低減することができる。

Issues on input chemical compositions in GRRM calculations

その他のメモ

《応急処置》分子研(IMS;自然科学研究機構 岡崎共通研究施設 計算科学研究センター)の計算機でGRRMとSIESTA(ver 4.1.5)を接続する際のセットアップ作業

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lustre/system/apl/lx/siesta415/exts/lib

の行を追加する(export LD_LIBRARY_PATHも忘れずに;必要に応じてsourceしてprintenvコマンドで確かめる)

lfcpopt = .TRUE.
fcp_mu = -0.36325
assume_isolaed='esm'
esm_bc='bc2'

などと指定し、 fcp_mu の値を与える必要がある。これはフェルミ準位(単位はRy.)に電位差に相当する値をRy.単位で加えた値を指定する(つまり、1度電位差ゼロの条件で電極のみで1点計算しておく必要がある)。例えば、ある金属表面のフェルミ準位が -0.40000 Ry. のとき、+0.5 V(vs 参照電極)を印加する場合は 0.5/13.60569 = 0.036749 (Ry.) を加えて fcp_mu = -0.36325 と指定する。

※また、このとき、[JOBNAME].in の中に &ions のセクションを形式的に追加する必要があるので注意。内容としては

&ions
/

などと書いておけばよい。これが無いとpwSCF内部で予期せぬエラーが発生する。

分子研の計算機における並列計算投入用シェルスクリプトについて

#!/bin/tcsh -f#PBS -l select=1:ncpus=40:mpiprocs=4:ompthreads=10:jobtype=small#PBS -l walltime=144:0:0

set pnum=10

set JOBTIME=140

set GRRM=/lustre/home/users/${USER}/GRRM

set WORK=/work/users/${USER}/${input}.$$


...(以下略)...cp     ${GRRM}/GRRMp    ${WORK} 

cp     ${GRRM}/GRRM.out ${WORK} 


cd     ${WORK}

./GRRMp ${input} -p${pnum} -h${JOBTIME}

・GRRMのインプットファイル(.com)コメントを残す

・GRRMに関する数式のLaTeXコマンド

・GRRMに関する論文について

・GRRMのJob typeとナンバー

※"ADDF" はかつて "GRRM" という名称のJob typeだった。

なお、反応経路探索手法としての「GRRM法」という手法や名称は現在公式には存在せず、使用は推奨されない。2023年現在、GRRMプログラムに実装されている反応経路探索手法には「ADDF法」と「AFIR法」の2つがある。これらを駆使して未知の化学反応を研究する方法論を 「Global Reaction Route Mapping strategy」、「GRRM戦略」などと呼ぶ。(参考文献:https://doi.org/10.1039/C3CP44063J