CoulombScale14Option

class CoulombScale14Option(scale_14)

Constructor of the option.

Parameters:

scale_14 (float) – The Coulomb scaling factor for bonded 1-4 interactions

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.

Usage Examples

Define an OPLS-like potential for a hydrocarbon by adding particle types and interaction functions to the TremoloXPotentialSet. This potential uses a 0.5 1-4 Coulomb scale factor.

_option = CoulombScale14Option(
    scale_14=0.5,
)
potentialSet.addOption(_option)

Notes

In most bonded forcefields such as OPLS, non-bonding interactions between atoms separated by 3 bonds are treated differently to other interactions. Some of the energy of these interactions may be captured by the torsion potential included in the forcefield, and so a scaling from 0 to 1 may need to be applied so that the combination of non-bonding interactions and torsion terms work together to best represent the internal energy of the molecule.

The CoulombScale14Option class sets the scaling for the electrostatic 1-4 terms used in the calculator. The above script shows how to set the scaling to 0.5. By default Coulomb solvers use a scaling factor of 1, meaning that the entire 1-4 Coulomb term is included. In the OPLS forcefield a 1-4 Coulomb scaling of 0.5 is used for both electrostatic and Lennard-Jones interactions. As well as setting the 1-4 scaling, the 1-2 and 1-3 terms are also commonly excluded. In the Coulomb solvers this is done using the bonded_mode parameter. By setting it to CoulombSolver.evaluate4 or “mode_14” the 1-2 and 1-3 Coulomb terms are excluded in the calculation.