FrictionModels

NQCModels.FrictionModels.ASEFrictionProviderType
ASEFrictionProvider{A} <: ElectronicFrictionProvider

Obtain the electronic friction from an ASE calculator that implements get_friction_tensor. Assumes that the units of friction are "eV/Å/Å". Construct by passing the ase atoms object with the calculator already attached.

source
NQCModels.FrictionModels.AdiabaticFrictionModelType
AdiabaticFrictionModel <: AdiabaticModel

AdiabaticFrictionModels must implement potential!, derivative!, and friction!

potential! and friction! should be the same as for the AdiabaticModel.

friction! must fill an AbstractMatrix with size = (ndofs*natoms, ndofs*natoms).

source
NQCModels.FrictionModels.CompositeFrictionModelType
CompositeFrictionModel{M,F} <: AdiabaticFrictionModel

Combine an AdiabaticModel with an ElectronicFrictionProvider.

This allows for arbitrary composition of potentials and friction providers, such that any adiabatic model can be augmented with any form of electronic friction.

source
NQCModels.FrictionModels.friction!Function
friction!(model::AdiabaticFrictionModel, F, R:AbstractMatrix)

Fill F with the electronic friction as a function of the positions R.

This need only be implemented for AdiabaticFrictionModels.

source