Equlibration and minimization

Hi,

I am doing equilibration and minimization for Si with Tersoff, the problem is that the temp never settles at 300C as I need. I attached my code, please let me know any suggestions, Thanks

Mohamed

------------------------ INITIALIZATION ----------------------------

units metal
dimension 3
boundary s s s
atom_style atomic

echo screen

----------------------- ATOM DEFINITION ----------------------------

variable latparam equal 5.431
variable L_x equal 200
variable L_y equal 30
variable L_z equal 30

lattice diamond {latparam} region whole block -10 210 -10 40 -10 40 #region whole block 0 {L_x} 0 {L_y} 0 {L_z}
create_box 1 whole

region Si_total block 0 200 0 30 0 30 units box
lattice diamond ${latparam} orient x 1 0 0 orient y 0 1 0 orient z 0 0 1
create_atoms 1 region Si_total

------------------------ FORCE FIELDS ------------------------------

pair_style tersoff
pair_coeff * * Si.tersoff Si

mass 1 28.0
neighbor 2.0 bin
neigh_modify delay 0 every 1 check yes

------------------------- GROUPS ---------------------------------

group Gr_Si_total region Si_total

------------------------- SETTINGS ---------------------------------

compute csym all centro/atom 4
compute eng all pe/atom

---------------------------Minimization-------------------------

#minimize etol ftol maxiter maxeval

Conjugate gradient Algorithm

min_style cg
minimize 1.0e-7 1.0e-7 10000 10000

------------------------------Equilibration---------------------

reset_timestep 0
timestep 0.001
velocity Gr_Si_total create 300 12345 mom yes rot no
fix 1 Gr_Si_total langevin 300.0 300.0 0.05 489279
fix 2 Gr_Si_total nve/limit 0.01

Set thermo output

thermo 100
thermo_style custom step lx ly lz press pxx pyy pzz pe temp
dump 1 all atom 100 dump.eq.lammpstrj

Write output:

write_restart Bend.equil

run 50000
unfix 1
undump 1
unfix 2

I am sorry I mean 300K.Thanks

Mohamed

You’re printing the temperature of all atoms, and
thermostatting and integrating a sub-group of atoms.
How many atoms in the sub-group? Why not
output the temperature of the sub-group?

Steve

Hey Steve,
I am equlibrating all the atoms. The group Si_total is the region containing the atoms, but whole is just the box containing the atoms. It can be a little larger. then I am measure the temperature of all the atooms (Si_total).

Mohamed

Then please post a sample of your log file output,

showing the temperature history. Also the log file
output that verifies that group Gr_Si_total contains
all the atoms in your system. You might also try
not using fix nve/limit (just fix nve), to insure you
are not taking tiny timesteps. If you are, then you
can’t expect to thermostat well with tiny steps.

Steve

Hi Steve,
I changed the code and removed nve/limit. But still there are fluctuations in the temp. Do you suggest increasing the running time ? Also I got a warning during minimization {WARNING: Resetting reneighboring criteria during minimization (…/min.cpp:168)}
Thanks

----------------------- ATOM DEFINITION ----------------------------

variable latparam equal 5.431

variable L_x equal 10
variable L_y equal 10
variable L_z equal 10

lattice diamond ${latparam}
lattice diamond 5.431
Lattice spacing in x,y,z = 5.431 5.431 5.431
region whole block 0 10 -10 10 -10 10
create_box 1 whole
Created orthogonal box = (0 -54.31 -54.31) to (54.31 54.31 54.31)
1 by 1 by 1 MPI processor grid

region Si_total block INF INF -5 5 -5 5 units box

lattice diamond ${latparam} orient x 1 1 0 orient y -1 1 0 orient z 0 0 1
lattice diamond 5.431 orient x 1 1 0 orient y -1 1 0 orient z 0 0 1
Lattice spacing in x,y,z = 7.68059 7.68059 5.431
create_atoms 1 region Si_total
Created 245 atoms

------------------------ FORCE FIELDS --------------------------

pair_style sw
pair_coeff * * si.sw Si
mass 1 28.0

neighbor 2 bin
neigh_modify delay 0 every 10 check yes

------------------------- SETTINGS -----------------------------

compute csym all centro/atom 4
compute eng all pe/atom

---------------------------Minimization-------------------------

#minimize etol ftol maxiter maxeval

Conjugate gradient Algorithm

min_style cg
minimize 1.0e-7 1.0e-7 100000 100000
WARNING: Resetting reneighboring criteria during minimization (…/min.cpp:168)
Setting up minimization …
Memory usage per processor = 12.4739 Mbytes
Step Temp E_pair E_mol TotEng Press Volume
0 0 6527.3783 0 6527.3783 4785110.8 3416.8733
115 0 -818.31349 0 -818.31349 7470.0229 3989.6776

Loop time of 0.146155 on 15 procs for 115 steps with 245 atoms
1208.1% CPU use with 1 MPI tasks x 15 OpenMP threads

Minimization stats:
Stopping criterion = energy tolerance
Energy initial, next-to-last, final =
6527.3782504 -818.313415816 -818.313493614
Force two-norm initial, final = 29409.7 0.0362939
Force max component initial, final = 7860.38 0.0084393
Final line search alpha, max atom move = 1 0.0084393
Iterations, force evaluations = 115 210

MPI task timings breakdown:
Section | min time | avg time | max time |%varavg| %total

The temperature (last column) of your log output looks
fine, small variations around the target of 300K, esp for
a small system with 245 atoms. Why do you think
there is anything wrong?

Steve