TersoffBrennerTriplePotential3

class TersoffBrennerTriplePotential3(particleType1, particleType2, particleType3, alpha, beta, rho1, rho2, L, U, x1, f1, dfx1, dfxx1, x2, f2, dfx2, dfxx2)

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.
  • particleType3 (ParticleType or ParticleIdentifier) – Identifier of the second particle type.
  • alpha (PhysicalQuantity of type length**-beta) – Potential parameter.
  • beta (int) – Potential parameter.
  • rho1 (PhysicalQuantity of type length) – Potential parameter.
  • rho2 (PhysicalQuantity of type length) – Potential parameter.
  • L (float) – Potential parameter.
  • U (float) – Potential parameter.
  • x1 (sequence of float) – The grid coordinates for the first spline.
  • f1 (sequence of float) – The function values for the first spline at the coordinates in x1.
  • dfx1 (sequence of float) – The first derivatives for the first spline at the coordinates in x1.
  • dfxx1 (sequence of float) – The second derivatives for the first spline at the coordinates in x1.
  • x2 (sequence of float) – The grid coordinates for the second spline.
  • f2 (sequence of float) – The function values for the second spline at the coordinates in x1.
  • dfx2 (sequence of float) – The first derivatives for the second spline at the coordinates in x1.
  • dfxx2 (sequence of float) – The second derivatives for the second spline at the coordinates in x1.
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.

setCutoff(r_cut)

Sets the cutoff radius for the given potential

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 Tersoff-Brenner triple potentials for carbon.

potentialSet = TremoloXPotentialSet(name = 'Brenner_CH_2002')
potentialSet.addParticleType(ParticleType(
	symbol = 'C',
	mass = 12.0107*atomic_mass_unit,
	charge = None,
	sigma = None,
	sigma14 = None,
	epsilon = None,
	epsilon14 = None,
	atomicNumber = 6,
	tags = [],
))
_potential = TersoffBrennerTriplePotential3(
	particleType1 = ParticleIdentifier('C', []),
	particleType2 = ParticleIdentifier('C', []),
	particleType3 = ParticleIdentifier('C', []),
	beta = 1,
	alpha = 0.0*1/Angstrom,
	L = 3.2,
	U = 3.7,
	rho1 = 0.0*Angstrom,
	rho2 = 0.0*Angstrom,
	x1 = numpy.array([-1.0, -0.5, -0.333412, 0.0, 0.5, 1.0]),
	f1 = numpy.array([-0.01, 0.0528, 0.09733, 0.37545, 2.0014, 8.0]),
	dfx1 = numpy.array([0.104, 0.17, 0.4, 1.406776, 6.056472, 20.240234]),
	dfxx1 = numpy.array([0.0, 0.37, 1.98, 4.508755, 16.147742, 43.901021]),
	x2 = numpy.array([-1.0, -0.5, -0.333412, 0.0, 0.5, 1.0]),
	f2 = numpy.array([-0.01, 0.0528, 0.09733, 0.271856, 0.416335, 1.0]),
	dfx2 = numpy.array([0.104, 0.17, 0.4, 0.488916, 0.25958, 2.831613]),
	dfxx2 = numpy.array([0.0, 0.37, 1.98, -0.866163, 1.170791, 10.239179]),
)
potentialSet.addPotential(_potential)

tersoffbrenner_carbon.py

Notes

When added to a potential set, this class activates the three-body interactions that are used in the second generation REBO [BSH+02] and AIREBO [STH00] potential. This potential depends on two angle functions g1 and g2 that are usually specified by quintic splines. Therefore it is necessary to specify the values of these two functions (and the derivatives) at some given points.

Please note that interactions are added in a non-symmetric fashion. particleType1-particleType2 is associated to the bond-order pair i-j. (i is the central particle)

[BSH+02]D. W. Brenner, O. Shenderova, J. Harrison, S. J. Stuart, B. Ni, and S. B Sinnott. A second-generation reactive empirical bond order (REBO) potential energy expression for hydrocarbons. J. Phys.: Condensed Matter, 14(4):783–802, 2002. arXiv:S0953-8984(02)31186-X, doi:10.1088/0953-8984/14/4/312.
[STH00]Steven J. Stuart, Alan B. Tutein, and Judith A. Harrison. A reactive potential for hydrocarbons with intermolecular interactions. J. Chem. Phys., 112(14):6472–6486, 2000. URL: https://doi.org/10.1063/1.481208.