Boltzman factor in Monte Carlo simulation

Dear lammps users,

The Monte Carlo example here:
https://github.com/lammps/lammps/blob/master/examples/MC/in.mc

computes the Boltzman factor as:
“exp(atoms*(v_elast - v_e) / v_kT)”

My question is: why is it multiplying the numerator by number of atoms? What’s wrong with just dividing the difference in energy by kT? I mean “exp((v_elast - v_e) / v_kT)”

Note that the units are LJ in this example. Would it make a difference if units were real?

I’m also attaching the input file.

Thanks,
Jamal

monte carlo.in (3.12 KB)

In LJ units, the energy produced by thermo output (which is the pe that variable e
and thus variable elast are accessing), is normalized by the number of atoms.
The thermo_modify norm doc page explains this - it would not be normalized
for real or metal units.

Steve