[lammps-users] Regarding Langevin themostat

Hello all,

I wanted to simulate an ultracold electron-ion system and for that, I used Langevin thermostat using the fix langevin command. But I was not able to achieve the desired temperature i.e. 1 kelvin.
Is there any limitation of langevin thermostat, Or am I doing something wrong ? Here is the command which I used in my input script

fix eq2 all nve

fix lang1 all langevin 1 1 100 9264738892

There is too little information here for any specific assessment and suggestion.

Dear Sir,
I apologize for not addressing the issue clearly in my previous mail. I wanted to simulate an ultracold electron-ion system using LAMMPS (7th Aug 2019 version). In my three-dimensional simulation box, I initially distributed them randomly with an initial distribution of velocity associated with temperature 1 K. I have considered the boundary conditions in each dimension to be periodic. I considered 10000 particles in each species with lj/cut/coul/long pair interaction. I used a Langevin thermostat in the presence of NVE to relax the system in the desired temperature which is 1K. However, in each run even after 200000-time steps it always ends up with a temperature around 25-30 K. I even changed the damping parameter with values 0.1, 1, 10, and 100. But, the outcome does not change. I did not achieve the desired temperature (1K). Here are the few relevant command lines which I used in my input script:

region simbox block 0 {lx} 0 {ly} 0 {lz} create_box 2 simbox create_atoms 1 random {Np} 3432435 NULL
create_atoms 2 random {Np} 39932435 NULL group elc type 1 group ion type 2 set type 1 charge {Q1}
set type 2 charge {Q2} mass 1*1 {m1}
mass 2*2 {m2} pair_style lj/cut/coul/long {cutlj} {cutc} pair_coeff * * {epsn} {sigma} {cutlj}
kspace_style pppm 1e-5
neighbor {ngh} bin neigh_modify every 1 delay 0 check yes one 50000 page 560000 velocity elc create {Te} 5812775 temp tme units box
velocity ion create {Ti} 5812885 temp tmi units box fix eq2 all nve fix lang1 elc langevin {ite} {ite} 100 9264738892 fix lang2 ion langevin {iti} {iti} 100 9364738892 timestep {dt}

Thank you for your help and suggestions.

Research Scholar
Indian Institute of Technology Delhi, India

This input fragment is not helping much either. The excessive use of variables makes it near unreadable and since it is missing the variable definitions, it is practically encrypted.
What stands out is the neigh_modify setting. Why do you need to change the “one” and “page” parameters?

Also what doesn’t make sense is to initialize a random position system with a velocity distribution of 1K. You will have very high potential energy and possibly even divergences due to atoms coming in close contact, unless you follow some protocol to remove those and cleanly unoverlap the atoms. yet even then you will have sufficient residual potential energy to have more kinetic energy in your system than what corresponds to your desired ultra-low temperature.

With so little information, there is not much else to do than to speculate. Since I don’t have the patience to keep asking for more information until it is actually satisfactory, I will thus speculate that your potential parameters a bad and thus owing to the GI-GO principle, you won’t get bad results.

If you want further advice, you will need to find somebody with more patience…


For these very cold temperatures you might want to look into the electron-ion interaction model we developed for solids: 10.1103/PhysRevLett.120.185501. As standard Langevin breaks some symmetries in periodic simulations. Also, at these low temperatures I assume you care about the fine changes in phonon mode excitations.

Otherwise the input seems fine. I would add the rot yes and mom yes to velocity initialisation like in the example. This will ensure that you do not have any weird initial rotational / linear momentum which might not get damped if this langevin implementation enforces momentum conservations.

velocity all create 300.0 4928459 rot yes mom yes

Best wishes,