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.LBasisPotential — TypeLBasisPotential <: LinearBasisPotentialType 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'.
InteratomicBasisPotentials.NNBasisPotential — TypeNNBasisPotential <: NeuralNetworkBasisPotentialDefinition of the neural network basis potential composed type.
Base.length — Functionlength(params::BasisParameters) :: IntRetrieve the length of the descriptor vector, the number of descriptors used in the basis potential.
InteratomicBasisPotentials.get_rpi — Functionget_rpi(ace_params::ACE)::ACE1.RPIRetrive the underlying RPI parameter type from ACE1. This is a convience function for exporting ACE parameters to file.
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.force — Methodforce(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.
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.potential_energy — Methodpotential_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.
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.