Calculators

NQCDynamics.CalculatorsModule
Calculators

This module exists to bridge the gap between the Models and the Dynamics.

Here, we provide functions and types for evaluating and storing quantities obtained from the Models. In addition any further manipulation of those quantities, such as computing eigenvalues, is included here.

This module is largely needed to facilitate integration of both ring polymer and classical dynamics to allow using the same models and functions for both. Specific ring polymer types are provided that have the extra fields and methods needed to evaluate the quantities for each bead.

source
NQCDynamics.Calculators.quantitiesConstant

Each of the quantities specified here has functions: get_quantity(calculator, r) evaluate_quantity!(calculator, r)!

The user should access only the former. This will ensure quantities are correctly evaluated and cached accordingly.

The latter is called by the former and is where the details required to calculate the quantity are found.

source
NQCDynamics.Calculators.update_electronics!Method

Evaluates all electronic properties for the current position r.

Properties evaluated:

  • Diabatic potential
  • Diabatic derivative
  • Eigenvalues and eigenvectors
  • Adiabatic derivative
  • Nonadiabatic coupling

This should no longer be used, instead access the quantities directly with get_quantity(calc, r).

source