Thoughts for IRC Mtg (1/24/2013)
Current mixer work:
- using a 2-Pt orthogonal-cell test system
- wrote real-density mixer
- calling dacapo mixer from GPAW, but only works for simple systems so far. Also comparing the two.
- calling mixer multiple times can break D_ap, which somehow has a reference embedded in it
- visualization work:
- residuals (2D temperature plot, one per z-slice)
- look at integrated-residual compared to "converged density" (one number per density)
Possible future mixer work:
- look for "missing states" with rmm-diis and new setups (compared to cg)
- compare espresso-PAW mixer to GPAW
- D_ap visualization
Ideas
- try special metric in reciprocal space (done)
- change number of steps in rmm-diis: (jussi working on it) (https://wiki.fysik.dtu.dk/gpaw/devel/projects/rmmdiis.html (jussi also suggested this)
- aj thought having a way of changing calculator/mixer parameters mid-SCF loop would be very valuable, and would require only very high-level coding.
- aj/thomas thought that slow-cg-at-start followed by fast-rmm-diis-later might help (tested by Marcin, didn't help)
- thomas thought looking at the problematic convergence behavior might help guide us (e.g. "oscillations" or "blowup")
- dacapo/gpaw-pw "binary search"
- eliminate eigensolver as a culprit by calling it many times per SCF step (courtesy of Ask). (done: didn't help na2o4)
- implement blocked-davidson method as described in "Solving large nonlinear generalized eigenvalue problems from Density Functional Theory calculations in parallel", Claus Bendtsen, Ole H. Nielsen, Lars B. Hansen, in Applied Numerical Mathematics 37 (2001) 189-199. (courtesy of Ole/Jussi)
- do we get the correct initial guess for eigenstates? (ole asked). Ask says "yes" because it's an explicit diagonalization using lcao.
- try to make "initial guess" more the same in dacapo/gpaw
- check initial guess using an answer converged with other mixer parameters to seed failing mixer parameter case?
- redo the plot with only "convergence %" information, and post to gpaw-developers
- redo the plot with 340 cutoff vs. .2 (perhaps would reinforce the conventional wisdom?)
- somehow "visualize" the oscillation (perhaps do temperature plots of residuals)
- look at the norm of the residual (compared to rho_converged)
- try to understand D_ap better (e.g. numerology for H atom, why 15 instead of 9?)
- try to go through the algebra (e.g. mixing, special metric)
- read dacapo code and compare to FFTMixer
- read gpaw code and link to math (done)
- some way to eliminate the D's
- does the special metric work (and mixing) correctly on n-tilde?
- simpler test (single atom with new setups?)
- understand the FDoperator in mixer.py
- does GPAW ever use real-space density (yes, it must for plotting charge densities etc).
- confirm that new setups just add more D_ap
- compare to espresso/abinit
- try na2o4 with pk=true
- talk about "linearity" of D's
- go through the math
- add noise to wavefunctions
- find test systems that fail with cg