118 Microcanonical ensemble
exp(iL∆t) = exp(
∆t
2Fslow∂
∂p)
×
[
exp(
δt
2Ffast∂
∂p)
exp(
δtp
m∂
∂x)
exp(
δt
2Ffast∂
∂p)]n×exp(
∆t
2Fslow∂
∂p)
. (3.11.10)
In eqn. (3.11.10), two time steps appear. The large time step ∆tis chosen according
to the natural time scale of evolution ofFslow, while the small time stepδtis chosen
according to the natural time scale ofFfast. Translating eqn. (3.11.10) into a set of
instructions yields the following pseudocode:
p=p+ 0. 5 ∗∆t∗Fslow
for i = 1 to n
p=p+ 0. 5 ∗δt∗Ffast
x=x+δt∗p/m
Recalculate fast force
p=p+ 0. 5 ∗δt∗Ffast
endfor
Recalculate slow force
p=p+ 0. 5 ∗∆t∗Fslow. (3.11.11)RESPA factorizations involving more than two time steps can be generated in
the same manner. As an illustrative example, suppose the forceF(x) is composed of
three contributions,F(x) =Ffast(x)+Fintermed(x)+Fslow(x), with three different time
scales. We can introduce three time stepsδt, ∆t=nδt, and ∆T=N∆t=nNδtand
factorize the propagator as follows:
exp(iL∆T) = exp(
∆T
2
Fslow∂
∂p){
exp(
∆t
2
Fintermed∂
∂p)
[
exp(
δt
2
Ffast∂
∂p)
exp(
δtp
m∂
∂x)
exp(
δt
2
Ffast∂
∂p)]nexp(
∆t
2Fintermed∂
∂p)}N
exp(
∆T
2
Fslow∂
∂p)
. (3.11.12)
It is left as an exercise to the reader to translate eqn. (3.11.12) into a sequence of
instructions in pseudocode. As we can see, an arbitrary number ofRESPA levels
can be generated for an arbitrary number of force components,each with different
associated time scales.