5. Nose-Hoover Method
5.1 Temperature Controll
熱力学における自然な変数には、内部エネルギーや圧力、体積、温度やエントロピーなどがある。これらの変数は示量性の量と示強性の量にわけることができる。さて、「お互いにかけてエネルギーになる示量性の量と示強性の量の組」は共役な量と呼ばれる。
例えば体積
さて、世の中の量は「a priori」に認める量と、その量から導かれる量の二種類があるのであった。我々は一般に示量性の量をa prioriに認めることが多い。例えば「長さ」は知っているものとするから、体積
分子動力学法では、示強性の量を制御したい場合がある。先ほど、圧力
では、温度
いずれにせよ、「温度の制御」は、何を制御した結果が温度が制御されているのか、あまり自明でないことは指摘しておきたい。
さて、熱力学、統計力学などで、系のサイズが大きくなると、ミクロカノニカルとカノニカルの差が小さくなることを学んだであろう。従って、もし事前に所望の温度
しかし、そのためには、任意の温度におけるエネルギーの期待値がわかっていなければならない。
温度とエネルギーの関係は、比熱(specific heat)
で表される。したがって、温度
で与えられる。
さて、エネルギーの期待値は分配関数
で与えられる。すなわち、比熱の温度依存性
もちろん、通常は分配関数をあらかじめ求めることは困難であるから、比熱の温度依存性もシミュレーションを行う前にはわからない。従って、ある温度
これまで、多くの温度制御法が提案されてきた。
- Velocity Scaling
- Gaussian Thermostat
- Berendsen Thermostat
- Nose-Hoover Thermostat
- Langevin Thermostat
このうち、現在でも広く用いられているのはBerendsen、Nose-Hoover、そしてLangevinであろう。以下では、Nose-Hoover法について説明する。
5.2 Nose-Hoover Method
5.2.1 Nose’s Hamiltonian to Nose-Hoover Method
Andersenの方法では、系のサイズパラメタをスケールすることで圧力を制御した。同様に、能勢は時間をスケールすることで温度を制御する方法を考案した。
能勢のハミルトニアンは以下で与えられる。
運動方程式は以下の通り。後で時間のスケールをする都合上、時間微分を陽に書いている。
ただし、
能勢の方法は、スケール変換された現実の系が指定温度のカノニカル分布に従うというものだが、時間のスケーリングが煩雑であった。そこで、HooverはNoseの運動方程式を変形し、簡単な形にした。
ここで、
まず、
時間を
次に、
時間を
ただし
次に、
時間を
さて、あらためて
5.2.2 Nose’s Conserved Quantity
先程の運動方程式は
もともと能勢のハミルトニアンはこのような形であった。
この、最後の
さらに
これも含めれば運動方程式は、
となる。
が時間不変量になっていることがわかる。もともと能勢の方法では、ハミルトンの運動方程式に従うために、能勢のハミルトニアンが保存量となっていたのだが、変数変換を行ってハミルトンの運動方程式でなくなった今でも、これは時間不変量のままとなっている。この量を能勢の保存量、もしくはNose-Hoover保存量と呼ぶことがある。
5.2.3 Different way to derive Nose-Hoover method
先程は能勢のハミルトニアンから導出された運動方程式を、変数変換することでNose-Hoover法が導出された。以下では逆に、「定常状態として指定の温度のカノニカル分布が実現するとしたら、運動方程式はどのような形でなければならないか」を考えてみよう。以下、簡単のために一自由度系を考える。
今、カノニカル分布を実現したいハミルトニアン
である。ただし、
さて、この分布を直接実現するのは難しそうなので、自由度
を考えよう。
さて、拡大された位相空間
とりあえずハミルトニアンの運動方程式をなるべく修正しない方向で検討しよう。温度制御のため、運動量
我々の目標は、このダイナミクスが拡張された空間でのカノニカル分布
いま、位相空間が
もし
ここで、
であることに注意して、一つ一つ愚直に計算していくと、
となる。整理すると、
が満たされなければならない。ここで、ハミルトンの運動方程式由来の項が消えていることに注意しよう。ハミルトンの運動方程式が作る流れは非圧縮であるので、圧縮性流れに寄与しない。
さて、逆に上式が満たされれば、どのような
まず、簡単のために
となる。次に、
となる。
以上から、運動方程式は
これはNose-Hoover法にほかならない。要するにNose-Hoover法とは、
- 系に一つ自由度
を追加し、 - 自由度を追加した世界でのカノニカル分布を実現するように運動方程式を修正したもの
に過ぎない。そこになんらかの物理的な意味を認めるかどうかは、研究者の間で意見が別れている。
5.2.4 Nose-Hoover Conserved Quantity
さて、Nose-Hoover法には、Noseのハミルトニアンに由来する保存量がある。この量を知らないものとして、導出してみよう。
まず、Nose-Hoover法が実現する、拡張された空間におけるカノニカル分布は以下のように書かれる。
ここで
に対するカノニカル分布に見える。そこで、この拡張されたハミルトニアンの時間微分を計算してみよう。
ほとんどの項がキャンセルするのだが、最後に少しゴミが残る。そこで、時間微分がこのゴミとキャンセルするような新たな自由度
定義から自明だが、
5.3 Problems on Nose-Hoover method
Nose-Hoover法は実装が容易であり、他の熱浴(例えばVelocity Scaling法やBerendsenの方法)と違って厳密にカノニカル分布を定常状態に持つことから広く使われている。しかし、Nose-Hoover法で温度制御された系が、意図する状態にならない場合がある。広く知られているのは調和振動子にNose-Hoover法を適用するとエルゴード性が破れる例だが、他にもいくつか問題がある。以下ではNose-Hoover法を使う上での注意点について述べる。
5.3.1 Ergodicity of the Nose-Hoover Method
Nose-Hoover法が保証するのは「位相空間をボルツマン重みに比例して走る」ということだけである。さらに「軌道が位相空間をくまなく走る」という条件が満たされて初めて、定常状態が指定温度のカノニカル分布となる。この条件をエルゴード性と呼ぶ。
エルゴード性の定義は難しい。一般的には、時間平均とアンサンブル平均が等しいことを持ってエルゴード的であると定義する。逆に、時間平均とアンサンブル平均が一致しない場合、「エルゴード性が破れている」と表現する。厳密さを犠牲にした表現をすれば、力学系において「長時間極限で到達可能性のある領域全てに到達可能」であればエルゴード的、そうでなければ非エルゴード的と呼ぶ。
さて、Nose-Hoover法は条件によってはエルゴード性を失うことが知られている。以下では、エルゴード性を失うとはどういうことか、エルゴード性はなぜ失われるか、どうすればエルゴード性を回復するかを見てみよう。
一次元調和振動子系にNose-Hoover法を適用してみよう。質量を
さて、この運動方程式が、
まず、ハミルトンの運動方程式由来の流れは以下の通り。
この系は
Nose-Hoover法として追加された流れ場は以下の通り。
よく見ると、この微分方程式は変数分離形になっているために求積できる。
ここから、以下の時間不変量を得る。
これは
以上をまとめると、調和振動子+Nose-Hoover系は位相空間に以下のような流れ場を作っている。

さて、調和振動子系のハミルトニアンは
に従うことだ。ここで、エネルギーが高ければ高いほど、その分布の実現確率は指数関数的に低くなるが、ゼロではないことに注意したい。これから、調和振動子系にNose-Hoover法を適用すると、系に非自明な保存量が構築され、その結果としてエネルギーに下限、上限ができるためにカノニカル分布が実現しないことを示す。
まず、
ここから
まず、
以上から、
ここで、
これは
ここから直ちに以下の時間不変量(第一積分)を得る。
さて、
ここで

もともと
ここでは
たまに、エルゴード性が破れるのは系が単自由度である場合であり、多自由度系であれば問題ない、といった誤解を見かける。しかし、エルゴード性が破れるのは追加自由度
この問題は早くから認識され、エルゴード性を回復する手法が提案された。最も簡単には、熱浴自由度を追加してしまう方法が考えられる。
代表的なものの一つはKinetic-Moments法で、これは
5.3.2 Non-uniform Steady State
Nose-Hoover法の問題として調和振動子でエルゴード性が破れる現象が有名であるが、実用上では他の現象が問題となることの方が多い。そのうちの一つは、「系の温度が非一様のまま定常状態となる」問題だ。
Nose-Hoover法が制御するのは「系全体の温度」つまり平均温度である。従って、平均温度が指定の温度になっていればNose-Hoover法から見れば温度が制御できているように見える。しかし、なんらかの原因により高温の領域と低温領域にわかれてしまい、それが定常化する場合がある。
典型例は相分離する系である。例えば液滴と気相の共存状態を作ろうとして、最初に真空中に液滴を置いて蒸発させることで定常状態を作ろうとすると、液滴は気化熱により温度が下がり、その分Nose-Hoover法は全体の温度を上げて対応しようとするため、低温の液滴と高温の蒸気に分かれて安定化してしまう。液滴と蒸気の相互作用は非常に弱いため、現実的な時間では温度が一様にならない。

上図は、二種の合金が相分離した例だ。Nose-Hoover法は全体だけを見て温度を制御した気になっているが、実はA原子とB原子それぞれの温度を見ると、異なる温度で固定されてしまっている。Langevin系では、全体も、A、B原子個別に見ても同じ温度に緩和していることがわかる。
この問題は、Nose-Hoover系のみならず、系全体の平均運動エネルギーを制御する熱浴(Velocity-Scaling, Berendsen, Kinetic-Momentsその他の他自由度熱浴)全てで起きる可能性がある。なお、Langevin熱浴は各自由度ごとに制御がかかるため、このような問題は生じない。
5.3.3 Non-trivial Oscillation
Nose-Hoover法は、新たに追加した自由度

上左図は、熱浴をつけてない場合とつけた場合の系の温度の時間発展だ。熱浴をつけていない系はおよそ1.3の温度を持つが、熱浴で
この温度の時間変化をフーリエ変換し、パワースペクトルを見てみよう。熱浴をつけていない場合は、原点に強いピークが立つが、それ以外の成分はほとんどゼロ、すなわちこの系の温度ゆらぎは、ほぼホワイトノイズとみなすことができる。
しかし、熱浴をつけた場合は、スペクトルに熱浴由来のピークが立つ。静的な性質を調べている場合はあまり問題とならないが、何かのゆらぎやスペクトルを調べている場合には、熱浴由来の振動と干渉しないように十分に注意しなければならない。この問題は温度を一階の遅れで制御するNose-Hoover系特有の問題であり、Velocity-Scaling法やBerendsen法では起きない。
5.3.4 Slow relaxation of Configuration Temperature
温度には「運動温度(Kinetic Tempearture)」と「状態温度(Configuration Temperature)」があることは既に述べた。それぞれ
と定義され、カノニカル分布について部分積分すると上記の式が証明できる。これらは平衡状態では一致するが、非平衡状態では一般に一致しない。
我々が温度依存性を知りたいのは、運動エネルギー部分ではなく、状態部分であることが多い。Nose-Hoover法を始めとする多くの熱浴は、運動温度を制御することで、「そのうち状態温度も指定の温度に緩和するだろう」ということを期待するが、一般に運動温度に比べて状態温度の緩和は遅い。

上図は、FCCに組んだLJ原子系の運動温度と状態温度の緩和を見たものだ。なお、温度制御はしておらず、純粋にハミルトンの運動方程式を解いている(そのため、運動温度が振動していない)。二つの温度は最終的に一致するが、二つの温度が異なることがわかるであろう。
特に系が相分離する場合や、ガラス系に見られるような遅い構造緩和を持つ場合は、状態温度の緩和は非常に遅くなる。このような時、運動温度しかモニターしていないと、自分が意図する温度とはずれた状態温度における振る舞いを観測してしまうので注意が必要である。
この問題は、決定論熱浴だけでなく、Langevin法などの確率的熱浴でも起こり得る。