[lammps-users] Fix NVT and energy minimization

Hi all,

I'm trying to use LAMMPS to perform a relaxation of a structure and find its minimum energy configuration. My plan of attack was to allow the system to run for a reasonably long time with constant volume and energy (fix/nve) and then, once the temperature appears relatively stable), begin removing kinetic energy until the temperature drops to near 0 K.

To reduce the kinetic energy, I wanted to use fix/nvt. However, experimenting with this command has left me confused. It seems that the Tdamp parameter specifies how long the temperature ramp should take. I tried (metal units, so time is in ps):

timestep 0.001
fix 1 all nvt 0.0001 100.0 10.0
run 100000

10.0 ps is 10,000 steps at 0.001 ps/step. However, it isn't until about step 79000 in my 8-atom Silicon system that the temperature reaches the correct order of magnitude (it hits 62 K at that step, then shoots up into the thousands for a few thousand iteration and rapidly drops back down to near 0.)

It's as if it's taking 10X as long as it should, roughly. Am I misunderstanding something here?

Thank you!

You could just use the minimize command to find an min eng config.

Using NVT with a changing temperature can be tricky. Nose/Hoover
already oscillates and if you are changing the target temperature
rapdily, then it's tough to settle down. You could try
the "drag" option to see if that helps. 10.0 is a long relaxation time.
0.1 or 0.5 psec would be more typical. You could also try
another thermostat (like temp/rescale) since you don't really care
about dynamics.


Hang on... is that last parameter the time between temperature changes (which is what I understood when you said relaxation time) or is it the total time taken to go from Tstart to Tstop (which is what I'm currently assuming and would require an appropriate number of steps to be chosen for the 'run' command.)

I'm not sure 'minimize' finds the minimum energy structure very well. To give you some more information on what I'm trying to accomplish, I've been using VASP, which is an ab-initio simulation package which minimizes systems. It can keep the simulation volume the same or can change that as well (which is really handy because it allows me to directly obtain induced strains in systems.) I'm trying to obtain similar results but with MD instead of ab-initio calculations.

I thought that a fully minimized system should have a temperature of about 0 K, especially if (as it is in my case), it has room to expand. My system is a thin strip of material periodic in the Y dimension but not in X or Z.

Where you get big oscillations with NVT or NPT is if you ask it
to instantaneously change the target T (or P). If you are equilibrated
at 100K, then ramp it slowly to 0.0001K, that shouldn't be a problem.
However, the fix nvt command in your email looked like it
was heating from 0.0001 to 100, which is probably not what you want.