FrictionProviders.jl
This package provides MLIP interfaces for the prediction of electronic friction tensors for molecular systems.
FrictionProviders.ACEdsODF
— MethodACEdsODF(model, gamma, atoms_julip; friction_unit=u"ps^-1")
ACEfriction.jl tensorial electronic friction provider.
Arguments
model
This is the ACEfriction.FrictionModel
used to predict the friction tensor.
gamma
The function used to evaluate the friction tensor from the model using the ACEfriction model and JuLIP Atoms as an input.
Set this to ACEfriction.Gamma
unless you need a custom function to postprocess your friction tensor before it is used in dynamics.
atoms_julip
A copy of the structure which the friction tensor will be predicted from as JuLIP.Atoms
. This should contain the same atoms and positions, in the same order as your Dynamics Simulation if you are using the model for dynamics. If you are using isotopes, their atomic masses need to be correctly set within this structure to receive the correct friction.
friction_unit
The unit in which the ACEfriction model predicts the friction tensor. By default, this is a relaxation rate tensor in inverse ps.
FrictionProviders.AceLDFA
— MethodAceLDFA(friction_IP; density_unit=u"Å^-3")
ACE.jl electron density friction provider.
# Arguments
## friction_IP
This is the JuLIP potential created from the fitted ACE model, which is used to predict the electron density as a function of atomic positions.
## density_unit
The unit in which the ACE model predicts the electron density. By default, this is in Å^-3 and should be converted to atomic units of Bohr^-3.
FrictionProviders.friction_matrix_indices
— Methodfriction_matrix_indices(model, indices)
Returns the indices of the friction matrix corresponding to the given Atom indices.
NQCModels.FrictionModels.get_friction_matrix
— Methodget_friction_matrix(model::ACEdsODF, R::AbstractMatrix, friction_atoms::AbstractVector, cutoff::Float64)
getfrictionmatrix uses an ACEdsODF
model to predict the friction matrix for friction_atoms
and return it for just those atoms.
This behaviour is different to NQCModels.friction!, which returns friction for the whole system, not just friction_atoms
.