[lammps-users] EAM and NVT thermostat. Wrong temperature?

Hello lammps-users!

Can someone enlighten me what I am doing wrong?
I try to run EAM of a simple box of platinum at 298K.
The thermostat seems to keep the temperature constant, but not at the desired temperature.
Did I overlook something essential?

Greetings, Pim Schravendijk

########## the input file #############

bulk platinum

literature lattice constant: 3.920

units metal
boundary p p p
atom_style full
lattice fcc 3.920 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 &
origin 0 0 0
region box block 0 10.0 0.0 10.0 0.0 10.0 units lattice
create_box 1 box
create_atoms 1 box
pair_style eam
pair_coeff * * Pt_u3.eam
neighbor 2.0 bin
neigh_modify delay 5
minimize 1.0e-6 0.001 100 10000
thermo 100
dump 1 all xyz 100 rawdump.xyz
timestep 0.001
fix 1 all nvt 298.0 298.0 100.0
velocity all create 298.0 4928459 rot yes dist gaussian
run 10000

####### the output: ##########

LAMMPS (9 Jan 2009)
Lattice spacing in x,y,z = 3.92 3.92 3.92
Created orthogonal box = (0 0 0) to (39.2 39.2 39.2)
1 by 1 by 1 processor grid
Created 4000 atoms
WARNING: Resetting reneighboring criteria during minimization
Setting up minimization …
Memory usage per processor = 3.56943 Mbytes
Step Temp E_pair E_mol TotEng Press
0 0 -23080 0 -23080 0.10119929
1 0 -23080 0 -23080 0.10119929
Loop time of 0.0420239 on 1 procs for 1 steps with 4000 atoms

Minimization stats:
Stopping criterion = energy tolerance
Energy initial, next-to-last, final =
-23079.9999973 -23079.9999973 -23079.9999973
Force two-norm initial, final = 8.23281e-13 8.5316e-12
Force max component initial, final = 1.61121e-14 1.82979e-13
Final line search alpha, max atom move = 1 1.82979e-13
Iterations, force evaluations = 1 1

Pair time () = 0.0413839 (98.4769) Bond time () = -1.12923e-07 (-0.000268711)
Neigh time () = 0 (0) Comm time () = 0.000193052 (0.459386)
Outpt time () = 0 (0) Other time () = 0.000447123 (1.06397)

Nlocal: 4000 ave 4000 max 4000 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 5841 ave 5841 max 5841 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 172000 ave 172000 max 172000 min
Histogram: 1 0 0 0 0 0 0 0 0 0

Total # of neighbors = 172000
Ave neighs/atom = 43
Ave special neighs/atom = 0
Neighbor list builds = 0
Dangerous builds = 0
Setting up run …
Memory usage per processor = 2.94573 Mbytes
Step Temp E_pair E_mol TotEng Press
1 298 -23080 0 -22925.96 2731.5509
100 88.405797 -22971.65 0 -22925.952 11744.455
200 135.28807 -22995.884 0 -22925.952 10556.691
300 122.83567 -22989.446 0 -22925.951 10983.754
400 161.58802 -23009.481 0 -22925.954 8680.4358
500 171.20712 -23014.454 0 -22925.955 8062.0769
600 155.62782 -23006.399 0 -22925.953 9054.0281
700 131.87649 -22994.119 0 -22925.951 10436.338
800 137.13158 -22996.835 0 -22925.95 10201.388
900 155.35149 -23006.254 0 -22925.951 9123.9378



9900 150.07934 -23003.154 0 -22925.576 9398.8641
10000 154.6842 -23005.527 0 -22925.569 9246.5132
10001 154.71723 -23005.544 0 -22925.569 9242.3936
Loop time of 116.988 on 1 procs for 10000 steps with 4000 atoms

Pair time () = 113.659 (97.1541) Bond time () = 0.00254296 (0.0021737)
Neigh time () = 0 (0) Comm time () = 0.517754 (0.44257)
Outpt time () = 0.67328 (0.575512) Other time () = 2.13581 (1.82566)

Nlocal: 4000 ave 4000 max 4000 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 5841 ave 5841 max 5841 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 172000 ave 172000 max 172000 min
Histogram: 1 0 0 0 0 0 0 0 0 0

Total # of neighbors = 172000
Ave neighs/atom = 43
Ave special neighs/atom = 0
Neighbor list builds = 0
Dangerous builds = 0

Hello lammps-users!

Can someone enlighten me what I am doing wrong?
I try to run EAM of a simple box of platinum at 298K.
The thermostat seems to keep the temperature constant, but not at the
desired temperature.

hi pim,

Did I overlook something essential?

yes. you seem to be starting at the OK structure.
so about half of your initial kinetic energy will be converted
into potential energy. and within such a short time, a nose-hoover
thermostat cannot transfer that much kinetic energy to the system.

you can double your initial kinetic energy by a factor of two
by initializing your system at 600K instead of 300K or start
using a berendsen thermostat or temp/rescale in combination
with fix nve to get your system up to temperature before switching
to fix nvt. ...and even then, you'll have to first run until your system
is properly equilibrated.

cheers,
   axel.

Ah yes, thanks Axel.

The other thing I overlooked is that I am using “units metal” and Tdamp should therefore be about a factor 1000 smaller :slight_smile:
It’s all going much better now :wink:

Greetings, Pim