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.