Opt

このキーワードを指定すると,構造最適化を実行します。ポテンシャル面上の定留点が見つかるまで構造を調節します。グラジエント(勾配)が計算可能であれば,それを利用します。Hartree-Fock, CIS, MP2, MP3, MP4(SDQ), CID, CISD, CCD, CCSD, QCISD, CASSCFや全DFT,半経験的方法に対して,極小化(局所的な安定構造)と遷移状態やより高次の鞍点への最適化に用いるデフォルトアルゴリズムは共に,redundant内部座標を使ったBernyアルゴリズムです[149,15] (Redundantオプションで指定します)。解析的グラジエント(勾配)が計算できない方法の場合,デフォルトアルゴリズムにはeigenvalue-followingアルゴリズムを用います(Opt=EF)。また,内部座標を用いたBernyアルゴリズム(Opt=Z-matrix)も利用することが可能です[136,148,529]。

このセクションは非常に長いですが,残りの部分で構造最適化に関する様々な様子・特徴について説明します。次のようなサブセクションがあります。

これらのサブセクションについては,関心または必要があるときに参考にしてください。

構造最適化に関する基本的な情報と,さらにそのテクニックや陥りやすい点についてはExploring Chemistry with Electronic Structure Methods [308](訳註:日本語版『電子構造論による化学の探究』)の3章で議論されています。また,様々なタイプの分子に対するZ-matrixの設定に関して,詳細を知りたい場合にはAppendix Bも参考にしてください。

一般的なオプション

MaxCycle=N
最適化ステップの最大数をNにします。デフォルトは20か,もしくは(デフォルトの手法では)利用しているredundant内部座標の数または(その他の手法では)最適化する変数の数の2倍のどちらか大きいほうになります。

MaxStep=N
最適化ステップに対する最大サイズ(初期信頼半径)を0.01N Bohrまたはradianにします。Nのデフォルト値は30です。

TS
極小点でなく遷移状態に対する最適化を行います。

Saddle=N
N次の鞍点に対する最適化を行います。

QST2
STQN法を用いて遷移状態の構造を探索します。 このオプションを用いるときには,反応物と生成物の構造を,入力としてタイトル行と分子指定セクションの組を2つ続けて指定します。2つの構造間では原子の順番を揃えなければならないことに注意してください。TSQST2は同時に指定できません。

QST3
STQN法を用いて遷移状態の構造を探索します。 このオプションを用いるときには,反応物,生成物,初期TS構造を,入力としてタイトル行と分子指定セクションの組を3つ続けて指定します。3つの構造間では原子の順番を揃えなければならないことに注意してください。TSQST3は同時に指定できません。

Path=M
IQST2もしくはQST3オプションと組み合わせて,遷移状態とredundant内部座標でのM点反応経路の同時最適化を行います[164]。このタイプの計算では,座標を固定することはできません。

もしQST2が指定された場合には,通常のインプットと同じようにタイトルと分子指定セクションを,反応物と生成物の両方に対して指定する必要があります。経路上の残りのM-2点は,反応物と生成物の入力構造の間で線形内挿することで生成されます。最も高いエネルギーを与える構造が遷移状態の初期推測構造となります。経路緩和の各ステップにおいて,各ステップの最高点が遷移状態になるように最適化されます。

もしQST3が指定された場合には,タイトルと分子指定セクションが3組必要となります。経路上の残りのM-3点は,まず反応物と遷移状態間,つぎに遷移状態と生成物間で2回続けて線形内挿することで生成されます。デフォルトでは,エネルギーの順序によらず,中点について遷移状態の構造に最適化します。このケースでは,経路上の点は遷移状態の両側に均等に分布されるので,Mは奇数である必要があります。

同時最適化計算に対する出力は,最適化遷移状態の予測構造の後に,全M個の収束反応経路構造のリストとして出力されます。

入力として与えた反応物と生成物の構造の取り扱いについては,次のオプションによって制御されます:OptReactant, OptProduct, BiMolecular

反応物近傍にある構造に対するSCF波動関数は,生成物近傍にある構造とは全く異なる可能性があることに注意してください。 Guess=Alwaysにすると,反応物に似た構造の波動関数を使わずに,生成物に似た構造の波動関数を初期軌道推測として用います。

同時最適化計算の反応物に対する入力構造について,局所安定構造になるよう最適化します。これはデフォルトです。NoOptReactantを指定すると,入力構造をすでに反応経路に存在する点として維持しようとします(一般的には,すでに極小になるように最適化されていることを意味します)。OptReactantBiMolecularと組み合わせることはできません。

BiMolecular
このオプションを指定すると,反応物または生成物は2分子として取り扱われ,また入力構造はアンカーポイントとして用いることになります。このアンカーポイントは経路上のM点の一点としては現れません。その代わりに,反応物サイドが遷移状態からどれくらい広がっているかをコントロールするために使います。デフォルトでは,このオプションは無効です。

OptProduct
同時最適化計算の生成物に対する入力構造について,局所安定構造になるよう最適化します。これはデフォルトです。NoOptProductを指定すると,入力構造をすでに反応経路に存在する点として維持しようとします(一般的には,すでに極小になるように最適化されていることを意味します)。OptReactantBiMolecularと組み合わせることはできません。

Conical
conical intersection(円錐型交差)かavoided crossing(非断熱交差)をstate-averaged CASSCF法を用いて探索します。詳細と例についてはCASSCFキーワードを参照してください。AvoidedConicalと同義です。一重項と三重項間のconical intersectionを捜すためにはCASSCF=SlaterDetが必要であることに注意してください。

Restart
チェックポイントファイルから構造最適化を再スタートします。このケースでは,全ルートセクションはOptキーワードと,オリジナルのジョブで指定したのと同じオプション(さらにRestartをつけて)から構成されます。他のインプットは必要ありません(例を参照)。

NoFreeze
全ての変数をアクティブに(非固定に)します(通常はGeom=Checkと一緒に用います)。

ModRedundant
Opt=ModRedundantキーワードを用いると,redundant内部座標の定義(探索や束縛情報を含む)を追加・削除・修正できます。このオプションは構造指定の後に入力セクションが必要です。QST2, QST3と組み合わせるときには,ModRedundant入力セクションは各々の構造指定の後に必要となります。AddRedundantModRedundantと同義です。

ModRedundant入力セクションの各行は次のような記法を用います:

[Type] N1 [N2 [N3 [N4]]] [[+=]value] [A | F] [[min] max]]

[Type] N1 [N2 [N3 [N4]]] [[+=]value] B [[min] max]]

[Type] N1 [N2 [N3 [N4]]] K | R [[min] max]]

[Type] N1 [N2 [N3 [N4]]] [[+=]value] D [[min] max]]

[Type] N1 [N2 [N3 [N4]]] [[+=]value] H diag-elem [[min] max]]

[Type] N1 [N2 [N3 [N4]]] [[+=]value] S nsteps stepsize [[min] max]]

N1, N2, N3, N4は原子の番号またはワイルドカード(詳細は後述)です。原子のナンバリングは1から始まり,ダミー原子はカウントしません。valueは指定した座標に対する新しい値を指定し, +=value にするとvalueだけ座標を増分します。

原子の番号と座標値の後には,実施する座標修正を表す1文字コードが続きます。動作コードには上で示したような追加パラメータが必要な場合もあります。動作コードが指定されていない場合,デフォルト動作である座標追加を指定したことになります。指定できる動作コードは下にリストされています。

原子の番号部分にアステリスク(*)を指定するとワイルドカードとなります。ワイルドカードを含む座標指定に対して,min, maxで範囲(minが指定されていないときは最大値)を決めます。このアクションコードで指定された動作は座標の値が範囲内であれば実行されます。

ワイルドカードの使用例をいくつか示します:

動作コードK, Bを1つまたは2つの原子と用いた場合,ワイルドカードの意味は全ての適用可能な原子を含むようになってしまい,指定した座標を含むもののみとはなりません。

デフォルトでは,座標タイプは指定した原子の数によって決まります:1原子に対してはカーティシャン座標,2原子に対しては結合長,3原子に対しては原子価角度,4原子に対しては2面角となります。Typeはこれらやさらに座標タイプを指定するために用いられます:

このキーワードの使用方法については,このセクションの後のほうの例を参照してください。

InitialHarmonic=N
調和束縛を初期構造に力の定数N/1000 Hartree/Bohr2だけ加えます。IHarmonicはこのオプションと同義です。

ChkHarmonic=N
調和束縛をchkファイルに保存されている初期構造に力の定数N/1000 Hartree/Bohr2だけ加えます。CHarmonicはこのオプションと同義です。

ReadHarmonic=N
調和束縛を(インプット配向の)入力ストリームで読み込んだ構造に力の定数N/1000 Hartree/Bohr2だけ加えます。RHarmonicはこのオプションと同義です。

座標系選択オプション

Redundant
Bernyアルゴリズムを用いてredundant内部座標で最適化を行います。これは,解析的グラジエント(勾配)が計算可能な方法に対してはデフォルトです。

Z-matrix
内部座標で最適化を行います。このケースでは,キーワードとしてOptではなくFOptを指定しないと完全な最適化が行われたかどうか(つまり,アクティブでない変数を含む変数が線形独立であり,分子の対称性によって許容された自由度を張っているかどうか)確認されません。POpt形式では,内部座標の部分最適化を行います。またこの場合,(CalcAllオプションによる)各点での2次微分を含めた最適化計算の最後に振動数解析を行わなくなります。

Cartesian
Bernyアルゴリズムを用いてカーティシャン座標で最適化を行います。初期構造はどのような座標系で入力してもかまいません。純粋なカーティシャン最適化計算では部分パラメータや変数を固定することはできません。カーティシャンとZ-matrixを混ぜた最適化フォーマットを使っている場合は,Opt=Z-matrixもその機能が必要であれば利用できます。

分子指定に変数を使わずにZ-matrixを構築したときに,Opt=Z-matrixを指定すると,実際にはカーティシャン座標で最適化が行われます。

OldRedundant
Gaussian 94のredundant内部座標生成機能を用います。

また,種々のその他座標系,例えば距離行列(distance matrix)座標などは,ModRedundantオプションを使って構築することができます。

EstmFC
古い対角推測を用いて力の定数を見積もります。Bernyアルゴリズムのときのみ利用可能です。

NewEstmFC
valence force fieldを用いて力の定数を見積もります。これはデフォルトです。

ReadFC
チェックポイントファイルから力の定数を読み出します。これは通常,低レベルの最適化計算での最終的な近似の力の定数または,低レベル振動数計算によって正しく計算された力の定数です(前者よりも後者のほうが大幅に優れています)。

StarOnly
最適化を行わずに数値的に力の定数を見積もります。この場合は調和振動数の計算を行うことはありません。この方法で見積もった力の定数をMurtaugh-Sargentプログラムに渡すためには,一度Opt=StarOnlyで力の定数を計算し,その後Opt(MS,ReadFC)で実際の最適化を行います。

FCCards
分子指定の後の入力ストリームからカーティシャンの力と力の定数を読み込みます。このオプションは,内部FCListコマンドを使ってQuantum Chemistry Archiveから取り出した力の定数を読み込むために使います。このインプットのフォーマットは次の通りです:

力の定数は下三角形式((F(J,I),J=1,I),I=1,NAt3)であり,ここでNAt3 はカーティシャン座標の数です。

RCFC
振動数計算で計算されたカーティシャン座標における力の定数を,チェックポイントファイルから読み込みます。このオプションは変数の定義が変わってしまい,以前の内部座標における力の定数が使えなくなったときに用います。ReadCartesianFCRCFCと同義です。

CalcHFFC
初回に解析的HF力の定数を計算することを指定します。CalcHFFCはMP2最適化計算で用います。DFT法ではCalcFCと同じことになります。

CalcFC
選択された手法を使って初回に力の定数を計算します(HF, MP2, CASSCF, DFT, 半経験的方法でのみ指定可能です)。

CalcAll
選択された手法を使って毎回力の定数を計算します(HF, MP2, CASSCF, DFT, 半経験的方法でのみ指定可能です)。調和振動数解析は収束した構造に対して自動的に行われ,計算の結果は振動数ジョブとしてアーカイブされます。

VCD
Hartree-FockOpt=CalcAll最適化の各点でVCD強度を計算します。

NoRaman
Hartree-Fock Opt=CalcAll最適化ジョブの各点でラマン強度を計算しないようにします(なぜなら,この計算は最適化の最終ポイントでの結果を使った振動数解析に含まれるからです)。ラマン強度計算を行うと各中間2次導関数ポイントでのコストが10-20%増加します。

収束関連オプション

以下のオプションはBernyアルゴリズムでのみ利用可能です。

Tight
このオプションを指定すると,収束判定に用いる力とステップ幅のカットオフ値を厳しくします。Opt=Tightでの最適化はデフォルトのカットオフ値で行ったときよりもさらに数ステップかかります。非常に小さい力の定数(低調和振動モード)をもつ分子系に対しては,適切に収束しているかどうか,また続いて行われるジョブステップで計算される振動数の信頼性を確認する必要があるかもしれません。このオプションはBerny最適化でのみ利用可能です。DFT計算では,さらにInt=UltraFineも指定すべきです。

VeryTight
最適化の収束条件を非常に厳しくします。VTightVeryTightと同義です。DFT計算では,Int=UltraFineも指定すべきです。

EigenTest
Berny最適化でEigenTestを指定すると曲率のテストを行い,NoEigenTestを指定すると行わなくなります。このテストは内部(Z-matrix)あるいはカーティシャン座標で遷移状態を求めているときにはデフォルトで有効になります(このような計算では推奨です)。遷移状態構造最適化はテストが通らなかったとしても収束してしまう場合もありますが,しかしNoEigenTestは非常に計算量が大きい場合にだけ推奨されます。

Expert
Bernyプログラムによって施行される力の定数やステップ幅の最大・最小値に関する様々な制限を緩めます。このオプションを用いると収束は早くなりますが,かなり危険です。このオプションは専門家によって,力や力の定数が典型的な分子やZ-matrixとは非常に異なったりする場合に,Opt=CalcFCOpt=CalcAllと組み合わせて用いられます。NoExpertではデフォルトの制限およびデフォルトで最適化を実行します。

Loose
最適化収束判定条件を最大ステップ幅0.01,RMS力0.0017auにします。これらの値はInt(Grid=SG1)キーワードと一致しており,DFT法を使って大きい分子の初期の最適化を行い,その後でデフォルト(Fine)のグリッドを用いて完全な収束基準での最適化を行おうとする場合の初期の最適化には適切でしょう。このオプションだけでの最適化は推奨されません

アルゴリズム関連オプション

Micro
ONIOM(MO:MM)最適化のマイクロ反復を用います。デフォルトはL120かL103の選択で,electronic embeddingが有効か無効かに依存します。NoMicroはONIOM(MO:MM)最適化の間,マイクロ反復を禁止します。

Mic120はONIOM(MO:MM)に対するL120のマイクロ反復を,mechanical embeddingに対しても用います。これはelectronic embeddingに対してはデフォルトです。Mic103はONIOM(MO:MM)に対するL103のマイクロ反復を行います。これはmechanical embeddingに対してはデフォルトで,electronic embeddingには働きません。

QuadMacro
ONIOM(MO:MM)構造最適化の間にカップルされた2次マクロステップを利用するかどうかを制御します。これはmechanical embeddingでは利用可能ですが,electronic embeddingではできません。NoQuadMacroがデフォルトです。

CheckCoordinates
各最適化ステップの前にconnectivity matrix(連結行列)を再構築します。それが変化していたら,redundant内部座標系を再構築します。このオプションはデフォルトでは無効です。

Linear
Berny最適化で線形探索をLinearを指定すると行い,NoLinearにすると行いません。デフォルトでは可能なときは線形探索を利用します。

TrustUpdate
Berny最適化で信頼半径を動的に更新することをTrustUpdateを指定すると行い,NoTrustUpdateにすると行いません。デフォルトでは最小点に対しては更新されます。

RFO
Berny最適化の間Rational Function Optimization(有理関数最適化)[530]を行います。デフォルトです。

GDIIS
修正GDIISアルゴリズム[531,532,533]を利用します。大きい系や,厳しい条件での最適化,フラットなポテンシャルエネルギー面を持つ分子などに推奨されます。半経験的計算ではデフォルトです。このオプションはRFONewtonオプションが指定されると無効になります。

Newton
Berny最適化の間 RFOステップではなくNewton-Raphsonステップを利用します。

NRScale
NRScaleを指定するとBerny最適化でのNewton-Raphsonステップが最大値を超えてしまった場合にスケール倍して戻すことを行います。NoNRScaleは最大ステップ幅の範囲を見かけ上最小化することになります[534]。このスケーリングは遷移状態の最適化ではデフォルトで,範囲の最小化は局所安定構造最適化ではデフォルトです。

EF
eigenvalue-followingアルゴリズム [530,535,536]を利用します。極小,遷移状態ともに,また2次,1次あるいは解析的導関数がない場合(Calc All, CalcFC, デフォルトで指定されます)でも利用可能です。EnOnly. EigFollow, EigenFollow, EigenvalueFollowはすべてEFと同義です。解析的グラジエントが利用可能で,最低固有ベクトルがその後に続くときには,デフォルトのBernyアルゴリズムはeigenvalue-followingアルゴリズムの特徴を全て兼ねそろえています。

Steep
Bernyアルゴリズムの間に,Newton-Raphsonステップの代わりに最急降下法を用います。このオプションはBerny最安定構造最適化のみ対応しています。これは開始時点での構造が最安定より非常に遠く,完全な収束に達する見込みがない場合に有用でしょう。

UpdateMethod=keyword

ヘシアン更新方法を指定します。次のキーワードから1つ選べます:Powell, BFGS, PDBFGS, ND2Corr, OD2Corr, D2CorrBFGS, Bofill, D2CMix, None

Big
座標変換やNewton-RaphsonまたはRFOステップに対してfast equation solving法[537]を利用して最適化を行います。このオプションは半経験的計算ではデフォルトです。Opt=Smallを利用した場合は無効になります。LargeBigと同義です。

この手法は行列の対角化を行いません。それゆえ,eigenvector following法(Opt=TS)はこれと組み合わせて利用することはできません。QST2QST3計算ではassociated surface(結合面)近似を用いて導かれますが,eigenvector followingのような通常の手法の様には効果的ではないかもしれません。

HFError
HFやPSCF計算に対して適切なエネルギーや力の数値エラーを想定します(それぞれ,1.0D-07,1.0D-07)。これらの手法を用いた最適化ではデフォルトです。

FineGridError
デフォルトのグリッドを用いたDFT計算に対して適切なエネルギーと力の数値エラーを想定します(それぞれ,1.0D-07,1.0D-06)。DFT法で,デフォルトグリッド(またはInt=FineGridを指定した場合)を用いた最適化ではデフォルトです。SEErrorはこのオプションと動議であり,またこれらの値は半経験的計算で適切になるようにします(これもデフォルトです)。

SG1Error
SG-1グリッドを用いたDFT計算に対して適切なエネルギーと力の数値エラーを想定します(それぞれ,1.0D-07と1.0D-05)。DFT法で,Int(Grid=SG1Grid)を用いた最適化ではデフォルトです。

ReadError
エネルギーと力で想定する精度を読み込みます。形式はformat 2F10.6です(この入力セクションに対しては常に一行であるので最後の空行はいりません)。

GAUSSIANにおける構造最適化の概要

デフォルトでは, Gaussianはredundant内部座標で最適化を行います。これは以前のバージョンから変更された点です。最適化に対する最適な座標系に関しては近年かなり議論されました。例えば,カーティシャン座標は内部座標(Z-matrix)より環状分子に対しては優れていることが示されています[538]。同様に,内部座標とカーティシャン座標を混ぜた座標系ではあるケースではいくつか利点があります[539] (それらの間では,特定のタイプの分子指定が扱いやすいです)。

しかしながら, Pulayによってredundant内部座標が多環分子の最適化ではベストな選択肢であることを実証され[540,541,542],またBakerもredundant内部座標とカーティシャン座標を比較したときに同じ結論に達しています[543]。デフォルトでは,Gaussianはredundant内部座標でBernyアルゴリズムによって最適化を実行します。この最適化の手続きはH. B. Schlegelとその共同研究者によるものです[149]。

この最適化の手順は,従来の電子状態計算プログラム(Gaussian 94とそれ以前のバージョンを含む)で採用されている手段とは幾分異なっています。

redundant内部座標での最適化は構造束縛情報と数値微分指定を利用して行われます。

内部座標での最適化(Gaussian 92でのデフォルト)も,Opt=Z-Matrixオプションを指定すれば,まだ実行可能です。

初期力の定数の生成方法

他の方法を指定しない限り, Berny構造最適化は,原子半径と単純なvalence force fieldから決定される連結性を用いて作成された2次微分行列(ヘシアンとしても知られています)を初期推測として開始します。この近似行列は計算された1次微分を用いて各点で改良されます。

このスキームは通常うまくいきますが,ケースによっては(例えば,ダミー原子を変った並びにしたZ-matrixなど),初期推測があまりよくないために最適化が適切に開始できず,最適化構造から遠いところでヘシアンを更新するために多くの初期ステップを費やしてしまうかもしれません。さらに,遷移状態の最適化(下記も参照)では,鞍点周辺での曲率の情報が極めて重要であり,デフォルトの近似ヘシアンは常に改良されなければなりません。

このようなケースでは,改良された力の定数を与えるためにいくつかの手法があります。

     Redundant Internals			Z-matrix
     1 2 3 104.5  			A 104.5
     1 2 1.0 H 0.55			R 1.0 H 0.55
     Redundant Internals			Z-matrix
     1 2 1.0 D   			R1 1.0 D
     2 3 1.5     			R2 1.5
     1 2 3 104.5 D			A1 104.5 D
     2 3 4 110.0  			A2 110.0

遷移状態または高次の鞍点に対する最適化

Synchronous Transit-Guided Quasi-Newton (STQN)法を用いた遷移状態最適化:Gaussianには遷移状態を探し出すためにSTQN法が組み込まれています。この方法は,H. B. Schlegelとその共同研究者によって実装されており[149,150],quadratic synchronous transit(2次同時トランジット)法を用いて遷移状態の2次領域まで近づけ,その後quasi-Newtonあるいはeigenvector-followingアルゴリズムを用いて最適化を完了させます。安定構造探索でのデフォルトアルゴリズムのように,デフォルトではredundant内部座標で最適化を実行します。この方法は,ヘシアンの経験的な評価と適切な初期構造が与えられたときには,効率よく収束するでしょう。

この方法を用いるためにはQST2またはQST3オプションを指定します。QST2ではインプットとして反応物と生成物に対する2つの分子指定セクションが必要です。一方,QST3では反応物,生成物,遷移状態の初期構造についてこの順に3つ分子指定をする必要があります。原子の順番は全ての分子指定において同一になっていなければなりません。この方法におけるサンプル入力・出力の例を参照してください。

見かけ上の類似性にかかわらず,この方法は,今では非推奨のLSTキーワードを指定して遷移構造を探すというLinear Synchronous Transit(線形同時トランジット)法とはかなり異なっています。Opt=QST2では反応物と生成物の中間であるような遷移状態の推測構造をredundat内部座標で生成し,その後開始構造を自動的に1次の鞍点になるように最適化を行います。Linear Synchronous Transit法は単に2つの構造でつながれた経路上の最大点を探すだけです(その後で手動で初期化された遷移状態最適化に対する開始構造として使うことはできます)。LST法は適切な停留点を探しません。それとは逆に,QST2QST3法は適切な遷移構造を探し出します。

Bernyアルゴリズムを用いた従来の遷移状態最適化: Berny最適化プログラムでは,もし適切に誘導されれば,内部座標を用いて鞍点に対する最適化も実行できます。この手法を用いるためには,遷移状態(一次の鞍点)に対してはOpt=TSを,最大N次の鞍点に対してはOpt(Saddle=N)を指定します。

局所安定構造を探索するときには,Bernyアルゴリズムはスピードと信頼性をあげるために有理関数最適化(RFO)と線形探索ステップを組み合わせて利用します(詳細は下記)。この線形探索ステップは遷移状態の探索では適用できません。その結果,遷移状態最適化はポテンシャル面の曲率に対して非常に敏感になってしまいます。遷移状態最適化は,曲率情報を指定するために常に上記のオプションのうち一つを用いて開始されなければなりません。完全2次微分行列がないと,初期ステップは座標系の選択に依存してしまいます。そのため,反応座標系(負の曲率の方向)を1つまたは2つのredundant内部座標かZ-matrix変数に対応するように指定するのが最も良いでしょう(下記の例を参照)。

最適化を正しい曲率があると分かっている領域内で開始した(例えば,Opt=CalcFCで始めた場合)が,望ましくない曲率の領域に入ってしまうような極端なケースには,Opt=CalcAllオプションが有用でしょう。これは非常にコストがかかりますが,全ての点で正確な2次微分を計算して完全な最適化を行うので,通常は望む領域で開始していれば正しい曲率を持った定留点に到達するでしょう。遷移状態を探索するときの提案については,文献[148]を参照してください。

eigenvalue-following (mode walking)最適化法を用いるためにはOpt=EFを指定します。この方法はGaussian 88では時にはBerny法より優れていましたが,現在ではRFO step [530] がBernyアルゴリズムに組み込まれたため,特定のモードに従うという機能が必要であるか,グラジエント(勾配)が利用可能でない(そのような場合はBerny法は使えません)場合を除いては,EF法はめったに望まれない方法です。このアルゴリズムはアクティブにできる変数は50までに制限されています。デフォルトでは,最低のモードに従います。これは,すでに正しい曲率の領域にあるときや,柔らかいモードが上向きに従うようになっているときには正確です。このデフォルト設定は次の2つの方法で変更できます:

     Ang1 104.5 4
     # Opt=(EF,TS)
     
     HCN --> HNC transition state search [HCN --> HNC遷移状態探索] 
     This job deliberately follows the wrong (second) mode!  [このジョブは故意に間違った(2番目の)モードに従います]
     
     0,1
     N
     C,1,CN
     H,1,CH,2,HCN
     
     CN 1.3
     CH 1.20 10		Requests the second mode. [2番目のモードを指定]
     HCN 60.0

デフォルトでは,Berny最適化プログラムは遷移状態最適化の各ステップで近似2次微分行列の曲率(負の固有値の数)をチェックします。もしその数が正しくなければ(遷移状態では1),ジョブを中止させます。極小構造の探索では,良くない真の曲率または近似曲率にもかかわらずしばしば成功します。これはアルゴリズム中の最急降下法やRFO法が最適化を下げる方向に維持するためですが,最適化が求める局所安定点から離れたり,遷移状態の方向に向かっていたり,異なる極小点に行ってしまうことを示唆しているかもしれません。一方,遷移状態最適化は曲率が現在の点で間違っていたら成功する見込みは低いでしょう。しかし,NoEigenTestオプションを指定すると固有値のテストを行わなくなります。NoEigenTestを使う場合には,MaxCycleを小さくし(例えば5),数回の反復後の構造をチェックすべきでしょう。

BERNY最適化アルゴリズム

GaussianにおけるBerny構造最適化アルゴリズムはH. B. Schlegelによって作成された初期のプログラム(彼の公表されたアルゴリズムが実装されています[136])に基づいています。この初期のバージョンで使われている手法は他のアルゴリズムか公表されていないアルゴリズムのどちらかから取られているので,このプログラムは現在では相当機能強化されており,そこでここでBernyアルゴリズムの現在の状況をまとめるのが適切でしょう。

Berny最適化の各ステップでは,次のような動作が行われます:

GAUSSIAN98からの従来の収束判定条件の変更点

Gaussian 98では構造の収束判定条件に関して,1つだけですが重要な変更点が導入されました。力がカットオフ値より2桁小さい場合(つまり制限値の1/100),変位がカットオフ値より大きいとしても構造は収束したとみなします。これにより,極小構造周辺でフラットなエネルギーポテンシャル面をもっているような大きな分子をスムーズに最適化することができます。

弱い結合をもつ錯体に対するredundant内部座標の生成方法もGaussian 98で更新され,自動的に水素結合が考慮されるようになりました。さらに,弱い結合(水素結合など)で異なるフラグメントがつながっている場合,各フラグメント内のある原子が最近接の原子ペアとの距離が1.3倍以内であるような全ての原子のペアについて,それらの距離を内部座標に追加します。そのようなペアが最低でも3つ見つかった場合,両方のフラグメントに関する結合角や2面角は追加されません。しかし,近い原子ペアが1つまたは2つなら,完全な座標系を確保するために,関連する結合角や2面角を追加します。いつものように,ModRedundantオプションを用いて手動で座標を追加・削除することもできます。

解析的グラジエント(勾配)はHF,全DFT法, CIS, MP2, MP3, MP4(SDQ), CID, CISD, CCD, CCSD, QCISD, CASSCFと全ての半経験的方法で利用可能です。

Tight, VeryTight, Expert, Eigentest, EstmFCオプションはBernyアルゴリズムでのみ利用可能です。

IRC, Scan, Force

このサブセクションでの例はGaussian 03での通常の最適化手順を中心に扱います。しかし,サブセクションの終わりでは,従来の,Bernyアルゴリズムを用いたZ-matrixに基づく最適化についても扱います。

基本的な最適化インプット: 構造最適化には初期構造と最適化する変数を指定したZ-matrixが必要です。例えば,下の左段のインプットファイルは水の最適化です。

# HF/6-31G(d) Opt Test             # HF/6-31G(d) Opt Test

Water opt                         Water opt

0  1                              0  1
O1                                O  0.00  0.00  0.00
H1 O1 R                           H  0.00  0.00  1.00
H2 O1 R H1 A                      H  0.97  0.00 -0.25
   Variables:
R=1.0
A=104.5

このZ-matrixでは水分子の核の初期配置を指定しています。また,最適化によりRAの値をエネルギーが最小になるように決定することを指定しています。OH結合距離は両方の水素原子で同じ変数を用いて指定されているので,このZ-matrixでは分子の(適切な)対称性束縛も課しています。

右段のカーティシャン座標によるインプットは,左段のZ-matrixと同じものです。Gaussianの初期のバージョンでは,そのようなインプットを与えるとカーティシャン座標で最適化を行いました。しかし,Gaussian 92により,Z-matrixインプットはどちらの座標系での最適化でも用いることができるようになりました。

それに対して, Gaussian 98からはこの2つのインプットファイルは完全に等価です(Gaussian 03でもそうなっています)。ともにBernyアルゴリズムでredundant内部座標で最適化を行うので,最終結果は同じ構造を与えます。

最適化ジョブのアウトプット:  Berny最適化法の出力は文字列GradGradGrad...により区切られています。最初の初期化過程で,最適化を行う変数の初期値のテーブルを出力します。redundant内部座標での最適化では,用いている全ての座標がテーブルに表示されます(分子指定セクションで表示されるだけではありません)。

GradGradGradGradGradGradGradGradGradGradGradGradGradGradGradGradGrad
 Berny optimization.     The opt.  algorithm is identified by the header format & this line.[最適化アルゴリズムはヘッダフォーマットとこの行で確認できます]
 Initialization pass.
                   ----------------------------
                   !    Initial Parameters    !
                   ! (Angstroms and Degrees)  !
----------------------                        ----------------------
! Name  Definition              Value          Derivative Info.    !
-----------------------------------------------------------------------
! R1    R(2,1)                  1.             estimate D2E/DX2   !
! R2    R(3,1)                  1.             estimate D2E/DX2   !
! A1    A(2,1,3)              104.5              estimate D2E/DX2   !
--------------------------------------------------------------------

初期2次微分を与える方法はDerivative Info.の列で確認できます。このケースでは,2次微分は評価されて与えられます。

その後の最適化ステップは次のような行で区切れらています。

GradGradGradGradGradGradGradGradGradGradGradGradGradGradGradGradGrad
Berny optimization. [Berny最適化]
Search for a local minimum. [局所安定構造探索]
Step number   4 out of a maximum of  20 [ステップ数4/最大20]

最適化が完了すると,最終構造が表示されます。

Optimization completed. [最適化完了]
   -- Stationary point found. [定留点発見]
                    ----------------------------
                    !   Optimized Parameters   !
                    ! (Angstroms and Degrees)  !
--------------------                            --------------------
! Name  Definition              Value          Derivative Info.    !
-----------------------------------------------------------------------
! R1    R(2,1)                  0.9892         -DE/DX =    0.0002 !
! R2    R(3,1)                  0.9892         -DE/DX =    0.0002 !
! A1    A(2,1,3)              100.004          -DE/DX =    0.0001 !
-----------------------------------------------------------------------

redundant内部座標の定義は表の2列目で与えられます。カッコ内の数字は分子指定での原子と対応します。例えば,変数R1R(2,1)で定義されていますが,これは原子1,2間の結合距離を指定しています。

Z-martixを初期分子指定に用いた場合,Z-matrix形式での最適化構造の表示が可能であればその後に出力されます。

最適化構造に対するエネルギーは,この表より前の最終最適化ステップの出力中にあります。

構造最適化の出力に関するより詳細な情報についてはExploring Chemistry with Electronic Structure Methods《訳注:日本語版『電子構造論による化学の探究』》の3章で述べられています。

複合ジョブ:  一般に最適化の後にその最適化構造で振動数計算を行います。この手順を楽にするために,入力ファイルのルートセクション中でOptととFreqキーワードを組み合わせます。これにより自動的に2段階ジョブを生成します。

また,構造最適化計算の後に高次の理論でシングルポイント(一点)エネルギー計算を行うこともよく行われます。次のようなルートセクションを指定すると,自動的にHF/6-31G(d,p)で最適化を行った後,MP4/6-31G(d,p) でシングルポイント(一点)エネルギー計算を行います。

# MP4/6-31G(d,p)//HF/6-31G(d,p) Test

Optキーワードはこのケースでは必要ないことに注意してください。しかし,オプションを指定する場合には入れる必要があります。

redundant内部座標の指定: 次のインプットファイルでは,redundant内部座標を指定する方法を説明します。

# HF/6-31G(d) Opt=ModRedun Test

Opt job

0,1
C1  0.000   0.000   0.000
C2  0.000   0.000   1.505
O3  1.047   0.000  -0.651
H4 -1.000  -0.006  -0.484
H5 -0.735   0.755   1.898
H6 -0.295  -1.024   1.866
O7  1.242   0.364   2.065
H8  1.938  -0.001   1.499

3  8 
2  1  3    

この構造はメチル基の水素のうちひとつがOH基で置換されたアセトアルデヒドです。ModRedundantに対する最初の入力行は,OH基の水素原子とカルボニル基の酸素原子間の水素結合を作成しています。この行はこの2原子間の結合だけを追加していることに注意してください。求める構造にするためにはさらに結合角や2面角も追加する必要があるかもしれません。

指定した座標の値を表示:  ModRedundantに対する2番目の入力行では,C-C=O結合角を指定しており,その値は各最適化ステップでのサマリー構造テーブル内で表示されるようにしています。

redundant内部座標でのワイルドカードの利用: 距離行列座標系は次のインプットを用いるとアクティブにできます:

* * B     			Define all bonds between pairs of atoms   [原子ペア間の全ての結合を定義]
* * * K     		Remove all other redundant internal coordinates  [全ての他のredundant内部座標を削除]

次のインプットでは部分距離行列座標を最近接レイヤーの原子だけをつなぐために定義してます:

* * B 1.1     		Define all bonds between atoms within 1.1 Å   [原子間の全ての結合を1.1Å内に定義]
* * * K     		Remove all other redundant internal coordinates  [全ての他のredundant内部座標を削除]

次のインプットでは,原子N1からNn までを固定したredundant内部座標での最適化を設定します(そのようなジョブではNoSymmキーワードが必要かもしれません)。B動作コードを含む行は,一つしか原子の番号が指定されていないので,指定した原子を含む全ての座標に対するカーティシャン座標を生成することに注意してください。

N1 B     			Generate Cartesian coordinates involving atom N1  [原子N1を含むカーティシャン座標を生成]
…
Nn B     			Generate Cartesian coordinates involving atom Nn  [原子Nnを含むカーティシャン座標を生成]
* F     			Freeze all Cartesian coordinates  [全てのカーティシャン座標を固定]

次のインプットでは, redundant内部座標から全ての2面角を削除することによって,C60 [548]のような分子に適切な,特別な"球面"内部座標を定義します。

* * * * R     		Remove all dihedral angles  [全ての2面角を削除]

次のインプットでは,N2-N3結合に関するグループを10度だけ回転させます。

* N2 N3 *  +=10.0     	Add 10.0 to the values to dihedrals involving N2-N3 bond  [N2-N3結合を含む2面角に対する値に10.0を追加]

そのほかの例は,後のリラックスさせたPES探索のセクションで示します。

部分最適化の実行: 次のジョブでは,redundant内部座標最適化で変数を固定する方法を説明します。

# HF/6-31G* Opt=ModRedundant Test
Partial optimization
1 1
C 
H 1 R1
H 1 R1 2 A1
O 1 R2 2 A2 3 120.0
H 4 R3 3 A3 2 180.0
A1=120.0
...
R3=1.1

4 5        1.3 F
5 4 3 2        F

構造は従来のZ-matrixで指定しており,変数は別のセクションで定義しています。最後の入力セクションでModRedundantオプションに対する値を与えてます。このインプットでは,5番目の水素原子に対するO-H結合と2面角を固定しています。この形式で指定する値は,Z-matrixでの値と同じである必要はないことに注意してください(このケースでは,O-H結合距離)。構造はこの制約に従うよう調節されます。制約値はオプションです。例えば,このケースでは2番目の修正redundant内部座標の値はZ-matrixでの値(180.0)にデフォルトで設定されます。

最適化構造を修正(なぜZ-matrixを必要としないのか): 最適化構造の最初にカーティシャン座標系を用います。次のようなルートセクションで生成することができます。

# Guess=Only Geom=Check

(アーカイブエントリーから展開することもできます) 一度構造をカーティシャン座標で与えると,それを様々なように用いることができます。

     H6 1.2 2.3 1.1				H6 1.2 2.3 1.1
     H7 1.2 0.0 -.9				C7 1.2 0.0 -.9
     H8 0.0 -.9 0.0				H8 0.0 -.9 0.0
     						H9  C7 R H5 A C2 180.0
     						H10 C7 R H6 A C2 180.0
     						H11 C7 R H8 A C2 -180.0

     						R=1.0
     						A=120.0
     						7 2 1.5

右の新しい構造は,(原子2と結合している)水素原子と置換される新しい炭素原子に関する結合距離を変えるために,追加redundant内部座標を使っています(最後のジョブで Opt=ModRedundant を指定します)。

値を変更したり,一つあるいはそれ以上の変数のアクティブ・固定状態を変えたりするのであれば,この方法ではなく,Geom=ModRedundantを使うこともできます。

最適化の再スタート:  最適化が失敗した場合でもチェックポイントファイルから再スタートすることができます。それには元のジョブのルートセクションを単に繰り返して,そのOptキーワードにRestartオプションを追加します:

# RHF/6-31G(d) Opt=(Saddle=2,Restart,MaxCyc=50) Test

チェックポイントファイルから構造を読み込む: redundant内部座標構造は,Geom=Checkpointとすると,チェックポイントから読み出すことができます。さらに読み込んだ構造は,Geom=ModRedundantを指定することで変更することもできます。修正方法はOpt=ModRedundantに対するインプットと同じ形式です。

[Type] N1 [N2 [N3 [N4]]] [[+=]Value] [Action [Params]] [[Min] Max]]

STQN法での遷移状態探索: QST2オプションは指定した反応物と生成物をつなぐことで遷移状態の探索を始めます。このオプションでの入力は一般的に次のような構成になります。

# HF/6-31G(d) Opt=QST2         # HF/6-31G(d) (Opt=QST2,ModRedun)
最初のタイトルセクション       最初のタイトルセクション
反応物の分子指定               反応物の分子指定
2番目のタイトルセクション      反応物のModRedundant入力
生成物の分子指定               2番目のタイトルセクション
                               生成物の分子指定
                               生成物のModRedundant入力(オプション)

各分子指定の前にはタイトルセクション(と区切りの空行)が必要であることに注意してください。ModRedundantオプションを指定する場合は,各分子指定の後でredundant内部座標に対する必要な修正を指定します。

Gaussianは自動的に反応物と生成物の構造間の中点を遷移状態に対する初期構造として生成します。その後1次の鞍点に対して最適化を実行します。

QST3オプションでは遷移状態の(より近い)初期構造を指定します。QST2と同じように反応物と生成物に対するタイトルセクションと分子指定セクションを2つ入力し,さらに(区切りの空行の後に)3番目のタイトルと分子指定セクションを初期遷移状態構造として指定します。同様にModRedundantオプションを指定して,redundant内部座標を修正することもできます。指定した初期構造に最も近い反応物と生成物をつなぐ遷移状態構造を探索します。

QST2QST3によって最適化された構造は通常の構造最適化のものと似た形式で出力されます。

                    ----------------------------
                    !   Optimized Parameters   !
                    ! (Angstroms and Degrees)  !
---------------------                          ---------------------
! Name  Definition    Value    Reactant  Product  Derivative Info.  !
--------------------------------------------------------------------
! R1    R(2,1)        1.0836    1.083     1.084   -DE/DX =    0.  !
! R2    R(3,1)        1.4233    1.4047    1.4426  -DE/DX =   -0.   !
! R3    R(4,1)        1.4154    1.4347    1.3952  -DE/DX =   -0.   !
! R4    R(5,3)        1.3989    1.3989    1.3984  -DE/DX =    0.   !
! R5    R(6,3)        1.1009    1.0985    1.0995  -DE/DX =    0.   !
! ...     										 !
--------------------------------------------------------------------

最適化された値とともに,反応物と生成物に対する値も表示されます。

リラックスさせたポテンシャルエネルギー面探索の実行: Opt=Z-matrixOpt=ModRedundantキーワードはリラックスさせたポテンシャルエネルギー面(PES)探索を実行するためにも用いることができます。Gaussianの以前のバージョンに入っていた探索機能のように,リラックスさせたPES探索は,選択した内部座標を含むPES上の長方グリッドを走らせます。Scanキーワードでの操作との違いは,制限された構造最適化を各点で行うことです。

リラックスさせたPES探索はBernyアルゴリズムでのみ利用可能です。探索している変数が計算中に対称性を崩すようであれば,ジョブのルートセクションにNoSymmをいれるべきです。そうしないとエラーで失敗するでしょう。

Opt=ModRedundantオプションで指定したredundant内部座標はSコード文字(N1 N2 [N3 [N4]] [[+=]] S ステップ ステップ幅.)を使って探索することができます。例えば,次のインプットでは原子2,3間の結合を追加し,さらにその初期値を1.0 Å,にし,3点探索を0.05 Å ステップ幅で行うことを指定しています。

2 3 1.0 S 3 0.05

ModRedundantインプットでもワイルドカードを用いると,リラックスさせたPES探索の設定に便利です。例えば,次のインプットは,適当なN1-N2-N3-N4 2面角を含むポテンシャルエネルギー面探索ですが,結合N2-N3周辺の全ての他の2面角は削除されていることに注意してください。

* N2 N3 * R     			Remove all dihedrals involving the N2-N3 bond [N2-N3結合を含む全ての2面角を削除]
N1 N2 N3 N4 S 20 2.0     	Specify a relaxed PES scan of 20 steps in 2º increments [relaxed PES探索を20ステップ,2º 増分で実行]

完全 対 部分最適化: 内部(Z-matrix)座標で最適化を行うとき,Berny最適化アルゴリズムは完全最適化と部分最適化を区別します。完全最適化では最低エネルギー構造を見つけるために全ての変数を最適化します。一方,部分最適化では指定した変数だけを最適化します。FOptキーワードは最適化を開始する前に最適化変数が線形独立であるかをテストするために用いることに注意してください。

固定変数の値は,インプットセクションで通常の変数セクションの後に空行または,空白のあとに文字列Constants:.と書いた行によって分けて指定します。例えば,次のインプットファイルでは,結合距離Rだけを最適化し,結合角Aは最適化せず,その間にも105.4度のままで固定されます。

# HF/6-31G(d) Opt Test

Partial optimization for water

0 1
O
H1 O R
H2 O R H1 A
   Variables:
R 1.0
   Constants:
A 105.4

内部座標による最適化中の対称性の破れ: 下記2つは水の構造指定です。左側の構造は同じ変数が両方の結合長で使われおり,その値は常に同じになるので, C2v 対称性に束縛されていることになります。

O     				O
H 1 R1     				H 1 R1
H 1 R1 2 A     			H 2 R2 2 A

R1=0.9     				R1=0.9
A=105.4     			R2=1.1
     				A=105.4

それに対し,右側のZ-matrixは2つの結合長が異なる初期値を持つ異なる変数で指定されているので,対称性に束縛されません。redundant内部座標での最適化がC2v 構造で開始された場合,最適化中その対称性が維持されることに注意してください。

リラックスさせたPES探索: Opt=Z-matrixでは,リラックスさせたPES探索は単にZ-matrix変数の値に,Sコード文字とステップ数と増分幅を追加することで可能です。例えば,次の入力ファイルでは与えられた分子に対するリラックスさせたPES探索を指定しています。

# HF/6-31G(d) Opt=Z-matrix Test

Relaxed PES scan

0 1
O
H 1 R1
C 1 R2 2 A2
...
   Variables:
R1 0.9 S 5 0.05
R2 1.1
A2 115.4 S 2 1.0
...

これにより変数R1は5回,0.05 Åずつ増加され,また変数A2は2回,1度ずつ増加され,結果として全18回の構造最適化を行います(各変数の初期値も探索に含まれます)。