Angle1Potential

class Angle1Potential(particleType1, particleType2, particleType3, k, theta0, rho1, rho2, 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. This is the central particle (the vertex) when calculating the angle.

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

  • k (PhysicalQuantity of type energy / angle**2) – Potential parameter.

  • theta0 (PhysicalQuantity of type angle) – Potential parameter.

  • rho1 (PhysicalQuantity of type length) – Potential parameter.

  • rho2 (PhysicalQuantity of type length) – 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

This potential specifies a three-body potential:

\[E_{ijk}(\theta_{ijk}, r_{ij}, r_{jk}) = \frac{1}{2} k (\theta_{ijk} - \theta_0)^2 \exp[-(r_{ij}/\rho_1 + r_{jk}/\rho_2)] \, ,\]

which is often used in core-shell potentials.