espressopp.interaction.CoulombRSpace¶
Coulomb potential and interaction Objects (R space part)
This is the R 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:
>>> vl = espressopp.VerletList(system, rspacecutoff+skin)
>>> coulombR_pot = espressopp.interaction.CoulombRSpace(coulomb_prefactor, alpha, rspacecutoff)
>>> coulombR_int = espressopp.interaction.VerletListCoulombRSpace(vl)
>>> coulombR_int.setPotential(type1=0, type2=0, potential = coulombR_pot)
>>> system.addInteraction(coulombR_int)
!IMPORTANT Coulomb interaction needs k-space part as well EwaldKSpace.
Definition:
It provides potential object CoulombRSpace and interaction object VerletListCoulombRSpace
The potential is based on parameters: Coulomb prefactor (coulomb_prefactor), Ewald parameter (alpha), and the cutoff in R space (rspacecutoff).
>>> coulombR_pot = espressopp.interaction.CoulombRSpace(coulomb_prefactor, alpha, rspacecutoff)Potential Properties:
coulombR_pot.prefactor
The property ‘prefactor’ defines the Coulomb prefactor.
coulombR_pot.alpha
The property ‘alpha’ defines the Ewald parameter \(\\alpha\).
coulombR_pot.cutoff
The property ‘cutoff’ defines the cutoff in R space.
The interaction is based on the Verlet list (VerletList)
>>> vl = espressopp.VerletList(system, rspacecutoff+skin) >>> coulombR_int = espressopp.interaction.VerletListCoulombRSpace(vl)
It should include at least one potential
>>> coulombR_int.setPotential(type1=0, type2=0, potential = coulombR_pot)Interaction Methods:
setPotential(type1, type2, potential)
This method sets the potential for the particles of type1 and type2. It could be a bunch of potentials for the different particle types.
getVerletListLocal()
Access to the local Verlet list.
Adding the interaction to the system:
>>> system.addInteraction(coulombR_int)
-
espressopp.interaction.
CoulombRSpace
(prefactor, alpha, cutoff)¶ Parameters: - prefactor (real) – (default: 1.0)
- alpha (real) – (default: 1.0)
- cutoff – (default: infinity)
-
espressopp.interaction.
VerletListCoulombRSpace
(vl)¶ Parameters: vl –
-
espressopp.interaction.VerletListCoulombRSpace.
getPotential
(type1, type2)¶ Parameters: - type1 –
- type2 –
Return type:
-
espressopp.interaction.VerletListCoulombRSpace.
getVerletList
()¶ Return type: A Python list of lists.
-
espressopp.interaction.VerletListCoulombRSpace.
setPotential
(type1, type2, potential)¶ Parameters: - type1 –
- type2 –
- potential –