### 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.0 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 press 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} run 10000 unfix nvt fix nve all nve reset_timestep 0 ### MEASURE SYSTEM STATE ### thermo_style custom step etotal temp atoms vol variable temp equal temp variable temp2 equal temp*temp variable etotal equal etotal variable etotal2 equal etotal*etotal fix aves all ave/time 100 1000 100000 v_temp v_temp2 v_etotal v_etotal2 run 100000 variable avetemp equal f_aves[1] variable aveetotal equal f_aves[3] variable aveetotal2 equal f_aves[4] variable heatcapacity equal (atoms*atoms)*(${aveetotal2}-${aveetotal}*${aveetotal})/(${avetemp}*${avetemp}) variable overvolume equal ${heatcapacity}/vol print "Averages" print "--------" print "Temperature: ${avetemp}" print "Energy: ${aveetotal}" print "Heat Capacity: ${heatcapacity}" print "Heat Capacity over Volume: ${overvolume}"