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.lengthFunction
length(params::BasisParameters) :: Int

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

source
InteratomicBasisPotentials.evaluate_basisFunction
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_vFunction
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_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.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.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