CoulombQTaperPotential

class CoulombQTaperPotential(particleType1, particleType2, C, r_cut=None)

Constructor of the potential.

Parameters:
  • particleType1 (ParticleType or ParticleIdentifier) – Identifier of the first particle type.

  • particleType2 (ParticleType or ParticleIdentifier) – Identifier of the second particle type.

  • C (PhysicalQuantity of type energy) – Potential Parameter.

  • r_cut (PhysicalQuantity of type length) – The cutoff radius of this potential.

classmethod getAllParameterNames()

Return the names of all used parameters as a list.

getAllParameters()

Return all parameters of this potential and their current values as a <parameterName / parameterValue> dictionary.

static getDefaults()

Get the default parameters of this potential and return them in form of a dictionary of <parameter name, default value> key-value pairs.

getParameter(parameterName)

Get the current value of the parameter parameterName.

setParameter(parameterName, value)

Set the parameter parameterName to the given value.

Parameters:
  • parameterName (str) – The name of the parameter that will be modified.

  • value – The new value that will be assigned to the parameter parameterName.

Notes

The CoulombQTaperPotential potential can be used to calculate approximate pairwise electrostatic interactions between particles with partial charges, as defined in the ParticleType.

The Coulomb interactions between two particles \(i\) and \(j\) are smoothed by a tapering function:

\[V_{ij}(r) = \frac{q_i q_j}{r} f(r) + C (1 + f(r))\, ,\]

with

\[f(r) = 6\left(\frac{r}{r_c}\right)^5 - 15 \left(\frac{r}{r_c}\right)^4 + 10 \left(\frac{r}{r_c}\right)^3 \, .\]

In contrast to the Coulomb solver classes, which calculate the interactions between all charged particles, this method calculates only the interactions between the specified particle type pairs.