DynamicsUtils
NQCDynamics.DynamicsUtils
— ModuleDynamicsUtils
Utilities 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)DEProblem
s.