5. 入力ファイル

ProteinDFプログラムは、 計算に必要なパラメータを、ASCIIテキスト形式の入力ファイルから読み込みます。 テキストファイルですので、 お気に入りのテキストエディタで作成・編集することができます。

デフォルトの入力ファイル名はfl_Userinputです。 カレントディレクトリにfl_Userinputファイルが存在する場合は、 これを入力ファイルとして読み込みます。

ProteinDF入力ファイルは、以下のセクションから構成されます。

  • MAIN
  • MOLECULE

ノート

これまでのProteinDFではキーワードをグループで分類していましたが、 現在は分類する必要はありません。 キーワードはどこに記述してもかまいません。

警告

入力ファイルはデフォルトのロケール(LANG=C)のみを受け付けます。 日本語の漢字コード(UTF-8, EUC, Shift-JIS)などを使用すると、 正しい結果が得られない場合があります。 特に空白(スペース)に注意してください。

警告

入力ファイルで使用する改行コードは、実行するシステムの改行コードに従ってください。 正しい改行コードを使用しないと、正しい結果が得られない場合があります。 多くのUNIX系のシステムでは、LF(0x0A)を使用しています。 Windowsシステム(改行コードはCR(0x0D)+LF)で作成した入力ファイルを FTP, SFTPなどでUNIX系システムに転送した場合は注意してください。

5.1. 構文

キーワードの指定は以下の形式で指定します。

keyword = value

keywordは大文字・小文字を区別しません。

value には3つの様式があります。

  • 単一の値

空白(スペース、タブ文字、改行など)を含まない値はそのまま記述できます。

max-iteration = 100
  • 1行の文字列

改行を含まない文字列は [] で挟んで指定できます。

method/nsp/occlevel = [ 1 - 20 ]
  • 複数行の文字列

改行を含む場合は、 {}end で挟んで指定します。

geometry/cartesian/input = {
             // molecule1
             N        -1.888000        0.035000       -0.211000
             H        -1.766000        0.945000        0.189000
             H        -1.817000        0.099000       -1.205000
             C        -0.758000       -0.730000        0.287000
             H        -0.893000       -0.915000        1.372000
             H        -0.720000       -1.725000       -0.200000
             C         0.529000        0.065000        0.064000
             O         0.520000        1.294000        0.114000
             O         1.742000       -0.451000       -0.186000
             H         1.692000       -1.400000       -0.203000
}end

ノート

// (ダブルスラッシュ)より後ろの文字列は改行までコメントとして扱われます。 また、行の先頭が # (シャープ)の場合、改行までがコメントとして無視されます。

ノート

同じキーワードが出現した場合は、あとに記述したものに上書きされます。

5.2. MAINセクション

計算に必要なパラメータをこのセクションに記述します。 詳しくは付録のパラメータリストをご覧ください。 以下に主なパラメータを示します。

5.2.1. step_control

計算スキームを指定します。 ProteinDFの計算は指定されたスキームの順に実行されます。

5.2.1.1. とりうる値

  • create

パラメータの解析をします。計算は実行しません。

  • integral

コアハミルトニアン、重なり積分、グリッド生成など、SCF繰り返し計算前の処理を行います。

  • guess

初期電子密度を用意します。

  • SCF

SCF繰り返し計算を実行します。

  • force

エネルギーの核座標による微分を計算します。

5.2.1.2. 使用例

step_control = [create integral guess scf]

5.2.2. scf_start_guess

SCF計算における初期値を指定します。

5.2.2.1. とりうる値

  • huckel

    Hückel法により初期電子密度を求めます。

  • harris

    Harrisの汎関数を用いて、あらかじめ用意された原子の電子密度から初期電子密度を求めます。

  • core

    コアハミルトニアンを対角化した波動関数から初期電子密度を求めます。

  • rho

    あらかじめ用意された原子ごとの近似電子密度を合成して、モデル分子の近似電子密度を作成します。

  • file_rho

    ユーザーが作成した補助基底展開係数ファイル guess_rho を用いて 近似電子密度を求め、これを初期値として用います。

  • lcao

    ユーザーが作成したLCAO行列ファイル(guess.lcao.rks)、占有数ファイル(guess.occ.rks)から初期値を作成します。

  • density_matrix

    ユーザーが作成した電子密度ファイルを初期値として利用します。

5.3. MOLECULEセクション

以下のキーワードを指定します。

5.3.1. geometry/cartesian/unit

入力座標の長さの単位を指定します。

5.3.1.1. とりうる値

angstrom, au

5.3.1.2. 使用例

geometry/cartesian/unit = angstrom

5.3.2. geometry/cartesian/input

計算対象の原子種やXYZ座標などを指定します。 1行に1つの原子を指定し、原子種、X座標、Y座標、Z座標の順に空白(スペース、タブ文字)で区切って指定します。 原子種は元素記号で指定します。

5.3.2.1. 使用例

geometry/cartesian/input        = {
             N        -1.888000        0.035000       -0.211000
             H        -1.766000        0.945000        0.189000
             H        -1.817000        0.099000       -1.205000
             C        -0.758000       -0.730000        0.287000
             H        -0.893000       -0.915000        1.372000
             H        -0.720000       -1.725000       -0.200000
             C         0.529000        0.065000        0.064000
             O         0.520000        1.294000        0.114000
             O         1.742000       -0.451000       -0.186000
             H         1.692000       -1.400000       -0.203000
}end

ノート

元素記号のあとに @ を付けてラベルを付けることができます。 異なるグループの同じ元素に違う基底関数を与えるときに便利です。

ノート

ダミー原子は X で指定できます。 このときダミー原子の電荷は第5カラムに指定します。

5.3.3. basis-set/orbital

基底関数を指定します。 原子種に対して、使用する基底関数の名称を記述してください。 計算で用いるすべての原子種に対して、基底関数を指定する必要があります。 また、指定した基底関数の名前は、basis2ファイルに用意されている必要があります。 basis2ファイルについては付録を参照してください。

5.3.3.1. 使用例

basis-set/orbital = {
             H = "O-HYDROGEN (41) DZVP"
             O = "O-OXYGEN (621/41) by FS"
             C = "O-CARBON (621/41) by FS"
             N = "O-NITROGEN (621/41) by FS"
}end

ノート

原子の後に @ を付けてラベルを記述できます。

5.3.4. basis-set/density-auxiliary

クーロン項の計算で使用する補助基底関数を指定します。 クーロン項をRI_J法で求める場合に使用します。 指定方法は基底関数と同様です。

5.3.5. basis-set/exchange-auxiliary

交換相関項の計算で使用する補助基底関数を指定します。 交換相関項をRI法で求める場合に使用します。 (交換相関汎関数の指定で、汎関数名の末尾に ~ を付けた場合です。) 指定方法は基底関数と同様です。

5.3.6. basis-set/gridfree

グリッドフリー法による交換相関項の計算で使用する補助基底関数を指定します。 使用するためには gridfree/dedicated_basis を有効( yes )にする必要があります。