mirror of https://gitlab.com/QEF/q-e.git
192 lines
6.8 KiB
Plaintext
192 lines
6.8 KiB
Plaintext
TODO LIST - 18 Jan 2005
|
|
|
|
BUGS TO EXAMINE
|
|
|
|
- Zr hcp (Nathalie)
|
|
|
|
NEW DEVELOPMENTS TO MERGE
|
|
|
|
- support for FFTW3 (partly working) by Pascal Thibadeau
|
|
|
|
INSTALLATION/PORTING
|
|
|
|
- make the installation system itself as portable as possible
|
|
so that it can be easily used for other codes
|
|
|
|
- expand configure to cover as many configurations as possible
|
|
|
|
- exotic architectures: __FUJITSU, FUJ64, HITACHI, NEC-SX5, ...
|
|
|
|
- Axel's patches for multi-platform build?
|
|
|
|
COMMON
|
|
|
|
- data files: move to new format (XML + directories)
|
|
|
|
- pseudopotentials: support new format (XML)
|
|
|
|
- adding/removing/modifying input variables is too complex
|
|
|
|
- time steps in fs (both in input and in output)
|
|
|
|
- data files: What is exactly the status of file compatibility
|
|
between PW and CP/FPMD?
|
|
|
|
- fix shift in eigenvalues between CP/FPMD and PW
|
|
The eigenvalues should be the same
|
|
Total energies for charged systems should also be the same
|
|
|
|
- merge (standard) diagonalization routines
|
|
use parallel diagonalization in CP and PW
|
|
|
|
- merge spherical harmonics between CP-PW and FPMD
|
|
merge integration routines, random number generators
|
|
|
|
- variable declarations : real(kind=DP) or real(dbl), everywhere
|
|
|
|
- clean up intrinsic functions mess:
|
|
real, dreal, float, dfloat, dble
|
|
cmplx, dcmplx
|
|
conjg, dconjg
|
|
imag, aimag, dimag
|
|
plus preprocessing! See Carlo suggestions
|
|
|
|
- error is in flib/ but requires modules: not a good solution,
|
|
things in flib/ should not use modules except maybe kinds
|
|
and other very low level modules
|
|
|
|
- replace calls to level-1 blas copy, scal, axpy, with f90 syntax
|
|
|
|
- cleanup and merge of routines reading and processing PPs;
|
|
merge uspp-related stuff ("small box") of CP into PW
|
|
|
|
PW
|
|
|
|
- remove potential mixing, save and start from rho instead of V,
|
|
at least for scf calculations. Requires fixing the noncolinear
|
|
and electric-field cases. 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 makes sense
|
|
|
|
- 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
|
|
|
|
- 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 printout with UPF PP is incomplete or misleading (lloc=0)
|
|
|
|
- write explicitly and unambiguosly the units of output quantities
|
|
and also what are exactly the output quantites!
|
|
|
|
Low priority:
|
|
|
|
- add traceback in error (error_handler module)
|
|
|
|
- Put SHMEM stuff into a single module
|
|
|
|
POSTPROCESSING
|
|
|
|
- complete postprocessing in Gamma case, and with CP/FPMD data
|
|
|
|
- stm_wfc_matching not working
|
|
|
|
- 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
|
|
|
|
PH, D3, Gamma, Raman
|
|
|
|
- the factors in Raman coefficients are not what they should be
|
|
(I think) in order to have the stated units A^4/amu
|
|
|
|
- finish simplification of phonon dispersion calculation:
|
|
move all phonon-specific stuff (symmetry etc) from pw into phonon?
|
|
|
|
- same input for Gamma and PH; Gamma output compatible with Raman
|
|
|
|
- better algorithms for electron-phonon
|
|
|
|
- replace "use pwcom" into more "use" statements
|
|
|
|
DOCUMENTATION
|
|
|
|
- examples for some features (notably variab;le cell) 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
|
|
|
|
CP/FPMD:
|
|
|
|
- extend to CP/FPMD possibility to save wavefunctions either
|
|
'distributed' or 'collected' in parallel execution
|
|
|
|
- CP: check on small box size
|
|
|
|
- CP: the output is horrible
|
|
|
|
- Documentation needs serious improvements
|
|
|
|
- Proposals from Princeton:
|
|
* just one name for CP and FPMD
|
|
* default set up for molecular calculations
|
|
* default cutoff values as well as radii of augmented charge
|
|
from pseudopotential files
|
|
* default choice for spin restricted and spin unrestricted configurations
|
|
for neutral systems (maybe already there?)
|
|
* automatic FFT grids from cutoff
|
|
* automatic box grid for USPP from radii of augmented charge
|
|
* default values for emass(emass=300), for dt (dt=7), for preconditioning
|
|
cutoff (3)
|
|
* the code should consider a common error:
|
|
dt^2/emass too large does not allow ortho to converge
|
|
or cause energy to increase as time step evolve
|
|
* Electronic minimization: SD should be discouraged: use damp as default,
|
|
introduce an automatic default schedule, something as:
|
|
1st step sd followed by 5 steps with with damp= 0.8,
|
|
followed by 5 steps with damp=0.5,
|
|
followed by 10 steps with damp=0.3,
|
|
followed by 10 steps with damp=0.2,
|
|
followed by as many steps as necessary
|
|
to achieve the required convergence with damp=0.1
|
|
A max number of steps should be included to ensure program termination
|
|
The other option allowed should be conjugate gradients:
|
|
see Nicola - eventually it could become the default
|
|
* Ionic minimization: again SD should be discouraged
|
|
A default scheme for simultaneous damped dynamics should be given
|
|
(to be tested) for example: zero damp on ions and start with damp=0.5
|
|
on electrons to become then 0.1 or perhaps the values should be set
|
|
given the forces on the ions
|
|
When moving ions and electrons simultaneously an important parameter
|
|
is the ratio between electron and ion masses - For minimization it
|
|
is better to set up all the ion masses equal - A default value for
|
|
the ion masses (considering the defaults for emass and dt) is perhaps
|
|
10 AMU (we should do some test to see if 20 AMU is s a safer value)
|
|
* Default values for randomization should be given
|
|
amprp=0.1 is a decent value - amprp=0.01 is too small
|
|
* Car-Parrinello dynamics: the proper masses for the ions, an optimal value
|
|
for emass and dt should be set up by the code, based on the smaller atomic
|
|
mass and the default value used in the minimizationi
|
|
e.g. Amass_default=10 AMU. If the minimum physical AMASS is 20 then
|
|
dt=sqrt(2) dt_default and emass should be increased so to keep
|
|
emass^2/dt constant
|
|
* defaults for the Nose thermostat, introduction of Nose' chains
|
|
|