How to implement the symmetry boundary condition in LAMMPS?

A long, long time ago, in a galaxy far, far away*, Kaitlyn Dwelle wrote a functioning imagecharges fix that does roughly what you are talking about:

Inspired by that, I wrote a zmirror fix into my own USER-CONP2:

I won’t re-document either of those, because there’s a good reason both these projects are dormant. I agree with @akohlmey that compute capacity (to say nothing of GPUs) is growing so rapidly that doubling compute is much better than taking on unphysical behaviours of unknown impact.

That said, the mirrored cell is a general tactic for efficiently constructing asymmetric transverse profiles in MD: build one cell “facing left” and one “facing right” so that their periodic repetition has no net dipole moment, and show that the cells’ observables are statistically independent so that you indeed have twice the sampling from twice the computational work.

This is used in the Muller-Plathe method for thermal conductivity, which measures the heat fluxes across two bulks. Raiteri applied this to fluid-fluid interfaces in 2020 (Molecular dynamics simulations of liquid–liquid interfaces in an electric field: The water–1,2-dichloroethane interface | The Journal of Chemical Physics | AIP Publishing) and I subsequently adapted the method to electrode simulations (Fully periodic, computationally efficient constant potential molecular dynamics simulations of ionic liquid supercapacitors | The Journal of Chemical Physics | AIP Publishing). No finicky mirror planes needed!

*The Milky Way moves at between 130-600 km/s (Speed of the Milky Way in Space - The Physics Factbook), so “the Milky Way in 2020” counts as a galaxy far, far away.

4 Likes