2021-02-24 01:28:02 +08:00
|
|
|
##NOTES##
|
2020-04-26 03:13:15 +08:00
|
|
|
|
2021-01-19 22:20:43 +08:00
|
|
|
* Routines or utilities existing in two copies, one for QE and one for upflib:
|
2020-04-26 03:13:15 +08:00
|
|
|
- randy
|
|
|
|
in module uspp, file uspp.f90
|
|
|
|
- invmat
|
|
|
|
simplified version, in module upf_invmat, file upf_invmat.f90
|
|
|
|
- capital, lowercase, isnumeric, matches, version_compare
|
|
|
|
in module upf_utils, file upf_utils.f90
|
|
|
|
- errore and infomsg
|
|
|
|
as upf_error, in file upf_error.f90
|
|
|
|
|
2021-02-24 01:28:02 +08:00
|
|
|
* Module variables that have been (partially) duplicated:
|
|
|
|
- kinds => upf_kinds (only dp)
|
|
|
|
- constants => upf_const
|
2021-04-08 20:40:24 +08:00
|
|
|
- nsp in ions_base points to nsp in uspp_param
|
2021-02-24 01:28:02 +08:00
|
|
|
|
|
|
|
* TO BE DONE:
|
2021-12-31 16:09:47 +08:00
|
|
|
|
|
|
|
- PP files:
|
|
|
|
semilocal Vnl and human-readable sections are not read, but they should:
|
|
|
|
converters may make a good usage of that information
|
|
|
|
How to read from a given record in fortran (without direct I/O) ?
|
|
|
|
fseek, ftell, pos= identifier, stream I/O?
|
|
|
|
|
2021-02-28 03:59:17 +08:00
|
|
|
- set the correct value of nsp in uspp_param when allocate_uspp is called,
|
|
|
|
use it ONLY inside upflib, remove link of nsp in ions_base to uspp_param
|
2021-03-05 00:49:45 +08:00
|
|
|
- nh(:) is allocated in init_uspp_dims, but maybe it should allocated
|
|
|
|
together with upf(:), when upf is read? Or maybe nh should be part of upf?
|
2021-03-04 19:17:56 +08:00
|
|
|
It is used in many many places, though!
|
2021-12-31 16:09:47 +08:00
|
|
|
|
2021-03-04 19:17:56 +08:00
|
|
|
- Merge pseudopotential_indexes from CPV/src/pseudopot_sub.f90 with the
|
2021-04-06 17:06:22 +08:00
|
|
|
uspp initialization in upflib (init_us_1 etc); merge qvan2b and qvan2
|
|
|
|
(requires merge of interpolation tables qrad and qradb)
|
2021-12-31 16:09:47 +08:00
|
|
|
|
2021-02-26 22:44:58 +08:00
|
|
|
- upf_ions now contains just a function n_atom_wfc: move somewhere else?
|
2021-04-06 17:06:22 +08:00
|
|
|
- upf_spinorb contains just two variables: merge into uspp? add to it
|
|
|
|
the two functions spinor and sph_ind used only for spin-orbit?
|
|
|
|
- lmaxq should be "the maximum value of L in Q functions", not "... + 1"
|
|
|
|
and should be used to dimension arrays where l=0,...,L. The dimension
|
|
|
|
of spherical harmonics (2*lmaxkb+1)^2 is something different and should
|
|
|
|
be stored in a different variable (something like ylmdim, or maxlm)
|
2021-12-31 16:09:47 +08:00
|
|
|
|
2021-04-09 03:57:00 +08:00
|
|
|
- Names of interpolation tables and related routines are random:
|
|
|
|
CP PW new name? contains computed in
|
|
|
|
betagx tab tab_beta beta(G) functions compute_betagx,
|
|
|
|
dbetagx dbeta(G)/dG compute_betagx
|
2021-04-17 14:25:38 +08:00
|
|
|
qradx qrad tab_q Q(G) for USPP/PAW init_tab_qrad
|
2021-04-09 03:57:00 +08:00
|
|
|
dqradx dQ(G)/dG compute_qradx
|
2021-05-01 20:19:49 +08:00
|
|
|
tab_at tab_atwfc atomic R_nl(G) init_tab_atwfc
|
2021-04-15 15:40:53 +08:00
|
|
|
(tab_atrho atomic rho(G) to be done)
|
2021-05-01 20:19:49 +08:00
|
|
|
(tab_vloc local potential to be done)
|
2021-01-19 22:20:43 +08:00
|
|
|
|
2021-12-31 16:09:47 +08:00
|
|
|
|
2020-04-26 03:13:15 +08:00
|
|
|
* upflib restructuring:
|
|
|
|
- shall we keep just one src folder ? or structure it a bit more, such as
|
2021-12-31 16:09:47 +08:00
|
|
|
upflib/baselib all basic data structures and io
|
|
|
|
upflib/advlib advanced initializations (init_us_0,1,2)
|
|
|
|
upflib/tools tools from upftools
|
2020-04-26 03:13:15 +08:00
|
|
|
|