next up previous contents index
Next: Function prototypes and data Up: eFF Programmers' Guide Previous: To add new features   Contents   Index


To access hidden features

Check analytic derivatives

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.

Use spin annealing

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.

Julius 2008-04-29