DynamicsUtils
NQCDynamics.DynamicsUtils — ModuleDynamicsUtilsUtilities 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 — MethodCellBoundaryCallback()Whenever atoms leave the simulation cell, enforce the periodicity by wrapping the positions at the cell boundary.
NQCDynamics.DynamicsUtils.TerminateCellCallback — MethodTerminateCellCallback()If the atoms leave the simulation cell, terminate the simulation.
NQCDynamics.DynamicsUtils.TerminatingCallback — MethodTerminatingCallback(func)Provide a function that returns true when the simulation should terminate.
NQCDynamics.DynamicsUtils.apply_interbead_coupling! — Methodapply_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! — Methodcommutator!(C, A, B)Calculate C = AB - BA.
NQCDynamics.DynamicsUtils.divide_by_mass! — Methoddivide_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! — Methodvelocity!(dr, v, r, sim, t)Write the velocity v into dr. Has extra arguments to work with Dynamical(O/S)DEProblems.