TersoffDiag2Potential

class TersoffDiag2Potential(particleType1, particleType2, A, B, R, S, l, mu, alpha, beta, omega, chi, chiR, m, n, c, d, h)

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.

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

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

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

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

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

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

  • beta (float) – Potential parameter.

  • omega (float) – Potential parameter.

  • chi (float) – Potential parameter.

  • chiR (float) – Potential parameter.

  • m (int) – Potential parameter.

  • n (float) – Potential parameter.

  • c (float) – Potential parameter.

  • d (float) – Potential parameter.

  • h (float) – 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.

Usage Examples

Define a Tersoff potential for gallium arsenide by adding particle types and interaction functions to the TremoloXPotentialSet.

# -------------------------------------------------------------
# Bulk configuration for FCC GaAs
# -------------------------------------------------------------

# Set up lattice
lattice = FaceCenteredCubic(5.6537*Angstrom)

# Define elements
elements = [Gallium, Arsenic]

# Define coordinates
fractional_coordinates = [[ 0.00,  0.00,  0.00],
                          [ 0.25,  0.25,  0.25]]

# Set up configuration
bulk_configuration = BulkConfiguration(
    bravais_lattice=lattice,
    elements=elements,
    fractional_coordinates=fractional_coordinates
    )

# -------------------------------------------------------------
# Calculator
# -------------------------------------------------------------

# Create the new potential set
potentialSet = TremoloXPotentialSet(name='Tersoff_Powell_2007')

# Add the particle types to the potential set
potentialSet.addParticleType(ParticleType(symbol='As',
                                          mass=74.9216*atomic_mass_unit))
potentialSet.addParticleType(ParticleType(symbol='Ga',
                                          mass=69.723*atomic_mass_unit))

# Add the single type potentials to the potential set
potentialSet.addPotential(TersoffSingleTypePotential('Ga',
                                                     A=0.0*eV,
                                                     B=0.0*eV,
                                                     R=0.0*Angstrom,
                                                     S=0.0*Angstrom,
                                                     l=0.0/Angstrom,
                                                     mu=0.0/Angstrom,
                                                     alpha=0.0/Angstrom,
                                                     beta=0.0,
                                                     omega=0.0,
                                                     chi=0.0,
                                                     chiR=0.0,
                                                     m=0,
                                                     n=0.0,
                                                     c=0.0,
                                                     d=0.0,
                                                     h=0.0))
potentialSet.addPotential(TersoffSingleTypePotential('As',
                                                     A=0.0*eV,
                                                     B=0.0*eV,
                                                     R=0.0*Angstrom,
                                                     S=0.0*Angstrom,
                                                     l=0.0/Angstrom,
                                                     mu=0.0/Angstrom,
                                                     alpha=0.0/Angstrom,
                                                     beta=0.0,
                                                     omega=0.0,
                                                     chi=0.0,
                                                     chiR=0.0,
                                                     m=0,
                                                     n=0.0,
                                                     c=0.0,
                                                     d=0.0,
                                                     h=0.0))

# Add the diagonal type potentials to the potential set
potentialSet.addPotential(TersoffDiag2Potential('Ga', 'As',
                                                A=446079.331668*eV,
                                                B=16.0304697869*eV,
                                                R=3.4*Angstrom,
                                                S=3.6*Angstrom,
                                                l=5.84464068024/Angstrom,
                                                mu=0.839717061922/Angstrom,
                                                alpha=0.244341/Angstrom,
                                                beta=0.257183,
                                                omega=1.0,
                                                chi=1.0,
                                                chiR=1.0,
                                                m=3,
                                                n=3.55586,
                                                c=2.16345,
                                                d=0.750147,
                                                h=-0.448899))

calculator = TremoloXCalculator(parameters=potentialSet)

bulk_configuration.setCalculator(calculator)

See also Notes on Tersoff Potentials.