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.BasisParameters — TypeBasisParametersAbstract type for the parameters that define the generation of descriptors for a potential.
InteratomicBasisPotentials.BasisPotential — TypeBasisPotential <: AbstractPotentialAbstract type for potentials that are defined by a basis of polynomials.
Base.length — Functionlength(params::BasisParameters) :: IntRetrieve the length of the descriptor vector, the number of descriptors used in the basis potential.
InteratomicBasisPotentials.evaluate_basis — Functionevaluate_full(A::AbstractSystem, params::BasisParameters)::Tuple(Vector{Vector}, Vector{Matrix}, Vector{Matrix})Retrieve the local descriptors (descriptors, gradients, and virials) for a Basis Potential
InteratomicBasisPotentials.evaluate_basis_d — Functionevaluate_basis_d(A::AbstractSystem, params::BasisParameters)::Vector{Matrix{Float64}}Retrieve the gradient of the descriptors (used for force calulations) for a Basis Potential.
InteratomicBasisPotentials.evaluate_basis_v — Functionevaluate_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.
InteratomicPotentials.energy_and_force — Functionenergy_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.
InteratomicPotentials.force — Functionforce(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).
InteratomicPotentials.get_rcutoff — Functionget_rcutoff(p::AbstractPotential)::AbstractFloatRetrieve 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.
InteratomicPotentials.get_species — Functionget_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.
InteratomicPotentials.potential_energy — Functionpotential_energy(s::AbstractSystem, p::AbstractPotential)::Unitful.EnergyCalculate 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).
InteratomicPotentials.virial — Functionvirial(s::AbstractSystem, p::AbstractPotential)::Unitful.EnergyCalculate 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)$
InteratomicPotentials.virial_stress — Functionvirial_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.