Exact diagonalization for RPA calculation
Moderators: Global Moderator, Moderator
Exact diagonalization for RPA calculation
Hi
I use VASP.5.3.2 and want to calculate rather big system (~ 100 atoms) by RPA method.
In vasp manual, there is general recipe for RPA calculation and in third step (exact diagonalization), the parameter "NBANDS" must be set to "maximum number of plane-waves". But I think that actually used number of wavefunction in ACFDT calculation is smaller than "maximum number of plane-waves" and "NBANDS" can be set to the lower number. Am I right?
And ,in third step (exact diagonalization) for RPA calculation, in main.F, I think that "PEAD_ELMIN" subroutine in "pead.F" has no function but matrix "CHAM" is rather huge. So can I command out the "PEAD_ELMIN" part in main.F ?
IF (NSTEP==1) THEN
IF (.NOT.INFO%LONESW) THEN
CALL ALLOCW(WDES,W_F,WTMP,WTMP)
CALL ALLOCW(WDES,W_G,WTMP,WTMP)
DEALLOCATE(CHAM, CHF)
ALLOCATE(CHAM(WDES%NB_TOT,WDES%NB_TOT,WDES%NKPTS,WDES%ISPIN), &
CHF (WDES%NB_TOT,WDES%NB_TOT,WDES%NKPTS,WDES%ISPIN))
! ! setup for scf subspace rotation
! INFO%LONESW=.TRUE.
! CALL SETUP_SUBROT_SCF(INFO,WDES,LATT_CUR,GRID,GRIDC,GRID_SOFT,SOFT_TO_C,IO%IU0,IO%IU5,IO%IU6)
! INFO%LONESW=.FALSE.
ENDIF
CALL PEAD_ELMIN( &
HAMILTONIAN,KINEDEN, &
P,WDES,NONLR_S,NONL_S,W,W_F,W_G,LATT_CUR,LATT_INI, &
T_INFO,DYN,INFO,IO,MIX,KPOINTS,SYMM,GRID,GRID_SOFT, &
GRIDC,GRIDB,GRIDUS,C_TO_US,B_TO_C,SOFT_TO_C,E, &
CHTOT,CHTOTL,DENCOR,CVTOT,CSTRF, &
CDIJ,CQIJ,CRHODE,N_MIX_PAW,RHOLM,RHOLM_LAST, &
CHDEN,SV,DOS,DOSI,CHF,CHAM,ECONV, &
NSTEP,LMDIM,IRDMAX,NEDOS, &
TOTEN,EFERMI,LDIMP,LMDIMP)
IF (.NOT.INFO%LONESW) THEN
CALL DEALLOCW(W_F)
CALL DEALLOCW(W_G)
DEALLOCATE(CHAM, CHF)
ALLOCATE(CHAM(1,1,1,1),CHF (1,1,1,1))
ENDIF
ENDIF
Thank you!
<span class='smallblacktext'>[ Edited ]</span>
I use VASP.5.3.2 and want to calculate rather big system (~ 100 atoms) by RPA method.
In vasp manual, there is general recipe for RPA calculation and in third step (exact diagonalization), the parameter "NBANDS" must be set to "maximum number of plane-waves". But I think that actually used number of wavefunction in ACFDT calculation is smaller than "maximum number of plane-waves" and "NBANDS" can be set to the lower number. Am I right?
And ,in third step (exact diagonalization) for RPA calculation, in main.F, I think that "PEAD_ELMIN" subroutine in "pead.F" has no function but matrix "CHAM" is rather huge. So can I command out the "PEAD_ELMIN" part in main.F ?
IF (NSTEP==1) THEN
IF (.NOT.INFO%LONESW) THEN
CALL ALLOCW(WDES,W_F,WTMP,WTMP)
CALL ALLOCW(WDES,W_G,WTMP,WTMP)
DEALLOCATE(CHAM, CHF)
ALLOCATE(CHAM(WDES%NB_TOT,WDES%NB_TOT,WDES%NKPTS,WDES%ISPIN), &
CHF (WDES%NB_TOT,WDES%NB_TOT,WDES%NKPTS,WDES%ISPIN))
! ! setup for scf subspace rotation
! INFO%LONESW=.TRUE.
! CALL SETUP_SUBROT_SCF(INFO,WDES,LATT_CUR,GRID,GRIDC,GRID_SOFT,SOFT_TO_C,IO%IU0,IO%IU5,IO%IU6)
! INFO%LONESW=.FALSE.
ENDIF
CALL PEAD_ELMIN( &
HAMILTONIAN,KINEDEN, &
P,WDES,NONLR_S,NONL_S,W,W_F,W_G,LATT_CUR,LATT_INI, &
T_INFO,DYN,INFO,IO,MIX,KPOINTS,SYMM,GRID,GRID_SOFT, &
GRIDC,GRIDB,GRIDUS,C_TO_US,B_TO_C,SOFT_TO_C,E, &
CHTOT,CHTOTL,DENCOR,CVTOT,CSTRF, &
CDIJ,CQIJ,CRHODE,N_MIX_PAW,RHOLM,RHOLM_LAST, &
CHDEN,SV,DOS,DOSI,CHF,CHAM,ECONV, &
NSTEP,LMDIM,IRDMAX,NEDOS, &
TOTEN,EFERMI,LDIMP,LMDIMP)
IF (.NOT.INFO%LONESW) THEN
CALL DEALLOCW(W_F)
CALL DEALLOCW(W_G)
DEALLOCATE(CHAM, CHF)
ALLOCATE(CHAM(1,1,1,1),CHF (1,1,1,1))
ENDIF
ENDIF
Thank you!
<span class='smallblacktext'>[ Edited ]</span>
Last edited by kky8822 on Sun Dec 23, 2012 3:09 pm, edited 1 time in total.
-
- Global Moderator
- Posts: 1817
- Joined: Mon Nov 18, 2019 11:00 am
Re: Exact diagonalization for RPA calculation
Hi,
We're sorry that we didn’t answer your question. This does not live up to the quality of support that we aim to provide. The team has since expanded. If we can still help with your problem, please ask again in a new post, linking to this one, and we will answer as quickly as possible.
Best wishes,
VASP