分子動力学(MD)の理論

    Loading...

## 温度制御(Thermostat)

### Velocity Rescaling

Velocity Rescaling

系の現在の温度を TT'、目標温度を TT とするとき、ステップごとに速度(運動量)にスケーリング定数 s=T/Ts = \sqrt{T / T'} を乗じて系を補正する。

NN 個の粒子について、Velocity Verlet による粒子 ii の速度の時間発展を考える:

vi(t+Δt2)=vi(tΔt2)+Fi(t)miΔt{\bm{v}_i}' \left(t + \frac{\Delta t}{2}\right) = \bm{v}_i \left(t - \frac{\Delta t}{2}\right) + \frac{\bm{F}_i (t)}{m_i} \Delta t

時刻 t+Δt/2t + \Delta t / 2 において vi{\bm{v}_i}' に対応する温度を TT' とするとき、運動エネルギーは

12imivi2(t+Δt2)=32NkBT\frac{1}{2}\sum_i m_i {\bm{v}_i}'^2\left(t + \frac{\Delta t}{2}\right) = \frac{3}{2} N k_\mathrm{B} T'

の関係をもつ。この瞬間の系の目標温度を TT、目標速度を vi(t+Δt/2)\bm{v}_i (t + \Delta t / 2) と定めるとき、系の速度 vi{\bm{v}_i}' をスケーリング定数 ss を用いて次のように補正する:

vi(t+Δt2)=svi(t+Δt2){\bm{v}_i} \left(t + \frac{\Delta t}{2}\right) = s {\bm{v}_i}' \left(t + \frac{\Delta t}{2}\right)

この時刻において、運動エネルギーについて、

12imivi2(t+Δt2)=12s2imivi2(t+Δt2)\frac{1}{2}\sum_i m_i {\bm{v}_i}^2\left(t + \frac{\Delta t}{2}\right) = \frac{1}{2}s^2\sum_i m_i {\bm{v}_i}'^2\left(t + \frac{\Delta t}{2}\right)

すなわち

32NkBT=32s2NkBT\frac{3}{2} N k_\mathrm{B} T = \frac{3}{2} s^2 N k_\mathrm{B} T'

の関係が成り立つから、

s=TTs = \sqrt{\frac{T}{T'}}

として系を補正できることがわかる。

### Berendsen Thermostat

Berendsen Thermostat

瞬間の温度 TT' が目標温度 TT に緩和する速度を、緩和時定数 τ\tau をパラメータとして、

dTdt=TTτ\frac{dT'}{dt} = \frac{T - T'}{\tau}

が成り立つように制御する。

### Nose-Hoover Thermostat

Nose-Hoover Thermostat

系が温度 T0T_0 の熱浴と平衡に熱平衡にあると考え、熱浴とエネルギーをやり取りする付加自由度 ζ\zeta を加える。

熱浴の温度を T0T_0、質量を QQ とするとき、Hamilton 運動方程式は、

dqidt=pimi\frac{d\bm{q}_i}{dt} = \frac{\bm{p}_i}{m_i} dpidt=Fiζpi\frac{d\bm{p}_i}{dt} = \bm{F}_i - \zeta \bm{p}_i dζdt=1Q(TT0)\frac{d\zeta}{dt} = \frac{1}{Q} (T - T_0)

Discussions