Dear Ulf,
Thank you for your detailed response. You are of course correct
regarding the relaxation time. I was a bit sloppy in my
language/thinking. I meant to make a different argument, which I'll
explain below.
The reason I thought that getting rid of inertia might speed up things
is that it would allow for a larger time step because it doesn't have to
resolve transients like Verlet integration does. Consider, for example,
a particle starting at some speed v0, subject only to drag, which will
of course eventually stop (steady state). For Verlet integration to be
stable, it needs to resolve this transient; quantitatively, if the
friction force is gamma * m* v (depending on the version of Espresso,
the factor of m may or may not be there), we have gamma * v = delta v /
delta t, which implies a stability condition gamma * delta t << 1 (~
0.1 ).
I don't care about these transients, as they are extremely short-lived
in truly overdamped systems. So, if my reasoning is correct, the pitfall
of Verlet integration is that it forces you to resolve these really
short timescales, leading to long run times when dealing with heavily
damped systems. In contrast, if you remove inertia and just get the
velocity from the force it seems like you should be able to make the
time step larger. Whereas with Verlet integration your step size would
be, delta t ~ 0.1*tau_transient, now you can potentially have delta t ~
tau_transient or larger.
That's the argument I had in mind. I've implemented my own code for one
of the simpler problems I'm working on (that doesn't take that long to
run with Espresso) and it's doesn't seem like I get a significant
speedup. Perhaps because there are still stability conditions (such as
delta x has to be small so that forces don't change significantly) which
limit how much I can increase the time step. So, overall, I suspect you
are right that I should not expect a significant speedup.
Thanks,
Edvin