118 Microcanonical ensemble
exp(iL∆t) = exp
(
∆t
2
Fslow
∂
∂p
)
×
[
exp
(
δt
2
Ffast
∂
∂p
)
exp
(
δt
p
m
∂
∂x
)
exp
(
δt
2
Ffast
∂
∂p
)]n
×exp
(
∆t
2
Fslow
∂
∂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
(
δt
p
m
∂
∂x
)
exp
(
δt
2
Ffast
∂
∂p
)]n
exp
(
∆t
2
Fintermed
∂
∂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.