Improve comments of DFPT solve routines

This commit is contained in:
Jae-Mo Lihm 2021-08-26 12:50:19 +09:00
parent 3f0c0ce985
commit edc9218bdd
3 changed files with 11 additions and 1 deletions

View File

@ -16,6 +16,15 @@ SUBROUTINE nonint_rho_response(first_iter, time_reversed, npert, lrdvpsi, iudvps
!! non-interacting susceptibility. Solve Sternheimer equation !! non-interacting susceptibility. Solve Sternheimer equation
!! (H - e) * dpsi = dvpsi = -P_c+ * (dV_bare + dV_ind) * psi. !! (H - e) * dpsi = dvpsi = -P_c+ * (dV_bare + dV_ind) * psi.
!! !!
!! Perfoms the following tasks:
!! a) reads the bare potential term Delta V | psi > from buffer iudvpsi.
!! b) adds to it the screening term Delta V_{SCF} | psi >.
!! If lda_plus_u=.true. compute also the SCF part
!! of the response Hubbard potential.
!! c) applies P_c^+ (orthogonalization to valence states).
!! d) calls cgsolve_all to solve the linear system.
!! e) returns the Delta rho, and if lda_plus_u=.true. also return dbecsum
!!
!! dV_bare * psi is read from buffer iudvpsi, so they must be already calculated. !! dV_bare * psi is read from buffer iudvpsi, so they must be already calculated.
!! dV_ind is given by input dvscfins, and dV_ind * psi is calculated in apply_dpot_bands. !! dV_ind is given by input dvscfins, and dV_ind * psi is calculated in apply_dpot_bands.
!! !!

View File

@ -16,7 +16,7 @@ subroutine solve_e_fpol ( iw )
! a) computes the bare potential term x | psi > ! a) computes the bare potential term x | psi >
! b) adds to it the screening term Delta V_{SCF} | psi > ! b) adds to it the screening term Delta V_{SCF} | psi >
! c) applies P_c^+ (orthogonalization to valence states) ! c) applies P_c^+ (orthogonalization to valence states)
! d) calls cgsolve_all to solve the linear system ! d) calls gmressolve_all to solve the linear system
! e) computes Delta rho, Delta V_{SCF} and symmetrizes them ! e) computes Delta rho, Delta V_{SCF} and symmetrizes them
! !
USE kinds, ONLY : DP USE kinds, ONLY : DP

View File

@ -30,6 +30,7 @@ SUBROUTINE solve_linter (irr, imode0, npe, drhoscf)
! isolv = 2 needs the time-reversed wave functions). For the ! isolv = 2 needs the time-reversed wave functions). For the
! theoretical background, please refer to Phys. Rev. B 100, ! theoretical background, please refer to Phys. Rev. B 100,
! 045115 (2019) ! 045115 (2019)
! Step b, c, d are done inside nonint_rho_response.
! !
USE kinds, ONLY : DP USE kinds, ONLY : DP
USE ions_base, ONLY : nat USE ions_base, ONLY : nat