Dear all,
I wish to melt an alloy while fixing positions of a small group of atoms, which initially form a slab. So I increased the temperature of the mobile atoms via NPT step by step (a step is to increase 100 K and relax for some time), and at each step I set the force of the frozen atoms to zero. what puzzled me is that the temperature of the mobile atoms is higher than the set value. For example, when set T is 300 K, I got average T (of mobile atoms) around 340 K, and when set T is 2100 K, and got T around 2500 K. I tried decreasing Tdamp from 0.1 ps to 0.01 ps (MD step is 1 fs), it didn't help.
Could someone tell me how to more accurately fix the temperature of the mobile atoms? Thanks.
(I also tried fixing the temperature of the small group of atoms (slab) to 300 K and heating the other atoms. The temperature of slab eventually went towards zero and that of the other atoms went to higher than the specified temperature.)
Eugene
The complete input file (for the case of frozen-atoms) reads:
units metal
boundary p p p
atom_style atomic
read_data geoin.lmp
pair_style eam/fs
pair_coeff * * \{home\}/code/lammps/lammps\-15Jan11/potentials/Cu\-Zr\_2\.eam\.fs Cu Zr
region inblk block INF INF INF INF 17\.0 23\.5 side in units box
region outblk block INF INF INF INF 17\.0 23\.5 side out units box
group cu type 1
group zr type 2
group fixblk region inblk
group freeblk region outblk
compute freetemp freeblk temp
compute freeke freeblk ke
thermo 1000
velocity freeblk create 300\.0 4928459 rot yes dist gaussian
thermo\_style custom step c\_freetemp pe c\_freeke etotal vol press
timestep 0\.001
dump dumptrj all atom 2000 trj\.lammpstrj
dump\_modify dumptrj scale no sort id
restart 400000 restart
variable tmp index 3 4 5 6 7 8 \# up to 21
variable temperature equal v\_tmp\*100
label looptemp
fix ffree freeblk npt temp {temperature} ${temperature} 0.1 iso 0.0 0.0 1.0
fix ffix fixblk setforce 0.0 0.0 0.0
run 200000
next tmp
jump in.eam looptemp