新機能と改善点¶
AWHバイアスへの対応を追加¶
AWH(加速重力ヒストグラム)法は、自由エネルギー障壁を克服し、自由エネルギーを計算するために使用される適応バイアス法です(詳細はhttps://doi.org/10.1063/1.4890371をご参照ください)。AWHは、一般的に任意のシステムパラメータをバイアスできますが、この変更では、反応座標のみをバイアスするように実装されています。実際の力分布と座標の処理は、pullコードによって行われます。AWHは、バイアスしたい座標に対して、外部ポテンシャルモジュールとして登録することで、pullコードと相互作用します。AWHコードは、その座標に対してポテンシャルと力を設定します。詳細については、参照マニュアルをご参照ください。
これには、時間積分された力相関を計算する機能が含まれており、これは摩擦テンソルとしても知られています(例:https://doi.org/10.1103/PhysRevLett.108.190602 参照)。摩擦テンソルは、座標空間におけるメトリックを定義し、このメトリックの局所的な体積要素は、どの領域に、より多くのまたはより少ないサンプリングが必要かを判断するための有用な指標となります。
動的な修剪を備えたデュアルペアリストバッファ¶
GROMACS シミュレーションエンジンは、Verletバッファが自動的に決定される場合(これはデフォルトの設定)、新しいデュアルペアリストアルゴリズムと動的な刈り込みを使用します。これにより、ペア検索(およびドメイン分割)の頻度をさらに減らしながら、大きなVerletバッファと、以前から内在していた短距離非相互作用カーネルにおける計算コストの増加を回避できます。これは、「外側の」ペアリストをまれに構築することで実現され、このリストには、リストのほとんどの期間にわたって、ほとんどのペアがカットオフ範囲外に含まれています。このようなペアは、数ステップごとに非常に効率的に刈り込み、それにより、より短い寿命を持つ「内側の」ペアリストを構築し、同時に、指定された許容範囲内で対応する短いVerletバッファを使用します。これにより、非相互作用カーネルで使用されます。これにより、シミュレーションの実行が、「nstlist」パラメータの調整に対する感度を大幅に軽減できます。GPU上で短距離相互作用を実行する場合、動的な刈り込みはCPUでの積分とオーバーラップされるため、通常は無料です。この機能は、シミュレーション速度、ハードウェアの利用率、および電力消費をすべて向上させます。
物理検証スイートを追加¶
これらのテストでは、シミュレーションの系列における短いシミュレーションを実行し、シミュレーション間のエネルギー分布など、期待される統計的特性を検証します。これは、コードが期待されるアンサンブルを正しくサンプリングしていることを確認するための、非常に重要なテストです。
すべてをローカルで実行するには(これには数時間かかる場合があります!)、次の手順に従ってください。
cmake -DGMX_PHYSICAL_VALIATION=ON ..
make
make check-phys-run
現在、スクリプトはいくつかのシステムで動作しており、NVEシステムにおけるエネルギー保存の収束を確認し、いくつかの熱安定化および圧力安定化アルゴリズムによって生成されたアンサンブルを評価しています。 今後、より幅広い設定をカバーする他のシステムとアンサンブルを追加していく予定です。
結合アルゴリズムの計算結果に、保存される量に関するレポートを追加¶
システム上で適用される一部のカップリングアルゴリズム(Berendsen圧力、Berendsen温度、およびParrinello-Rahman圧力)によって計算および統合されるワークは、参照マニュアルに記載されている数式を使用します。
VCMモードの加速補正機能を追加¶
新しい mdp オプションを追加して、中心の質量に関する運動速度を削除し、中心の質量の位置を修正します。これは、絶対参照を使用してグループを引く場合に役立ちます。
変更された gmx mdrun -gpu_id の処理¶
より多くのコードをGPUにオフロードできるようになったため、タスクの割り当てはより複雑になり、今後さらに複雑になる可能性があります。`-gpu_id`コマンドラインオプションは、ユーザーが自動タスク割り当ての際に利用できるGPUを制限できるようにするものであり、これは``CUDA_VISIBLE_DEVICES``環境変数に似ています。ただし、完全な制御が必要な場合は、``gmx mdrun -gputasks``を使用できます。このコマンドと使用方法については、ユーザーマニュアルに記載されています。
1x1 のペアリスト構成に対応したログ出力を追加¶
GROMACS の NxM 設定は、他のコードのより単純な 1x1 スキームよりも短いペアリストバッファを使用できるため、ログファイルには、パフォーマンスおよび正当性の比較を行うユーザーを支援するために、同等の設定が報告されるようになりました。
新しい電場入力のためのMDP¶
EW3DC は非ニュートラルなシステム向け¶
Ballenegger, Arnold, および Cerdaによる修正(J. Chem. Phys. 131, 094107 2009、https://doi.org/10.1063/1.3216473を参照)を追加しました。また、適切な選択を行うための参考として、https://doi.org/10.1021/ct400626bを参照することを推奨します。Ewaldを用いたイオン化されたシステムに関するgromppでの警告を追加しました。
SETTLEにおける丸め誤差を削減¶
「SETTLE」のパラメータは、現在、倍精度で計算されるようになり、これにより、系統誤差が低減されます。
「gmx mdrun -pforce」を、無限の力で終了するように変更しました。¶
:ref:`gmx mdrun`オプション `-pforce は、非有限の力を出力するために使用されていましたが、そのような力が検出された場合でも実行は終了しませんでした。現在、致命的なエラーが発行されます。