Commit ccf43c07 authored by Yingzhou Li's avatar Yingzhou Li

Debugged PPCG

parent 58993d35
......@@ -76,7 +76,7 @@ contains
if (ijob <= SID_ALLOCATE) then
ijob = SID_ALLOCATE + 1
m = r_h%n_basis
n = r_h%davidson_max_n
n = r_h%max_n
iter = 0
end if
......@@ -197,7 +197,7 @@ contains
n_state = r_h%n_state
max_iter = r_h%max_iter
tol_iter = r_h%tol_iter
max_n = r_h%davidson_max_n
max_n = r_h%max_n
niter = 0
next = 0
......
This diff is collapsed.
This diff is collapsed.
......@@ -57,9 +57,7 @@ module ELSI_RCI_DATATYPE
! Physics
integer(i4) :: n_basis
integer(i4) :: n_state
! Davidson
integer(i4) :: davidson_max_n
integer(i4) :: max_n
! PPCG
integer(i4) :: ppcg_sbsize
......
......@@ -38,21 +38,23 @@ contains
r_h%total_energy = 0.0_r8
r_h%total_iter = 0
! PPCG default
r_h%ppcg_tol_lock = tol_iter
r_h%ppcg_sbsize = min(8,n_state)
r_h%ppcg_rrstep = min(5,max_iter)
select case (solver)
case (RCI_SOLVER_DAVIDSON)
r_h%n_res = min(2*n_state,n_basis)
r_h%max_n = min(2*n_state,n_basis)
case (RCI_SOLVER_OMM)
r_h%n_res = n_state
r_h%max_n = n_state
case (RCI_SOLVER_PPCG)
r_h%n_res = max(n_state,3*r_h%ppcg_sbsize)
r_h%max_n = max(n_state,3*r_h%ppcg_sbsize)
end select
! Davidson default
r_h%davidson_max_n = min(2*n_state,n_basis)
! PPCG default
r_h%ppcg_tol_lock = tol_iter
r_h%ppcg_sbsize = min(32,n_state)
r_h%ppcg_rrstep = min(5,max_iter)
end subroutine
end module ELSI_RCI_SETUP
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment