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

\[V = \sum_{i<j} \phi_{ij}(r_{ij}) + \sum_i \left( \sum_{j \neq i} \rho_{ij}(r_{ij}) \right) \, ,\]

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.