DynamicsUtils
NQCDynamics.DynamicsUtils — Module
DynamicsUtilsUtilities for dynamics simulations. Includes:
- Basic dynamics variables functions
- Density matrix dynamics functions
- Standard callbacks to use during dynamics
- Plotting recipes for outputs
NQCDynamics.DynamicsUtils.CellBoundaryCallback — Method
CellBoundaryCallback()Whenever atoms leave the simulation cell, enforce the periodicity by wrapping the positions at the cell boundary.
NQCDynamics.DynamicsUtils.TerminateCellCallback — Method
TerminateCellCallback()If the atoms leave the simulation cell, terminate the simulation.
NQCDynamics.DynamicsUtils.TerminatingCallback — Method
TerminatingCallback(func)Provide a function that returns true when the simulation should terminate.
NQCDynamics.DynamicsUtils.apply_interbead_coupling! — Method
apply_interbead_coupling!(du::DynamicalVariables, u::DynamicalVariables,
sim::RingPolymerSimulation)Applies the force that arises from the harmonic springs between adjacent beads.
Only applies the force for atoms labelled as quantum within the RingPolymerParameters.
NQCDynamics.DynamicsUtils.commutator! — Method
commutator!(C, A, B)Calculate C = AB - BA.
NQCDynamics.DynamicsUtils.divide_by_mass! — Method
divide_by_mass!(dv, masses)Divide the contents of dv by the masses. Assumes dv is an array of size (dofs, atoms) or (dofs, atoms, beads). masses is the vector of masses for each atom that matches length with the second dimension.
NQCDynamics.DynamicsUtils.velocity! — Method
velocity!(dr, v, r, sim, t)Write the velocity v into dr. Has extra arguments to work with Dynamical(O/S)DEProblems.