[lammps-users] grand canonical

Can I do a simulation in the grand canonical ensemble using Lammps?

how do I do that, or where can I read about it?

Lina Merchan


The short answer is no. But you could write your own "fix" or module
to allow it. LAMMPS does have some nice features that you could
exploit for this, including the ability to run multiple systems
simultaneously. You might look at LAMMPS's parallel tempering
capability for clues on how a grand canonical ensemble capability
could be built within LAMMPS.


Hi Lina,

At one point I was playing with doing semi-grande canonical simulations in
LAMMPS (instead of fixing one chemical potential, you fix the difference
between the chemical potential of two species). The only useful code I
managed to implement was a function that would return a neighbor list for
a given point in the simulation box (so you could accurately calculate the
energy of insertion at that point). My test implementation was to do widom
insertion using biased sampling on a grid, but I never got that far. If
you are interested I could send you the neighbor code.


You could also look at the existing "fix deposit" and "fix pour" files
to see how to add/delete atoms in LAMMPS.