私は、アレンとティルデスリーによる「液体のコンピューターシミュレーション」という本を読んでいます。71ページ以降、著者は分子動力学(MD)シミュレーションでニュートンの運動方程式を統合するために使用されるさまざまなアルゴリズムについて説明します。78ページから、著者はVerletアルゴリズムについて議論します。これはおそらくMDの標準的な統合アルゴリズムです。彼らは述べています:
おそらく、運動方程式を統合する最も広く使用されている方法は、Verlet(1967)によって最初に採用され、Stormer(Gear 1971)に起因するものです。この方法は、二次方程式の直接解である。方法はpostionsに基づいて、加速度a (tで)、そして位置rを(T - δ T )前のステップから。位置を進める方程式は次のようになります。
eqn(3.14)について注意すべき点がいくつかあります。速度がまったく表示されないことがわかります。についてテイラー展開によって得られた方程式を追加することにより、それらは削除されました。
次に、後で(80ページ)、著者は次のように述べています。
Verletアルゴリズムに対して、...アルゴリズムの形式は、不必要に数値の不正確さをもたらす可能性があります。これが発生する、ためEQN(3.14)、小用語(IN )大用語の差に加算され(Oの軌道を生成する)、順序。
私は"小用語"であることを推測、及び"大用語の違いが" 2 、R(T )- R。
私の質問は、大きな用語の違いに小さな用語を追加すると、なぜ数値の不正確さが生じるのかということです。
浮動小数点演算の詳細にまったく精通していないため、かなり基本的な概念上の理由に興味があります。また、この質問に関連する浮動小数点演算の基本的な考え方を紹介する「概要タイプ」の参照(書籍、記事、またはWebサイト)を知っていますか?御時間ありがとうございます。