EAMfssetflPotential¶
- class EAMfssetflPotential(file, splineType=None, tags=None)¶
Constructor of the potential.
- Parameters:
file (str) – The name of the file that contains the EAM parameters. The file must be in the EAM/FS setfl format.
splineType – The used spline type. Either EAMPotential.akima, EAMPotential.fivepoint, EAMPotential.bessel or EAMPotential.natural.
tags (None or sequence of str) – A list of tags (or None) that will be used for all particle types inside the EAM potential file.
- 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 EAM Finnis-Sinclair potential for HCP titanium by adding particle types and interaction functions to the TremoloXPotentialSet.
# -------------------------------------------------------------
# Bulk configuration for HCP titanium
# -------------------------------------------------------------
# Set up lattice
lattice = Hexagonal(2.9506*Angstrom, 4.6835*Angstrom)
# Define elements
elements = [Titanium, Titanium]
# Define coordinates
fractional_coordinates = [[ 0.33333333, 0.66666667, 0.25],
[ 0.66666667, 0.33333333, 0.75]]
# Set up configuration
bulk_configuration = BulkConfiguration(
bravais_lattice=lattice,
elements=elements,
fractional_coordinates=fractional_coordinates
)
# -------------------------------------------------------------
# Calculator
# -------------------------------------------------------------
# Create a new potential set
potentialSet = TremoloXPotentialSet(name='EAMFS_Ti_1992')
# Add the particle type to the potential set
potentialSet.addParticleType(ParticleType(symbol='Ti',
mass=47.867*atomic_mass_unit))
# Add the EAM potential to the potential set
potentialSet.addPotential(EAMfssetflPotential(file='Ti-Ackland-1992.eam.fs',
splineType='natural'))
# Create a TremoloX calculator from the potential set
calculator = TremoloXCalculator(parameters=potentialSet)
bulk_configuration.setCalculator(calculator)
Notes¶
The EAMfssetflPotential is a many-body potential implementing the embedded atom method (EAM) in the Finnis-Sinclair (FS) variant. It is primarily designed for metals and alloys [1], and it is similar to the EAMsetflPotential and the SuttonChenPotential.
The potential energy is defined as
where \(F\) is the embedding function, \(\rho\) is a generalized density arising from the neighbor atoms, and \(\phi\) is a repulsive pair potential.
In contrast to the EAMsetflPotential, the density function \(\rho\) does not depend on the neighbor type \(j\) alone, but is pair-dependent instead.
These functions are usually given in tabulated form and read from the file specified by the file
argument.