💬

熱力学積分法に関する初歩的なメモ

2023/06/10に公開

当たり前の話かもしれません。

熱力学積分法(TI)とは?

プロンプト:

分子シミュレーションによって自由エネルギーを求める手法の1つに熱力学積分法があります。この手法について200字程度で概要を記載してください。読者は分子シミュレーションの基本的な知識があることを想定してかまいません。

回答(GPT-4):

熱力学積分法は、分子シミュレーションによる自由エネルギーの計算手法の一つで、相間のエネルギー差を直接計算します。この手法では、パラメータλにより一つの相からもう一つの相へと連続的に変化させる方法を用います。λ=0では初期相、λ=1では最終相を表現します。これらの間でλを微小変化させながらエネルギーを計算し、それらを積分することで自由エネルギーの差が求められます。この手法の利点は精度が高い点でありますが、計算コストが大きいという欠点もあります。また、適用可能なシステムは特定の状態間の変化をスムーズに表現できるものに限られます。

TIの式

実際には熱力学積分法は次のように表現される。\Delta Fはヘルムホルツ自由エネルギー、\lambdaは結合パラメータ、Hはハミルトニアンである。\lambdaは関心のある変数で、例えば物質間の距離だったり、相互作用の大きさだったり様々である。

\Delta F = \int_{0}^{1} \frac{\partial F}{\partial \lambda} d\lambda = \int_{0}^{1} \langle \frac{\partial H(\lambda)}{\partial \lambda} \rangle d\lambda

実際にTIで自由エネルギー計算を行う場合は↑の式に従って、H(\lambda)の平均を計算して積分していけばよい。

なぜ自由エネルギー差が積分になるのか?

そもそも自分は根本的に

\Delta F = \int_{0}^{1} \frac{\partial F}{\partial \lambda} d\lambda (1)

この式はどこから登場しているのか?自由エネルギー"差"なのになぜ\lambdaに関する積分になるのか良くわかっていなかった。が、少し考えてみるとすごく当たり前のことであることに気づいた。

シンプルなモデルとしてバネが伸びる前後のエネルギー変化に置き換える。平衡長からx伸びたバネの力はf(x)=kx、エネルギーはU(x)=\frac{1}{2}kx^2となる。バネがx_1からx_2に変化したときのエネルギー変化\Delta Uは、

\Delta U = U({x_2}) - U({x_1}) = \frac{1}{2} k({x_2}^2-{x_1}^2)

となる。これは積分形式で書くこともできて、

\Delta U = \int_{x_1}^{x_2}f(x)dx = \int_{x_1}^{x_2}\frac{U(x)}{dx}dx

となる。これはTIの式と同様であることがわかる。図で書くと

こんな感じ。ここではバネの例としてある状態のエネルギーが解析的に求められるため、2つの状態のエネルギー差を比べても、力の積分としてみても大差ない(むしろバネの場合は直接エネルギーを比べるほうが楽)だが、分子シミュレーションではある状態のFを直接求めるのは非常に難しい。さらに、現実で関心があるのはFの絶対値ではなく、\Delta Fであることがほとんど。\Delta Fを↑の力の積分のような見方をすることで、現実的に計算が可能になる、ということだろう。

終わりに

考えてみればごく初歩的な話でそりゃわざわざ紙面を取って書くほどの内容ではないな・・・、と再認識しました。

Discussion