Coulomb subtraction error

Hi there - getting an error message in GULP 5.0 which I don’t understand.

Input:

opti conp simul comp dist mole prop average
cell
4.6 4.6 15.023 90.000 90.000000 120.000
frac
Mg 0.0 0.0 0.0 2.0000
C 0.0 0.0 0.25 1.343539
O core 0.278 0.0 0.25 1.018487
O shel 0.278 0.0 0.25 -2.133
space
R -3 c
buck intra
O core O core 4030.3 0.245 0.0 0.0 2.5
buck inter
O shel O shel 64242.454 0.199 21.843 0.0 15.0
buck
Mg O core 1039.59 0.289 0.0 0.0 10.0
buck
Mg C 26164795.4 0.12 0.0 0.0 10.0
spring
O core 52.74
morse bond
C core O core 5.0 2.523 1.198
three bond
C O core O core 1.799 120.0
outofplane bond
C O core O core O core 8.689 360.0

ERROR : Coulomb subtraction within periodic molecules is not allowed

I have taken input parameters from this paper. It runs if I increase the volume of the cell (increasing a to 5.0A fixes it for example). Any ideas what is happening to cause this?

Because you’ve specified the “molecule” keyword GULP automatically searches for molecules and Coulomb subtracts within them. There are two points here:

  1. If the search finds molecules which extend through the whole structure then this it’s difficult (and often pointless) to Coulomb subtract. This is because you need an Ewald sum to compute the Coulomb term and then potentially a second separate Ewald sum to remove everything again (and so if all atoms are in the molecule you’d be more efficient not putting charges in the first place!).
  2. The issue for magnesite is that the default radius for Mg is based on the atom and this means that Mg becomes bonded to carbonate. Of course this is really Mg2+ and shouldn’t be bonded covalently to carbonate. What you need to do is put the radius for Mg to zero so that you only Coulomb subtract within carbonate anions:

element
cova Mg 0.0
end

Then your input should be OK.

Thank you for your help with this - that makes sense. I had a feeling that it must be due to something bonding where it shouldn’t!