「標準的な」基底関数系はGaussianに組み込まれています(この章より前の”Basis Sets”セクションを参照してください)。これらの基底関数系を用いるには,ルートセクションで適切なキーワードを指定します。Genキーワードを用いると,自分で設定した基底関数系をGaussianの計算で用いることができます。基底関数系キーワードやdensity fitting基底を用いて指定することもできます。このケースでは,基底関数の指定は,(基底関数系インプットセクションとして別に)インプットとして与えなければなりません。
density fitting 基底を指定するためにGenを同じように用いることもできます(例を参照してください)。
GenECPは基底関数とECPを両方読み込むために用います。これはGen Pseudo=Readと同じことです。これはONIOM計算のために用意されており,あるONIOMレイヤー内でECPとその基底関数を使うために用います。
GFPrintキーワードを用いると,出力ファイル中に用いたガウス関数の一覧表を出力します。GFInputキーワードを用いると,Genでのインプットに適する形式で一覧表を出力します。ExtraBasisキーワードを用いると,標準基底関数系に基底関数を追加することができます。同様に,ExtraDensityBasisキーワードを用いると,density fitting 基底に追加することができます。
基底関数(basis function)は一つ以上の原始ガウス関数(primitive gaussian function)から構成されます。例えば,sタイプの基底関数φμ(r)は次のようになります:
Nは基底関数を構成する原始関数の数で,基底関数の縮約次数(degree-of-contraction)と呼ばれます。係数 dιμ は縮約係数です。 αιμは指数,f は基底関数のスケールファクター(scale factor )です。Gaussianでの縮約次数の最大値は100です。
殻(shell)は指数が共通な基底関数φμの組です。Gaussianは任意の角運動量の殻(s, p, d, f, g, hなど)に対応しています。s殻は単一のsタイプの基底関数からなります。p殻は3つの基底関数pX, pY, pZからなります。sp殻は共通の指数を持った4つの基底関数(sタイプ関数1つと,p関数pX, pY , pZの3つ)から構成されます。
d殻は6個の2次関数 (dX2, dY2, dZ2, dXY, dXZ, dYZ)か,5個の「純粋なd」基底関数(d z2-r2, dx2-y2, dxy, dxz, dyz)のどちらかで定義されます。同様に,f殻は10個の3次関数か7個の「純粋なf」関数のどちらかを用います。より高次の殻の関数も同様です。殻の縮約係数は与えられた角運動量の全ての関数で同じでなければなりませんが,sとp縮約係数はsp殻で違う値を用いることができることに注意してください。スケールファクターも各殻に対して定義されます。スケールファクターは殻の原始関数の指数を全てスケール倍するために用います。2タイプの関数同士を変換することも可能です[391]。
ここでは炭素原子に対する一連の基底関数( STO-3G, 6-31G, 6-311G(d) )を考えます。STO-3Gでは,炭素原子に対して2つの殻があります。1つは3個の原始ガウス関数(これらはスレーター1s軌道に最小二乗フィットさせています)からなるs殻です。もう1つはsp殻で,3個のガウス関数をスレーター2sおよび2p軌道に,sおよびp関数が同じ指数を持つように最小二乗フィットさせたものです。この基底関数系は全ての原子に対して同様に決められています。各殻に対するスケールファクターだけが原子ごとに異なります。炭素原子では,1sと2sp殻のスケールファクターはそれぞれ5.67,1.72です。6-31G基底では第一周期の原子では3つの殻からなります。1つ目の殻は6個の原始sタイプガウス関数を短縮したものです。2つ目の殻は3個の原始sp関数の組み合わせです。3つ目の殻は1個の原始sp関数からなります。これらの関数は原子ごとに最適化されています。スケールファクターは炭素原子の各殻に対してそれぞれ1.00, 1.00, 1.04であり,これらは分子の計算から決められます。6-311G(d)基底は,その名前が示すように,5つの殻からなります:6原始関数からなるs殻,3,1,1原始関数からなる3つのsp殻,そして縮約されていないd殻です。全ての殻は「スケールなし」です(つまり,スケールファクターは1)。
外部基底関数系をGaussianに読み込むためには(一般基底系では)Genをルートセクションで指定します。 5D, 6D, 7F, 10Fキーワードを用いて,カーティシャン関数か,純粋なd, fなどの関数のどちらを用いるかを指定します。デフォルトは,5D 7Fです。計算で用いられるd殻は全て同じ数の関数になります。同様に,fやより高次の殻も,全てカーティシャンか全て純粋な関数のどちらかになります。
殻の定義方法について。外部基底関数入力は,Link 301のGenBasルーチンによって制御されます。基底関数系入力セクションから読み込まれる情報の基本単位は,殻定義ブロック(shell definition block.)です。殻定義ブロックは,純粋またはカーティシャン関数を指定する全体での設定と共に,殻の関数を定義する全ての必要な情報を含みます。このブロックは,殻記述子(shell descriptor)行と原始ガウス関数行から構成されます。
IType NGauss Sc 殻記述子行:殻タイプ,原始ガウス関数の数,スケールファクター
α1 d1μ 原始ガウス関数指定:指数,縮約係数
α2 d2μ
...
αN dNμ 全部でNGauss原始ガウス関数行
ITypeは殻のタイプと組み合わせを指定し,s殻,p殻,d殻,sp殻, f殻,g殻…に対してそれぞれS, P, D, SP, SPD, F, G, …,のように指定します。NGaussは定義された殻に対する原始ガウス関数殻の数(縮約の次数)を指定します。Scは殻のスケールファクターを指定します(つまり,全原始指数はSc2だけスケール倍されます)。
その後では, NGauss原始ガウス関数行を指数 αk と縮約係数dkμで定義します。各行は原始関数の指数と,その縮約係数(sp殻ではsとpの係数)からなります。
別の入力形式も存在します。それはスレーター関数の最小二乗ガウス展開として殻を指定する形式です。この形式では殻記述子行でSTO, IOrb, NGauss, Scの形式で指定します。IOrbには1S, 2S, 2P, 2SP, 3S, 3P, 3SP, 3D, 4SPの中から1つ,展開したいものを指定します。2SPを指定すると,SおよびPスレーター軌道に同時に最適なように最小二乗フィットして決めるので,SもしくはPそれぞれに関する最適な展開とは異なることに注意してください。NGaussは上述の場合と同じです。スレーター関数を展開する原始ガウス関数の数は1から6まで可能です。Scはスケールファクターであり,したがって展開するスレーター関数の指数になります。STO展開を殻記述子行で指定したあとには,原始ガウス関数行は必要ありません。
原子または原子タイプに対する基底の定義方法について。習慣的に,与えられた核中心(「原子」)に殻を,少なくとも1つ,多くの場合には複数,中心識別ブロック(center definition block.)を用いて定義します。中心定義ブロックは中心指定行(center identifier line)と,指定した中心で必要な各殻に対して1つの殻定義ブロック(shell definition block )から構成されます。このブロックは,アスタリスクまたはプラス記号を列1から4まで並べた行によって終わりを示します。
c1 c2 ... 0 中心識別行:これらの殻に対して適用することを指定します
IType NGauss Sc 1番目の殻定義ブロック
α2 d2μ
...
αN dNμ
... 必要なだけ殻定義ブロック
IType NGauss Sc 最後の殻定義ブロック
α2 d2μ
...
αN dNμ
**** 分離行:中心定義ブロックの終わりを示します
中心識別行は 中心定義ブロックでの基底関数を配置する中心のリストを指定し,最後に0を指定して終わりを示します。ここには,1以上の整数で指定します。この整数は分子指定で対応する原子を示すために使われます。より一般的には,元素記号(この場合,指定したタイプの原子全てに適用されます)で指定します。中心番号と元素記号は同じ中心識別行内で混ぜることも可能です。
入力の間違いを発見しやすくするために,中心定義ブロックが分子中に存在しない原子を指定していれば,実行は中断されます。中心の前にマイナス記号をつければ(例えば,-H),基底関数系の情報は分子指定中にそのようなタイプの原子が存在しないのでスキップされます(行末のゼロはこのケースでも必要です)。後者の方法は,多原子に対して標準となる基底関数系を指定した基底関数系を含むファイルを作成する場合に向いています。一度作成すれば,挿入(@)機能(この章より前で説明してあります)によって,基底関数系が必要なときに入力ストリームにそのまま含めることが可能です。
中心または原子タイプは1つ以上の中心定義ブロックで指定することができます。例えば,Gaussian 03の基底関数ディレクトリ—UNIXシステムでは$g03root/g03/basis—には,6-31Gを指定するファイルが1つあり (631.gbs),これは一般的な基底関数系として用いられます。さらにd指数を含むファイルがあり (631s.gbs),これは6-31G*を指定するときに同時に含まれます。HからClまでの全ての原子は両方のファイルで指定されており,実際には(多くの場合は,6-31G基底系が適用できないような分子中の原子に対する追加基底関数の指定と共に)それらの両方を含めることもできます。
Genインプットで以前に定義した基底関数系を引く方法。Gaussianでは以前に定義した基底関数系を含めることによって一般基底関数系入力に柔軟に追加することができます。原子タイプに対する中心定義ブロック中で,完全殻定義ブロックは以前に定義した基底関数系に対して標準キーワードを含む行に置き換えることができます。このケースでは,指定した原子タイプに対応する基底関数系内の全ての関数が,分子中の全てのそのような原子に対して用いられます。
SDD, SHF, SDF, MHF, MDF, MWB形式を用いると,Gen基底インプット内でStuttgart/Dresden 基底系・ポテンシャルを指定できます。内殻電子の数を指定しなければならないことに注意してください。
次の例は,6-31+G(d)基底関数形に対応するGenインプットの一部です:
H 0 全ての水素原子に適用
S 3 1.00
0.1873113696D+02 0.3349460434D-01
0.2825394365D+01 0.2347269535D+00
0.6401216923D+00 0.8137573262D+00
S 1 1.00
0.1612777588D+00 0.1000000000D+01
****
C 0 全ての炭素原子に適用
S 6 1.00 6-31G基底関数
0.3047524880D+04 0.1834737130D-02
0.4573695180D+03 0.1403732280D-01
0.1039486850D+03 0.6884262220D-01
0.2921015530D+02 0.2321844430D+00
0.9286662960D+01 0.4679413480D+00
0.3163926960D+01 0.3623119850D+00
SP 3 1.00
0.7868272350D+01 -0.1193324200D+00 0.6899906660D-01
0.1881288540D+01 -0.1608541520D+00 0.3164239610D+00
0.5442492580D+00 0.1143456440D+01 0.7443082910D+00
SP 1 1.00
0.1687144782D+00 0.1000000000D+01 0.1000000000D+01
D 1 1.00 分極関数
0.8000000000D+00 0.1000000000D+01
****
C 0 全ての炭素原子に適用
SP 1 1.00 分散(Diffuse)関数
0.4380000000D-01 0.1000000000D+01 0.1000000000D+01
****
次のGenインプットでは,分子中の炭素および水素原子に対しては6-31G(d,p) 基底関数系を,フッ素原子には6-31G・基底関数系を用い,さらに中心1の原子にだけ関数を追加します。
C H 0
6-31G(d,p)
****
F 0
6-31G(d',p')
****
1 0 1番の炭素原子に分散(diffuse)関数を置く
SP 1 1.00
0.4380000000D-01 0.1000000000D+01 0.1000000000D+01
****
次のジョブでは, クロム原子に対する基底関数をファイルから読み込みます:
# Becke3LYP/Gen Opt Test
HF/6-31G(*) Opt of Cr(CO)6
分子指定
C O 0
6-31G(d)
****
@/home/gwtrucks/basis/chrome.gbs/N
.gbsは基底関数系ファイルに慣例で用いられる拡張子です(gaussian basis set)。
次の例では,一般的な基底関数系入力方法を用い,基底関数系とdensity fitting 基底の両方を指定しています。
# RBLYP/GEN/GEN 6D
HCl: 6-31g*AO基底とDGA1フィッティング基底を読み込みます。
一般基底関数系入力でのデフォルトは5Dですが,
6-31g*基底は6Dを使うようになっているので,6Dを指定します。
0,1
cl
h,1,1.29
以下からClとHに対する6-31g*基底関数系
cl 0
S 6 1.00
0.2518010000D+05 0.1832959848D-02
0.3780350000D+04 0.1403419883D-01
0.8604740000D+03 0.6909739426D-01
0.2421450000D+03 0.2374519803D+00
0.7733490000D+02 0.4830339599D+00
0.2624700000D+02 0.3398559718D+00
SP 6 1.00
0.4917650000D+03 -0.2297391417D-02 0.3989400879D-02
0.1169840000D+03 -0.3071371894D-01 0.3031770668D-01
0.3741530000D+02 -0.1125280694D+00 0.1298800286D+00
0.1378340000D+02 0.4501632776D-01 0.3279510723D+00
0.5452150000D+01 0.5893533634D+00 0.4535271000D+00
0.2225880000D+01 0.4652062868D+00 0.2521540556D+00
SP 3 1.00
0.3186490000D+01 -0.2518280280D+00 -0.1429931472D-01
0.1144270000D+01 0.6158925141D-01 0.3235723331D+00
0.4203770000D+00 0.1060184328D+01 0.7435077653D+00
SP 1 1.00
0.1426570000D+00 0.1000000000D+01 0.1000000000D+01
D 1 1.00
0.7500000000D+00 0.1000000000D+01
****
h 0
S 3 1.00
0.1873113696D+02 0.3349460434D-01
0.2825394365D+01 0.2347269535D+00
0.6401216923D+00 0.8137573261D+00
S 1 1.00
0.1612777588D+00 0.1000000000D+01
****
以下からClとHに対するDGA1 fitting基底
cl 0
S 1 1.00
0.2048000000D+05 0.1000000000D+01
S 1 1.00
0.4096000000D+04 0.1000000000D+01
S 1 1.00
0.1024000000D+04 0.1000000000D+01
S 1 1.00
0.2560000000D+03 0.1000000000D+01
S 1 1.00
0.6400000000D+02 0.1000000000D+01
SPD 1 1.00
0.2000000000D+02 0.1000000000D+01 0.1000000000D+01 0.1000000000D+01
SPD 1 1.00
0.4000000000D+01 0.1000000000D+01 0.1000000000D+01 0.1000000000D+01
SPD 1 1.00
0.1000000000D+01 0.1000000000D+01 0.1000000000D+01 0.1000000000D+01
SPD 1 1.00
0.2500000000D+00 0.1000000000D+01 0.1000000000D+01 0.1000000000D+01
****
h 0
S 1 1.00
0.4500000000D+02 0.1000000000D+01
S 1 1.00
0.7500000000D+01 0.1000000000D+01
S 1 1.00
0.1500000000D+01 0.1000000000D+01
S 1 1.00
0.3000000000D+00 0.1000000000D+01
****
一般的な基底関数系入力をし,さらにdensity fitting基底を指定する場合には,ルートセクションを次のようにします(各自の計算対象に応じて適当な基底関数系を入力してください)。
# RBLYP/6-31G(d,p)/Gen 6D
平日9:30~17:30 (土曜日、日曜日、祝祭日、年末年始、夏期休暇は、休日とさせていただきます。)