"I've determined the initial velocities of the surface following its equilibration at 300 K in the NVT ensemble. Now, I aim to conduct AIMD (NVE ensemble)with the metal surface (initially defined velocities from the equilibrating process at 300 K of the surface), the simulation involves a molecule approaching the surface at a certain distance with a specific kinetic energy. What strategies can I employ within VASP to ensure accurate control over these initial velocities in the simulation with NVE ensemble?"

metal surface already equlibriate at 300K with NVT ensemble now H2 molecule coming with particule K.E. with NVE ensemble

  • $\begingroup$ Still awaiting an answer to my question. Any insights or discussion would be greatly appreciated. $\endgroup$ Feb 20 at 9:26
  • $\begingroup$ You can set up initial velocities for nuclei in the POSCAR file, in this case for both H atoms. You can read about this in VASP wiki. $\endgroup$
    – Lukas
    Feb 20 at 9:49
  • $\begingroup$ yes, I already updated the POSCAR file with initial velocities, set MDALGO = 2, and SMASS = -3 in the INCAR file. after run this, it seems that the simulation is not utilizing the provided initial velocities. Instead, it's generating new velocities during the run, causing the temperature to increase incrementally (0, 1, 2, and so forth). above i am added INCAR file. please check once. $\endgroup$ Feb 20 at 10:15
  • $\begingroup$ @RubiAgrawal, it is recommended that you provide your INCAR file here as an input text using the Code Sample tag instead of using an image, this way other users can copy the text directly. $\endgroup$ Feb 21 at 3:11

1 Answer 1


As I understand in your question, you want to perform AIMD with NVE ensemble. Based on VASP documentation, it is recommened to set MDALGO=1 and ANDERSEN_PROB=0.0 for this type of ensemble, you can refer to VASP wiki for further read.

The following is an example of AIMD tags with NVE ensemble:

 #INCAR molecular-dynamics tags NVE ensemble 
 IBRION = 0                   # choose molecular-dynamics 
 MDALGO = 1                   # using Andersen thermostat
 ISIF = 2                     # compute stress tensor but do not change box volume/shape 
 TEBEG = 300                  # set temperature 
 NSW = 10000                  # number of time steps 
 POTIM = 1.0                  # time step in femto seconds 
 ANDERSEN_PROB = 0.0          # setting Andersen collision probability to zero to get NVE enseble

Regarding the control of velocities during the AIMD run, the SMASS tag will control that after you provide the initail velocities in your POSCAR file. In your INCAR file, you have chosen SMASS=-3, which is a microcanonical ensemble (NVE ensemble). In this ensemble, the calculated Hellmann-Feynman forces serve as an acceleration acting onto the ions thus you would expect the velocities to be updated as you mentioned. On the other hand, the total free energy (i.e. free electronic energy + Madelung energy of ions + kinetic energy of ions) is conserved.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .