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.

Base.length — Function
length(params::BasisParameters) :: Int

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

source
InteratomicBasisPotentials.evaluate_basis — Function
evaluate_full(A::AbstractSystem, params::BasisParameters)::Tuple(Vector{Vector}, Vector{Matrix}, Vector{Matrix})

Retrieve the local descriptors (descriptors, gradients, and virials) for a Basis Potential

source
InteratomicBasisPotentials.evaluate_basis_v — Function
evaluate_basis_v(A::AbstractSystem, params::BasisParameters)::Matrix{Float64}

Retrieve the descriptor vectors corresponding to the virial stress tensor of a configuration, for a Basis Potential.

source
InteratomicPotentials.energy_and_force — Function
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.force — Function
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.get_rcutoff — Function
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_species — Function
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_energy — Function
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.virial — Function
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_stress — Function
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