FENEBondPotential

class FENEBondPotential(particleType1, particleType2, k, r_0)

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.

  • k (PhysicalQuantity of type energy) – Potential parameter.

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

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 FENE (finite extensible non-linear elastic) potential [1] is a bonded potential where the potential energy becomes infinitely large if the distance between two bonded particles is larger than a given distance. This potential is part of the well-known Kremer-Grest model to simulate coarse-grained bead-spring polymers. It is defined as follows:

\[\begin{split}\quad U_{ij} = \begin{cases} k_{ij}\ln(1 - (r_{ij} / r_0)^2), & r_{ij} < r_0 \\ \infty, & r_{ij}\geq r_0. \end{cases}\end{split}\]

In the actual implementation, we have replaced \(\infty\) by \(k_{ij}\ln(DBL\_MIN) = k_{ij}\ln(2.2\cdot 10^{-308}) = -708 k_{ij}\). This has no effect on the actual dynamics but will not destroy all measurements as would be the case when the potential energy becomes infinity.