Skip to content
  • degironc's avatar
    KS_Solvers directory has been created with three subdirectories: · 4636bca6
    degironc authored
    KS_Solvers/CG, KS_Solvers/Davidson, KS_Solvers/Davidson_RCI.
    Two are currently used by QE, the third one implements the Davidson
    diagonalization within the Reverse Communication Interface paradigm,
    courtesy of Micael Oliveira.
    
    KS_Solvers routines depend only on lower level libraries, notably UtilXlib, 
    LAXlib, (SCA)LAPACK, and BLAS.
    
    reorganization can be improved. For instance some duplicated routines like
    cdiaghg and rdiaghg could/should be moved in LAXlib. This could reduce the need
    to include  KS_Solvers directories in the link step of many codes.    
    
    Minimal changes to calling sequence have been made, essentially just adding
    h_psi,s_psi,g_psi and h_1psi,s_1psi routines names as arguments (with a
    specific calling sequence ihardcode inside the routines that agree with PWSCF one). 
    This could be avoided adopting the RCI paradigm.
    
    Compiled in serial and parallel, 177/182 pw tests passed (3 that were failing 
    even before on my laptop pw-berry, pw-langevin, pw-pawatom + 2 unknown==not tested), 
    12 /17 cp tests passed (some o2-us-para-pbe-X fail but the same was for the 
    original version)
    
    I assume the modified calling procedure is working and the problem lies somewhere else.
     
    Randomly tested some examples in pw, ph, pwcond and it seams to work.
    
    Please report any problem.
    
    
    
    
    
    git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13644 c92efa57-630b-4861-b058-cf58834340f0
    4636bca6