制約アルゴリズム

制約は「[制約]」セクションで定義されます。形式は、2つの原子番号に続いて関数タイプ(1または2)と制約距離です。この2つのタイプの違いは、タイプ1は除外の生成に使用され、タイプ2は使用されないことです(「sec. 除外」を参照)。距離は、LINCSまたはSHAKEアルゴリズムを使用して制約されます。これらのアルゴリズムは、:ref:`mdp`ファイルで選択できます。両方のタイプの制約は、:ref:`constraintforce`を参照してください。

また、SHAKEの解析的な解である「SETTLE」:ref:`47 <refMiyamoto92>`も実装しました。SETTLEは、特に水に対して最適化されており、トポロジーファイルで選択できます。例えば、SPC分子の定義を参照してください。

[ moleculetype ]
; molname       nrexcl
SOL             1

[ atoms ]
; nr    at type res nr  ren nm  at nm   cg nr   charge
1       OW      1       SOL     OW1     1       -0.82
2       HW      1       SOL     HW2     1        0.41
3       HW      1       SOL     HW3     1        0.41

[ settles ]
; OW    funct   doh     dhh
1       1       0.1     0.16333

[ exclusions ]
1       2       3
2       1       3
3       1       2

[ settles ] ディレクティブは、水分子の最初の原子を定義します。 settle 関数は常に 1 であり、O-H と H-H の間の距離を指定する必要があります。 注意:このアルゴリズムは、TIP3P および TIP4P <refJorgensen83> も使用できます。 TIP3P は別の構造を持っています。 TIP4P は仮想サイトを持っていますが、それが生成されるため、揺らす(または攪拌する)必要はありません。