@brief Remove negative eigenvalues
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(inout), | dimension(:) | :: | ee | ||
integer, | intent(in) | :: | nvec | |||
integer, | intent(in) | :: | ndsr | |||
integer, | intent(inout) | :: | imax | |||
logical, | intent(in) | :: | tamm_dancoff |
subroutine rpaechk(ee,nvec,ndsr,imax,tamm_dancoff) use precision, only: dp implicit none real(kind=dp), intent(inout), dimension(:) :: ee integer, intent(in) :: nvec, ndsr integer, intent(inout) :: imax logical, intent(in) :: tamm_dancoff ! Number of negative eigenvalues : imax imax = count(ee(1:nvec)<0.0_dp) if (.not.tamm_dancoff) ee(1:ndsr) = sqrt(abs(ee(1:ndsr))) end subroutine rpaechk