espressopp.interaction.CoulombKSpaceEwald

Coulomb potential and interaction Objects (K space part)

\[\frac{1}{2\pi V} \sum_{m\in \mathbb{Z}^3 \atop 0<|m|<k_{max}} \frac{exp(-\frac{\pi^2}{\alpha^2}m^{\prime 2})}{m^{\prime 2}} \left\lvert\sum_{i=1}^{N} q_{i}\cdot exp(2\pi i r_{i}\cdot m^{\prime})\right\rvert^{2}\]

This is the K space part of potential of Coulomb long range interaction according to the Ewald summation technique. Good explanation of Ewald summation could be found here [Allen89], [Deserno98].

Example:

>>> ewaldK_pot = espressopp.interaction.CoulombKSpaceEwald(system, coulomb_prefactor, alpha, kspacecutoff)
>>> ewaldK_int = espressopp.interaction.CellListCoulombKSpaceEwald(system.storage, ewaldK_pot)
>>> system.addInteraction(ewaldK_int)

!IMPORTANT Coulomb interaction needs R space part as well CoulombRSpace.

Definition:

It provides potential object CoulombKSpaceEwald and interaction object CellListCoulombKSpaceEwald based on all particles list.

The potential is based on the system information (System) and parameters: Coulomb prefactor (coulomb_prefactor), Ewald parameter (alpha), and the cutoff in K space (kspacecutoff).

>>> ewaldK_pot = espressopp.interaction.CoulombKSpaceEwald(system, coulomb_prefactor, alpha, kspacecutoff)

Potential Properties:

  • ewaldK_pot.prefactor

    The property ‘prefactor’ defines the Coulomb prefactor.

  • ewaldK_pot.alpha

    The property ‘alpha’ defines the Ewald parameter \(\\alpha\).

  • ewaldK_pot.kmax

    The property ‘kmax’ defines the cutoff in K space.

The interaction is based on the all particles list. It needs the information from Storage and K space part of potential.

>>> ewaldK_int = espressopp.interaction.CellListCoulombKSpaceEwald(system.storage, ewaldK_pot)

Interaction Methods:

  • getPotential()

    Access to the local potential.

Adding the interaction to the system:

>>> system.addInteraction(ewaldK_int)

References:

[Allen89]M.P.Allen, D.J.Tildesley, Computer simulation of liquids, Clarendon Press, 1989 385 p.
[Deserno98]M.Deserno and C.Holm, J. Chem. Phys., 109(18), 1998, p.7678
espressopp.interaction.CoulombKSpaceEwald(system, prefactor, alpha, kmax)
Parameters:
  • system
  • prefactor
  • alpha
  • kmax
espressopp.interaction.CellListCoulombKSpaceEwald(storage, potential)
Parameters:
  • storage
  • potential
espressopp.interaction.CellListCoulombKSpaceEwald.getFixedPairList()
Return type:A Python list of lists.
espressopp.interaction.CellListCoulombKSpaceEwald.getPotential()
Return type: