TersoffBrennerPairPotential2

class TersoffBrennerPairPotential2(particleType1, particleType2, A, l, Q, B1, B2, B3, mu1, mu2, mu3, Re, R1, R2, fType=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.

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

  • l (PhysicalQuantity of type length**-1) – Potential parameter (lambda).

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

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

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

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

  • mu1 (PhysicalQuantity of type length**-1) – Potential parameter.

  • mu2 (PhysicalQuantity of type length**-1) – Potential parameter.

  • mu3 (PhysicalQuantity of type length**-1) – Potential parameter.

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

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

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

  • fType

    The smoothing function that will be used. Must be one of the following variables:

    TwoBodyPotential.Brenner TwoBodyPotential.MurtyAtwater TwoBodyPotential.HumbridGraves

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 Tersoff-Brenner pair 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 = TersoffBrennerPairPotential2(
	particleType1 = ParticleIdentifier('C', []),
	particleType2 = ParticleIdentifier('C', []),
	A = 10953.5441622*eV,
	Q = 0.313460296083*Angstrom,
	l = 4.74653906066*1/Angstrom,
	B1 = 12388.791978*eV,
	B2 = 17.567406465*eV,
	B3 = 30.7149320807*eV,
	mu1 = 4.7204523127*1/Angstrom,
	mu2 = 1.4332132499*1/Angstrom,
	mu3 = 1.3826912506*1/Angstrom,
	Re = 0.0*Angstrom,
	R1 = 1.7*Angstrom,
	R2 = 2.0*Angstrom,
)

tersoffbrenner_carbon.py

Notes

Todo

We should add the actual formula once the TremoloX Manual is updated.

The pair potential that is used in the second generation REBO [1] and the AIREBO [2] potential. When added to a potential set, this class activates the repulsive and attractive terms between two types of particles. Interactions are added in a symmetric fashion, which means that adding a TersoffBrennerPairPotential2 object with particle types A and B to a potential set will activate interactions between particles of type A and B but also between B and A.