### DEFINE SIMULATION BOX GEOMETRY ### lattice sc 0.2 region box block 0 15 0 15 0 15 create_box 1 box create_atoms 1 box ### DEFINE PHYSICAL PROPERTIES OF ATOMS ### mass 1 1.0 pair_style lj/cut/opt 3.0 pair_coeff 1 1 1.0 1.0 neighbor 2.0 bin ### SPECIFY THE REQUIRED THERMODYNAMIC STATE ### variable T equal 2.8 variable timestep equal 0.0025 ### ASSIGN ATOMIC VELOCITIES ### velocity all create ${T} 12345 dist gaussian rot yes mom yes ### SPECIFY ENSEMBLE ### timestep ${timestep} fix nve all nve ### THERMODYNAMIC OUTPUT CONTROL ### thermo_style custom time etotal temp atoms thermo 10 ### RECORD TRAJECTORY ### dump traj all custom 1000 output-1 id x y z ### SPECIFY TIMESTEP ### ### RUN SIMULATION TO MELT CRYSTAL ### run 10000 unfix nve reset_timestep 0 ### BRING SYSTEM TO REQUIRED STATE ### variable tdamp equal ${timestep}*100 fix nvt all nvt temp ${T} ${T} ${tdamp} unfix nvt fix nve all nve run 10000 reset_timestep 0 ### MEASURE SYSTEM STATE ### thermo_style custom step etotal temp vol density variable dens equal density variable temp equal temp variable temp2 equal temp*temp variable vol equal vol variable etot equal etotal variable etot2 equal etotal*etotal variable N equal atoms variable N2 equal atoms*atoms fix aves all ave/time 100 1000 100000 v_temp v_etot v_etot2 run 100000 ### AVERAGES ### variable avetemp equal f_aves[1] variable avetemp2 equal f_aves[1]*f_aves[1] variable aveetot equal f_aves[2] variable aveetot2 equal f_aves[3] variable aveetotl equal f_aves[2]*f_aves[2] ### HEAT CAPACITY CALCULATION ### variable Cv equal ${N2}*((${aveetot2}-${aveetotl})/${avetemp2}) variable CvV equal ${Cv}/${vol} ### PRINT ### print "Averages" print "--------" print "Cv: ${Cv}" print "CvV: ${CvV}"