SAPO iterative diagonalization

Submitted by wxiaom86 on Sun, 02/05/2017 - 19:01

Hello,

I found the iterative procedure for diagonalizing the Hamiltonian for my system is always oscillating when the number of sapo plane waves increased, say 2500, 3000 or so. I tried different sapo_ham_ndim and different exact DFT orbitals but it doesn't work. So is there a way to tune to convergence?
BTW, if I don't use iterative diagonalization, but just diagonalize the Hamiltonian, there will usually be a large norm residue. In that case, can I use the SAPO orbitals for GW calculation?

Here is my input:
&input_sapo
wfng_input_file = 'wfn.cplx'
vscg_input_file = 'vsc.cplx'
vkbg_input_file = 'vkb.cplx'
wfng_output_file = 'wfn.cplx.sapo'
sapo_band_number = -1
sapo_planewave_min = 1
sapo_planewave_max = 2501
sapo_orthonormal = .true.
sapo_random = 2
sapo_hamiltonian = .true.
sapo_ham_nrestart = 10
sapo_ham_ndiag = 50
sapo_ham_ndim = 20
sapo_ham_tol = 1.0d-7
sapo_ham_resinc = .false.
sapo_check_norm = .true.
sapo_eigenvalue = .false.
sapo_energy_sort = .false.
/

And the output:
Running MPI version (parallel)
Running with 256 MPI task(s)
Using OpenMP. Number of threads per MPI task: 1

Compilation flags:
- Compiler: INTEL
- Para. flags: MPI, OMP
- Math flags: USESCALAPACK, UNPACKED, USEFFTW3, HDF5
- Debug flags:

Reading parameters from file sapo.inp

nsym = 12 nk = 1 ns = 2 nb = 100 ng = 33845 ngkmax = 4245
ng_l = 133 ng_g = 34048 ngk_l = 17 ngk_g = 4352
FFTgrid = ( 72 72 72 ) nFFTgridpts = 373248
nbinp = 100 nbpw = 2501 b2g = 100 nbaux = 0 nbtot = 2601

Reading wavefunctions from file wfn.cplx

Generating plane waves

Generating completely random wavefunctions

Orthonormalizing PW & AUX wavefunctions w.r.t. DFT

Reading potential from file vsc.cplx

Reading potential from file vkb.cplx

Constructing and diagonalizing Hamiltonian

BLACS processor grid: 16 x 16; BLOCKSIZE = 32

Memory available: 3915.9 MB per MPI task, 32 MPI tasks per node
Memory required for execution: 323.8 MB per MPI task

ik = 1 is = 1 idiag = 1 dE(Ry) =21.0339142681291 residual =23.2650846479910
ik = 1 is = 1 idiag = 2 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 1 idiag = 3 dE(Ry) =0.00000000000000 residual =16.8913306516266
ik = 1 is = 1 idiag = 4 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 1 idiag = 5 dE(Ry) =0.00000000000000 residual =16.8913306516266
ik = 1 is = 1 idiag = 6 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 1 idiag = 7 dE(Ry) =0.00000000000000 residual =16.8913306516266
ik = 1 is = 1 idiag = 8 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 1 idiag = 9 dE(Ry) =0.00000000000000 residual =16.8913306516266
ik = 1 is = 1 idiag = 10 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 1 idiag = 11 dE(Ry) =0.00000000000000 residual =16.8913306516266
ik = 1 is = 1 idiag = 12 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 1 idiag = 13 dE(Ry) =0.00000000000000 residual =16.8913306516266
ik = 1 is = 1 idiag = 14 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 1 idiag = 15 dE(Ry) =0.00000000000000 residual =16.8913306516266
ik = 1 is = 1 idiag = 16 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 1 idiag = 17 dE(Ry) =0.00000000000000 residual =16.8913306516266
ik = 1 is = 1 idiag = 18 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 1 idiag = 19 dE(Ry) =0.00000000000000 residual =16.8913306516266
ik = 1 is = 1 idiag = 20 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 1 idiag = 21 dE(Ry) =0.00000000000000 residual =16.8913306516266
ik = 1 is = 1 idiag = 22 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 1 idiag = 23 dE(Ry) =0.00000000000000 residual =16.8913306516266
ik = 1 is = 1 idiag = 24 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 1 idiag = 25 dE(Ry) =0.00000000000000 residual =16.8913306516266
ik = 1 is = 1 idiag = 26 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 1 idiag = 27 dE(Ry) =0.00000000000000 residual =16.8913306516266
ik = 1 is = 1 idiag = 28 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 1 idiag = 29 dE(Ry) =0.00000000000000 residual =16.8913306516266
ik = 1 is = 1 idiag = 30 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 1 idiag = 31 dE(Ry) =0.00000000000000 residual =16.8913306516266
ik = 1 is = 1 idiag = 32 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 1 idiag = 33 dE(Ry) =0.00000000000000 residual =16.8913306516266
ik = 1 is = 1 idiag = 34 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 1 idiag = 35 dE(Ry) =0.00000000000000 residual =16.8913306516266
ik = 1 is = 1 idiag = 36 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 1 idiag = 37 dE(Ry) =0.00000000000000 residual =16.8913306516266
ik = 1 is = 1 idiag = 38 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 1 idiag = 39 dE(Ry) =0.00000000000000 residual =16.8913306516266
ik = 1 is = 1 idiag = 40 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 1 idiag = 41 dE(Ry) =0.00000000000000 residual =16.8913306516266
ik = 1 is = 1 idiag = 42 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 1 idiag = 43 dE(Ry) =0.00000000000000 residual =16.8913306516266
ik = 1 is = 1 idiag = 44 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 1 idiag = 45 dE(Ry) =0.00000000000000 residual =16.8913306516266
ik = 1 is = 1 idiag = 46 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 1 idiag = 47 dE(Ry) =0.00000000000000 residual =16.8913306516266
ik = 1 is = 1 idiag = 48 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 1 idiag = 49 dE(Ry) =0.00000000000000 residual =16.8913306516266
ik = 1 is = 1 idiag = 50 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 2 idiag = 1 dE(Ry) =20.9630752809256 residual =23.3516522285675
ik = 1 is = 2 idiag = 2 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 2 idiag = 3 dE(Ry) =0.00000000000000 residual =16.9173596318207
ik = 1 is = 2 idiag = 4 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 2 idiag = 5 dE(Ry) =0.00000000000000 residual =16.9173596318207
ik = 1 is = 2 idiag = 6 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 2 idiag = 7 dE(Ry) =0.00000000000000 residual =16.9173596318207
ik = 1 is = 2 idiag = 8 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 2 idiag = 9 dE(Ry) =0.00000000000000 residual =16.9173596318207
ik = 1 is = 2 idiag = 10 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 2 idiag = 11 dE(Ry) =0.00000000000000 residual =16.9173596318207
ik = 1 is = 2 idiag = 12 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 2 idiag = 13 dE(Ry) =0.00000000000000 residual =16.9173596318207
ik = 1 is = 2 idiag = 14 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 2 idiag = 15 dE(Ry) =0.00000000000000 residual =16.9173596318207
ik = 1 is = 2 idiag = 16 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 2 idiag = 17 dE(Ry) =0.00000000000000 residual =16.9173596318207
ik = 1 is = 2 idiag = 18 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 2 idiag = 19 dE(Ry) =0.00000000000000 residual =16.9173596318207
ik = 1 is = 2 idiag = 20 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 2 idiag = 21 dE(Ry) =0.00000000000000 residual =16.9173596318207
ik = 1 is = 2 idiag = 22 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 2 idiag = 23 dE(Ry) =0.00000000000000 residual =16.9173596318207
ik = 1 is = 2 idiag = 24 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 2 idiag = 25 dE(Ry) =0.00000000000000 residual =16.9173596318207
ik = 1 is = 2 idiag = 26 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 2 idiag = 27 dE(Ry) =0.00000000000000 residual =16.9173596318207
ik = 1 is = 2 idiag = 28 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 2 idiag = 29 dE(Ry) =0.00000000000000 residual =16.9173596318207
ik = 1 is = 2 idiag = 30 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 2 idiag = 31 dE(Ry) =0.00000000000000 residual =16.9173596318207
ik = 1 is = 2 idiag = 32 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 2 idiag = 33 dE(Ry) =0.00000000000000 residual =16.9173596318207
ik = 1 is = 2 idiag = 34 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 2 idiag = 35 dE(Ry) =0.00000000000000 residual =16.9173596318207
ik = 1 is = 2 idiag = 36 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 2 idiag = 37 dE(Ry) =0.00000000000000 residual =16.9173596318207
ik = 1 is = 2 idiag = 38 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 2 idiag = 39 dE(Ry) =0.00000000000000 residual =16.9173596318207
ik = 1 is = 2 idiag = 40 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 2 idiag = 41 dE(Ry) =0.00000000000000 residual =16.9173596318207
ik = 1 is = 2 idiag = 42 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 2 idiag = 43 dE(Ry) =0.00000000000000 residual =16.9173596318207
ik = 1 is = 2 idiag = 44 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 2 idiag = 45 dE(Ry) =0.00000000000000 residual =16.9173596318207
ik = 1 is = 2 idiag = 46 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 2 idiag = 47 dE(Ry) =0.00000000000000 residual =16.9173596318207
ik = 1 is = 2 idiag = 48 dE(Ry) =1000000000000.00 residual =1000000000000.00
ik = 1 is = 2 idiag = 49 dE(Ry) =0.00000000000000 residual =16.9173596318207
ik = 1 is = 2 idiag = 50 dE(Ry) =1000000000000.00 residual =1000000000000.00

Maximum number of iterations:
50 of 50

Maximum change in eigenvalues (Ry):
max | delta E_nk | =1000000000000.00

Maximum norm of residual vectors (Ry):
max | R_nk | =1000000000000.00

Best,
Xiaoming Wang