TODO LIST - 5 February 2004 INSTALLATION/PORTING - expand new configure to cover as many configurations as possible - Linux Alpha ? - Make.irix ? COMMON - fix shift in eigenvalues between CP/FPMD and PW The eigenvalues must be the same!!! - fix shift in total energy between CP, FPMD and PW for charged systems. Total energies for charged systems must be the same!!! - merge (standard) diagonalization routines use parallel diagonalization in CP and PW - file format unification must be finished - merge spherical harmonics, integration routines, etc spherical bessel: add routine directly calculating dj_l(x)/dx, verify limits x=>0, fix special cases x=>0 into the codes - variable declarations : real(kind=DP), or real(dbl), everywhere - real vs dreal, cmplx vs dcmplx, dfloat etc - calculation of - process numbering: 1 to nproc or 0 to nproc-1 ? PW - wavefunctions extrapolation fails when some new band comes in ( and some other goes out ) during the ionic evolution. This imply that = 0 for this "new" band ( tipically one the highest unoccupied band ) and the alignment of the subspaces is no longer possible. In this case the history of this new band should be erased and no extrapolation should be performed - extend wavefunctions extrapolation to ionic relaxation and to NEB calculations. subroutine find_alpha_and_beta() should be moved from dynamics.f90 to update_pot.f90 and relative informations should be written on a new file - remove iswitch, replace with existing (minus_q, lscf) or new logical variables - the assignment of correct weigths to k-points must be done in a more general and less obscure way (needed for better support of noncolinear stuff) - maximize merge of colinear (PW) and with noncolinear (PWNC) code - replace "use pwcom" into more "use" statement - add traceback in error (error_handler module) - remove analytical PPs and related variables - remove residual direct calls to MPI routines, use (or merge with) existing routines in mp.f90 instead - remove all calls to setv in PH and D3; all calls to zero and SSUM in CPV; calls to level-1 blas copy, scal - remove potential mixing, save and start from rho instead of V, at least for scf calculations. For non-scf calculations: we may still start from V, but the output file MUST include the scf rho, not a bogus rho as it may happen now - save rho and/or V in G-space instead of R-space check that what is read is sensible - remove old punch, use new punch, add possibility to save wavefunctions either 'distributed' or 'collected' in parallel execution (requires identifier in the first line of the file) - add possibility to read atomic positions from file - Use more standard choices for crystal axis - fix problem with j'_l(x)Y_lm(x) for x -> 0 and l=1 - ultrasoft PP: import "small boxes" from CP - make hpsi/spsi/newd/addusdens/CG/DIIS faster - remove complex factor i**l from beta fct and q(r) (preliminary) - shift structure factor from beta to psi when computing becp (reduce memory) - use real BLAS routine instead of COMPLEX one in hpsi/spsi (at least 2 times faster). - use only half of the G's when computing real integrals (2 times faster) - seek for CG and DIIS algoritms that only use (H-eS)|psi> and not the two vector separately ... compute it in one single call. (this way S|psi> is inexpensive) - output should be more informative and less confused - the various *bfgs, dynamics, vcsmd should be rewritten in a more uniform way with respect to what they print and how the parallel case is treated. Always write at the end the lattice parameters. - write explicitly and unambiguosly the units of output quantities POSTPROCESSING - postprocessing/pwtools in the parallel case and with new_punch must be verified - stm_wfc_matching not working - dos, projected dos, etc: input data should be more uniform - the dynamical matrix written by the phonon code does not contain the information on lattice basis vectors if ibrav=0. As a consequence most postprocessing codes will not work - reconstruction of all-electron wavefunctions PH - Tone: ntyp in input needed for phonon GUI ? - better algorithm for electron-phonon (Malgorzata) DOCUMENTATION - examples for some features are still missing automated testing procedure: how to deal with numerical differences? - expand and update the manual; add a list of FAQ, or of already answered questions - complete the developer's (technical) guide FPMD: - Documentation is nonexistent CPV: - Documentation needs serious improvements - check on input ipp and pp type. Even better: remove ipp (leave either UPF or old-format Vanderbilt) - check on small box size - replace calls to zero, ssum, csum, blas copy, scal, with f90 commands