[lammps-users] Surface interactions through kspace_modify slab

I have an interfacial MD system, where I am trying to calculate the energy to form an interface. One method is to create a large vacuum (approximately 150 angstroms) in the unit cell and calculate the energy difference. The other method is through kspace_modify with the slab option. Which is the recommended method? It seems as if the kspace_modify slab method would be the more appropriate way to go about this interaction energy, because the attempt is to calculate the energy difference as if the slabs were not there. Additionally, for the larger systems need in the actual simulations, the large vacuum creates inefficient spatial decomposition of the atoms and results in many of the cores not calculating anything. I have run the system both ways using a small model and find the energy of using kspace_modify slab is 200 kcal/mol higher in total energy than using a large vacuum space, so there are differences between the two different methods. Any advice is greatly appreciated.


Kenneth D. Smith, Ph.D.
United Technologies Research Center
411 Silver Lane MS 129-90
East Hartford, CT 06108
860.610.7162 Fax: 860.353.3379
email: [email protected]…774…

I've played around a bit with the slab option. I found there was a significant difference in the interfacial solvation of certain ions between the large "vacuum" method and the slab modified k-space method. The results suggested that the higher the concentration of ions, the greater the artifact. But as I said, I just played around with it, so I can't say for sure. I'm convinced the slab correction is important, though.

The problem I never really resolved was how to deal with the vapor. The slab modification is restricted so you can only use it along a non-periodic dimension. When you use the large "vacuum" method, the liquid slab evaporates a bit and then reaches a steady state with a vapor phase in the "vacuum" region. With the non-periodic dimension, the vapor leaves the box. You can use a reflecting wall (which causes problems with energy conservation), or a repulsive LJ wall - which will effect the energy of the system. Or you can just remove the non-periodic requirement from the code. I did this in a test system of two point charges. That might work if the slab doesn't approach a boundary. Not sure how the vapor interacting across the boundary with the slab correction will effect the energy, though.

Quoting "Smith, Kenneth D UTRC" <[email protected]>:

The kspace_modify slab method is better than just a large "vacuum" method because the slab method also includes a correction for the interaction of the slab with its periodic images. The slab method yields a good approximation to a true 2-D Ewald if adequate empty space is left between repeating slabs (J. Chem. Phys. 111, 3155).

As far as the vapor goes, the repulsive LJ wall will have a very small energy contribution if kept far enough away from liquid or solid. If the wall is only meant to keep the vapor in, and the vapor particles rarely impact the wall, the energy contribution due to the wall will be small. And that energy contribution could be recorded and subtracted from the total system energy.


Per the other's comments, for the long-range Couloumics,
the free-surface correction added by the slab option is
important. Per you comment about empty space in
the mesh, if you go that route you may be able to
use the processors command to allocate the processors
in a 2d decomposition to avoid this problem (give each
proc the same amount of empty space).