修正されたバグ

パリンネロ-ラーマンとノーズ-フーバー法で複数の時間ステップを修正しました。

これらは、正しい「トロッター」スタイルで動作し、一度適用され、正しいステップ数でスケーリングされます。

修正:`2031

Berendsen の圧力カップリングを、nstpcouple ステップでのみ適用

Berendsen の圧力を適用する手順が誤って繰り返されていたため、現在は nstpcouple の手順のみに適用するように変更しました。これにより、Berendsen の圧力を適用する際の古いチェックポイントファイルからの継続が不可能になります。これは、前の手順の圧力の情報が保存されなくなっているためです。

PME-User 用の Ewald 補正が追加されました

:mdp-value:`coulombtype=PME-User を指定した場合、Ewaldメッシュのエネルギーが差し引かれていないため、結果として非常に不正確なクーロンエネルギーと力が計算されます。

修正:2286

壁のdV/dlambdaに関する誤りを修正

壁の自由エネルギー導関数 dV/dlambda は、非壁原子の種類を変更することで変動する可能性があり、それによって生じる B 状態の寄与のみを含んでいた。

修正:2267

OpenMP のサポート: オリエンテーション制約

以前は動作していなかったが、現在は修正され、テストおよびサポートされています。

修正:方向制限の参照

分子のCOM(中心)を、参照構造への適合のために方向制約付きでリセットする際、参照構造のCOMを使用するのではなく、瞬間の構造を使用していました。これは制約(アンサンブル平均を使用しない場合)には影響しませんが、出力される方向テンソルには影響します。

修正:2219

使用されたグラフにおける方向制約

デフォルトでは、Verletカットオフスキームにより分子は完全には形成されません。ただし、方向制約を使用すると、分子は完全には形成されます。方向制約を使用した正しいPBC(周期性境界条件)処理のためのチェックとアサーションを追加しました。

修正:2228

Ekinをステップ0でCOMを取り外して修正

ステップ0における運動エネルギーは、中心質量速度を除いた速度から計算されました。これにより、運動エネルギーに比較的大きな変動が生じる可能性があり、特に小さなシステムでは顕著です。現在、COM(中心質量)を除いた状態で`compute_globals`が2回呼び出されるため、正しい運動エネルギーを計算できます。

修正:gmx grompp を Andersen の大規模計算と COM の削除なしで動作するように修正

浮動小数点例外によるセグメンテーション違反を修正しました。また、Andersen massiveの区間の丸め方の違いを修正しました(:ref:`gmx grompp`におけるmdrunの一般的なケースで、tau-tがdelta-tの倍数の場合に)。

修正:2256

Verlet バッファ制約の推定を改善

制約された原子(通常はH)が、COMを中心にパートナー原子と一緒に回転する場合の、位置ずれの推定値が、現在正しく導出され、文書化されています。 ただし、私たちが(現在も)使用しているのは、分散が一致したガウス関数であり、これは不必要な大きなバッファにつながります。なぜなら、位置ずれ分布の尾がバッファのサイズを決定し、ガウス関数には長い尾があるのに対し、実際の分布には尾がないからです。

OW という名前でない水酸化物の仮想サイト生成を修正

gmx pdb2gmx が仮想サイトを生成する際に、水原子が「OW」という名前で指定されていない場合にエラーになる問題を修正しました。現在は、原子番号で確認するように変更しました。

修正:2268

マルチスレッドとMPIにおける、方向制約のためのスレッド/MPIランクの選択を修正

単一のランクのみがサポートされているため、スレッドとMPIコードはそれに基づいて選択されます。後で別のチェックが行われ、マルチランクのMPIケースを検出します。

修正しました:gmx solvate に関するいくつかの誤った動作

gmx solvate は、非正方形の溶媒ボックスを正しく複製することができません(複数の場所で、対角ボックス行列を想定しているため)。そのような場合に、致命的なエラーを表示するようにします。トリキリンボックスでの一部の使用をサポートするために、溶媒とターゲットボックスのサイズがすでに等しい場合は、複製ステップをスキップします。

一般的なトリキリン形状の箱に対するサポートは、個別に実装できます。また、ここで導入されたチェックは、ターゲットの箱サイズが同じ場合でも、事前に平衡状態になった溶媒箱を維持するために役立ちます。

関連する修正:Issue 2148

再現可能なノードにおけるDD形式の正確な継続を修正

ドメイン分割を使用する場合、ソートに使用する検索グリッドの原子密度は、隣接するセルに移動される可能性のある原子/電荷グループを含む、局所的な原子数を基準としていました。これにより、異なる密度値が生じ、結果として異なる数の検索グリッドセルが生じ、また、原子が移動されない場合に、チェックポイントから実行を再開した場合とは異なる合計順序になる可能性があります。この違いは、「mdrun -reprod」の意図を逸脱しており、現在は修正されています。

参照:修正:2318

mdrun コマンドで -reprod オプションを使用した場合、mdrunnstlist ステップで停止するように変更されました。

「mdrun」を2つのINTまたはTERMシグナル(例:ターミナルシェルからのCtrl-C)で停止すると、常に最初のグローバル通信ステップの直後で停止することがありました。しかし、これにより正確な再実行が妨げられていました。現在、「mdrun -reprod」を使用すると、2番目のシグナルもペアリストの生成ステップで停止しますが、最初のシグナルと同様に、正確な再実行が可能です。

修正:`2318`番の問題

GPU検出をサポートする機能の確認を、GPUデバイスの検出前に追加

CUDAに対応したバイナリを、CUDAドライバが利用できないノードで実行した場合、CUDAドライバのバージョンが不足しているという警告が表示されていましたが、これは誤りで、現在は修正されています。

修正:2322

OPLS の ffbonded.itp ファイルから重複した行を削除

`uniq`を使用して同一行が削除されました。

修正:`1678`番の問題。

mdrun は、最大値にある NVML クロックに関する警告を表示しなくなった

もし時計がすでに最大値になっている場合、設定できないことを示す警告を出すことは意味がありません。

修正:`2313`番の問題。

tpx比較のために、デフォルトの許容範囲を減らしました。

gmx チェック の許容範囲は、主にわずかな統計的なずれを処理するために用意されていますが、TPRファイル間の違いを隠してしまう可能性があります。特に、ユーザーが正確なチェックを行いたい場合、例えばレンナー・ジョーンズパラメータなどの小さな量に対しては、デフォルトの相対許容範囲を 0.000001 に、絶対許容範囲を 0 に設定することで、コンパイラ最適化によるわずかな違いのみを許可します。

修正:`2024`番の問題。

フレーム読み込み関数の戻り値の修正

この関数は、read_first_x を使用して原子数を取得するように設計されており、同様にドキュメント化されていましたが、常にフレームが読み取られたかどうかを示す論理的なブール値を返していました。これにより、gmx spatial および gmx trjcat -demux の機能が損なわれる原因となりました。

修正により、適切なbool値を返すように修正し、残りのロジックで返り値を非ブール値として使用していた問題を修正しました。

参照:2157

グループスキームを使用してTPRを生成する前に、PBCを削除

グループスキームを使用する場合、分子がすべて完全に結合されていることを確認してから実行入力ファイルを生成してください。これにより、PBCの境界をまたいで分子が分割された場合に、大きな電荷グループでエラーメッセージが発生するのを防ぐことができます。

修正:2339

gmx_spatial で発生する PBC のエラーを修正

修正:`2157`番の問題。

gmx velacc のパワースペクトルオプションについてドキュメント化

修正:`2019`番の問題。

gmxクラスタの使用時に.tprファイルが必要となるように変更

プログラムがクラッシュする可能性があったため、これは必須でした。

修正:`2170`番の問題。

gmx trjcat で使用できる ASCII 形式は制限されています

gmx trjcat は、意図的に .tpr ファイルを使用しないため、原子/残基の名前が必要な .gro や .pdb などの軌道形式のファイルを処理できません。

修正:`2225`番の問題。

改善された grompp の「パラメータが不足」エラーメッセージ

もし、インタラクションのエントリにパラメータが含まれていたが、関数型が指定されていなかった場合、エラーメッセージが分かりにくくなっていました。ただし、関数型が1つだけ実装されていても、そのフィールドは依然として必須であり、これにより容易な拡張が可能になります。

参照:2144

最初のステップで、大きなエネルギーの有無を確認

また、致命的なエラーメッセージにステップ番号を追加しました。

修正:`2333`番の問題

PME-ユーザーとverletカットの組み合わせは許可されていません

修正:`2332`番の問題

動的な実行時でない場合に、終了時に混乱を招くメッセージを回避

エネルギー最小化、テスト粒子の挿入、固有値解析などの最適化対象ではない機能については、パフォーマンスに関するレポートを作成しないため。このコミットは、パフォーマンスレポートがないことを通常であり、ユーザーに警告する機能の欠陥を修正しています。

修正:2172

-ntomp を設定し、GPU を使用する場合に、-ntmpi が必須に変更されました。

GPUとthread-MPIを使用する場合、「gmx mdrun -ntomp」のみを指定すると、ハードウェアのスレッドが過剰に割り当てられる可能性があります。現在、GPUとthread-MPIを使用する場合は、-ntomp`を使用する際に-ntmpi`も指定する必要があります。ここでは、ユーザーが`-nt`と`-ntomp`の両方を指定した場合にも、-ntmpi`を明示的に指定するようにしました。-ntmpi`と`-nt`の両方を指定しても、以前から正常に動作していました。

修正:2348