NQCModels

NQCModels.NQCModelsModule

NQCModels define the potentials and derivatives that govern the dynamics of the particles. These can exist as analytic models or as interfaces to other codes.

source
NQCModels.ModelType

Top-level type for models.

Implementation

When adding new models, this should not be directly subtyped. Instead, depending on the intended functionality of the model, one of the child abstract types should be subtyped. If an appropriate type is not already available, a new abstract subtype should be created.

source
NQCModels.derivative!Method
derivative!(model::Model, D, R::AbstractMatrix)

Fill D with the derivative of the electronic potential as a function of the positions R.

This must be implemented for all models.

source
NQCModels.derivativeMethod
derivative(model::Model, R)

Allocating version of derivative!, this definition should be suitable for all models.

Implement zero_derivative to allocate an appropriate array then implement derivative! to fill the array.

source
NQCModels.ndofsMethod
ndofs(::Model)

Get the number of degrees of freedom for every atom in the model. Usually 1 or 3.

source
NQCModels.potential!Method
potential!(model::Model, V, R::AbstractMatrix)

In-place version of potential, used only when mutable arrays are preferred.

Currently used only for LargeDiabaticModels, see diabatic/DiabaticModels.jl.

source
NQCModels.potentialMethod
potential(model::Model, R::AbstractMatrix)

Evaluate the potential at position R for the given model.

source