My simulations require atom swapping in a specified region. When running mpi LAMMPS, that region should reside in one volume of the processor grid. That volume should be moved in between simulation steps. Is this possible? Details: I am slowly adding atoms to a 10x10x40 box and requiring swaps at the surface of the slowly growing pile. One volume of the processor grid has to be 10x10x7, incorporating that swap region. Three other volumes can be evenly distributed below them, though they are not necessary until the film is thicker than 7 units.
Is this possible?
The only options in LAMMPS to manipulate the domain decomposition are the processors command — LAMMPS documentation and the balance command — LAMMPS documentation
Yet I don’t see a straightforward way that you can apply them to achieve your goal. Perhaps with some experimentation and a bit of luck, you can find something useful there.
However, I also suggest to have a look at source code for fix atom/swap, which can swap atoms without any restrictions due to domain decomposition. Perhaps there is some inspiration for you there, too.
Thanks for the suggestions. my thought was to avoid overhead caused by a lot of swapping across the processor grid.
On the other hand you are willing to “pay” for it with less efficient parallelization and load imbalance. Not sure which will cost you more.