[lammps-users] How to quench a system to 0 K

Hi,

what do you think is the best way of quenching a system to 0K ?

Say I have a simple crystalline system that I want to cool down to 0K slowly
starting at 300K. The pressure should be kept 0 at all times, i.e. I also
want to use pressure control to relax the simulation cell as well as the
atomic positions.

The normal NPT fix doesn't work since 0K cannot be used as a target
temperature. When I use it, LAMMPS stops with an error message at some point
when the temperature falls below a critical temperature.

So what is your recommendation? Should I better use the temp/rescale or the
langevin fix? But what about physical correctness? I thought that the
Nose/Hoover thermostat is the best choice because it affects the ensemble
statistics as little as possible...
I think cooling a system down to 0K is a very common problem so there should
be plenty of experience here in the LAMMPS users community. Maybe you any
advice for me.

I used to work with another MD code that implements the Berendsen thermostat
which allows 0K as target temperature and is physically realistic at the same
time. I would be very happy to see this thermostat being implemented in
LAMMPS at some time.

Regards
Alex

Hi,

what do you think is the best way of quenching a system to 0K ?

hi alex,

i guess that depends a lot on the properties of your system.
if you have a rugged potential hypersurface, it will be
difficult, otherwise a simple geometry/cell optimization should do.

[...]

So what is your recommendation? Should I better use the temp/rescale or the
langevin fix? But what about physical correctness? I thought that the

in terms of physical correctness, you also have to consider the
correctness of the potentials that you are using over the whole
temperature range. many effective pair potentials are parameterized
for a target temperature and work reasonably well only in a range
around this.

Nose/Hoover thermostat is the best choice because it affects the ensemble
statistics as little as possible...
I think cooling a system down to 0K is a very common problem so there should
be plenty of experience here in the LAMMPS users community. Maybe you any
advice for me.

I used to work with another MD code that implements the Berendsen
thermostat which allows 0K as target temperature and is physically
realistic at the same time. I would be very happy to see this
thermostat being implemented in LAMMPS at some time.

implementing a berendsen thermostat/barostat should be extremely
simple and straightforward based on the existing thermostats.
however, a more efficient way would be to have a damped dynamics,
which puts a larger friction on faster atoms and thus would damp
down the kinetic energy more effectively. again, this is no rocket
science, so feel free to give it a shot yourself.

cheers,
    axel.

You can't use 0.0 as the final target T with fix nvt
or fix npt, but you can use epsilon - e.g. 0.001, which ought to
be close enough. You can also use a langevin thermostat
with fix nph. Or you could use fix viscous to suck the
kinetic energy out of the system.

Steve