API Reference

This page provides a list of all documented types and functions and in InteratomicBasisPotentials.jl.

If you are looking for more specifics on the InteratomicPotentials Interface, see the InteratomicBasisPotentials Interface page.

InteratomicBasisPotentials.LBasisPotentialType
LBasisPotential <: LinearBasisPotential

Type covering interatomic potentials that produce energies and forces as a linear function of the basis descriptors. Typical examples include vanilla ACE/SNAP. Each struct contains the parameters of the potential, β', and the basis system being used,basis'.

source
Base.lengthFunction
length(params::BasisParameters) :: Int

Retrieve the length of the descriptor vector, the number of descriptors used in the basis potential.

source
InteratomicBasisPotentials.get_rpiFunction
get_rpi(ace_params::ACE)::ACE1.RPI

Retrive the underlying RPI parameter type from ACE1. This is a convience function for exporting ACE parameters to file.

source
InteratomicPotentials.energy_and_forceFunction
energy_and_force(s::AbstractSystem, p::AbstractPotential)::NamedTuple{(:e, :f), Tuple{Unitful.Energy,Vector{SVector{3, Unitful.Force}}}}

Calculate the unit-annotated potential energy of a system and the force acting on each particle in a system using the provided interatomic potential. This combined function is offered because it is usually more efficient to calculate both properties simultaneously.

source
InteratomicPotentials.forceFunction
force(s::AbstractSystem, p::AbstractPotential)::Vector{SVector{3, Unitful.Force}}

Calculate the unit-annotated force acting on each particle in a system using the provided interatomic potential. The default implementation uses the :f property of energy_and_force(s,p).

source
InteratomicPotentials.forceMethod

force(A::AbstractSystem, p::NNBasisPotential)

A: atomic system or atomic configuration. p: neural network basis potential.

Returns the force of a system using a neural network basis potential.

source
InteratomicPotentials.get_rcutoffFunction
get_rcutoff(p::AbstractPotential)::AbstractFloat

Retrieve the radius cutoff for the provided potential. This is the cutoff used for neighbor list calculations. (i.e. Any pairs beyond this cutoff will be ignored.) Defaults to Inf if a potential type does not implement a custom method.

source
InteratomicPotentials.get_speciesFunction
get_species(p::AbstractPotential)::Union{Tuple,Missing}

Retrieve the species to be included in an interaction (pairs including a species not in the list are ignored). A value of missing indicates that all species should be included, which is the default behavior if a potential type does not implement a custom method.

source
InteratomicPotentials.potential_energyFunction
potential_energy(s::AbstractSystem, p::AbstractPotential)::Unitful.Energy

Calculate the unit-annotated potential energy of a system using the provided interatomic potential. The default implementation uses the :e property of energy_and_force(s,p).

source
InteratomicPotentials.potential_energyMethod

potential_energy(A::AbstractSystem, p::NNBasisPotential)

A: atomic system or atomic configuration. p: neural network basis potential.

Returns the potential energy of a system using a neural network basis potential.

source
InteratomicPotentials.virialFunction
virial(s::AbstractSystem, p::AbstractPotential)::Unitful.Energy

Calculate the unit-annotated virial of a system, officially calculated as the trace contraction of the sum of radial-force outerproducts: $tr\left( \sum r_{ij} \bigotimes F_{ij} \right)$

source
InteratomicPotentials.virial_stressFunction
virial_stress(s::AbstractSystem, p::AbstractPotential)::SVector{6,Unitful.Energy}

Calculate the unit-annotated virial stress tensor of a system, officially calculated as the sum of radial-force outerproducts: $\sum r_{ij} \bigotimes F_{ij}$, only returns the unique lower-diagonal components.

source