The functions PrintAnalyticForces() and PrintNumericalForces() in eff_output will print out to the standard output all the nuclear and electron forces, evaluated analytically and numerically through finite differences. Commented-out calls to these functions appear in eff_driver. When developing new energy expressions, it is useful to check that the analytic derivatives are correct by comparing the output of these two functions.
The function AnnealSpins() in eff_driver randomly swaps opposite spins in a Metropolis Monte Carlo fashion while keeping all particle positions fixed, using a temperature ramp profile specified through the arguments. A commented-out call to this function appear in RunSinglePoint() in eff_driver. We have used this routine to anneal the spin configuration of lithium solid to a lower potential energy state.