mirror of
https://github.com/cp2k/cp2k.git
synced 2026-07-27 21:55:16 -04:00
Hedin shift for G0W0: gives similar results as evGW0 at much reduced computational cost
This commit is contained in:
parent
59807ca871
commit
f1d756efb4
16 changed files with 252 additions and 43 deletions
|
|
@ -264,6 +264,7 @@ CONTAINS
|
|||
CALL section_vals_val_get(gw_sec, "REGULARIZATION_RI", r_val=bs_env%input_regularization_RI)
|
||||
CALL section_vals_val_get(gw_sec, "MEMORY_PER_PROC", r_val=bs_env%input_memory_per_proc_GB)
|
||||
CALL section_vals_val_get(gw_sec, "APPROX_KP_EXTRAPOL", l_val=bs_env%approx_kp_extrapol)
|
||||
CALL section_vals_val_get(gw_sec, "HEDIN_SHIFT", l_val=bs_env%do_hedin_shift)
|
||||
|
||||
CALL timestop(handle)
|
||||
|
||||
|
|
@ -2854,8 +2855,8 @@ CONTAINS
|
|||
Sigma_c_ikp_n_freq(:, 1:bs_env%num_freq_points_fit, 1)*z_one + &
|
||||
Sigma_c_ikp_n_freq(:, 1:bs_env%num_freq_points_fit, 2)*gaussi, &
|
||||
Sigma_x_ikp_n(:) - V_xc_ikp_n(:), &
|
||||
eigenval_scf(:), &
|
||||
eigenval_scf(:), &
|
||||
eigenval_scf(:), eigenval_scf(:), &
|
||||
bs_env%do_hedin_shift, &
|
||||
i_mo, bs_env%n_occ(ispin), bs_env%n_vir(ispin), &
|
||||
bs_env%nparam_pade, bs_env%num_freq_points_fit, &
|
||||
ri_rpa_g0w0_crossing_newton, bs_env%n_occ(ispin), &
|
||||
|
|
@ -2879,6 +2880,11 @@ CONTAINS
|
|||
is_bandstruc_kpoint = (ikp > bs_env%nkp_only_DOS)
|
||||
print_ikp = print_DOS_kpoints .OR. is_bandstruc_kpoint
|
||||
|
||||
IF (bs_env%unit_nr > 0) THEN
|
||||
WRITE (bs_env%unit_nr, FMT="(T2,A)") " "
|
||||
WRITE (bs_env%unit_nr, FMT="(T2,A,L80)") "Apply Hedin shift", bs_env%do_hedin_shift
|
||||
END IF
|
||||
|
||||
IF (bs_env%para_env%is_source() .AND. print_ikp) THEN
|
||||
|
||||
IF (print_DOS_kpoints) THEN
|
||||
|
|
|
|||
|
|
@ -760,6 +760,18 @@ CONTAINS
|
|||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="HEDIN_SHIFT", &
|
||||
description="If true, use Hedin's shift in G0W0, evGW and evGW0 "// &
|
||||
"(aka scGW0). Details see in Li et al. JCTC 18, 7570 "// &
|
||||
"(2022), Figure 1. G0W0 with Hedin's shift should give "// &
|
||||
"similar GW eigenvalues as evGW0; at a lower "// &
|
||||
"computational cost.", &
|
||||
usage="HEDIN_SHIFT", &
|
||||
default_l_val=.FALSE., &
|
||||
lone_keyword_l_val=.TRUE.)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="EV_GW_ITER", &
|
||||
description="Maximum number of iterations for eigenvalue self-consistency cycle. The "// &
|
||||
"computational effort of GW scales linearly with this number. ", &
|
||||
|
|
|
|||
|
|
@ -2105,6 +2105,18 @@ CONTAINS
|
|||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
CALL keyword_create(keyword, __LOCATION__, name="HEDIN_SHIFT", &
|
||||
description="If true, use Hedin's shift in G0W0, evGW and evGW0. "// &
|
||||
"Details see in Li et al. JCTC 18, 7570 "// &
|
||||
"(2022), Figure 1. G0W0 with Hedin's shift should give "// &
|
||||
"similar GW eigenvalues as evGW0; at a lower "// &
|
||||
"computational cost.", &
|
||||
usage="HEDIN_SHIFT", &
|
||||
default_l_val=.TRUE., &
|
||||
lone_keyword_l_val=.TRUE.)
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
|
||||
NULLIFY (subsection, print_key)
|
||||
CALL section_create(subsection, __LOCATION__, name="PRINT", &
|
||||
description="Printing of GW restarts.", &
|
||||
|
|
|
|||
|
|
@ -140,6 +140,8 @@ CONTAINS
|
|||
i_val=mp2_env%ri_g0w0%crossing_search)
|
||||
CALL section_vals_val_get(mp2_section, "RI_RPA%GW%FERMI_LEVEL_OFFSET", &
|
||||
r_val=mp2_env%ri_g0w0%fermi_level_offset)
|
||||
CALL section_vals_val_get(mp2_section, "RI_RPA%GW%HEDIN_SHIFT", &
|
||||
l_val=mp2_env%ri_g0w0%do_hedin_shift)
|
||||
CALL section_vals_val_get(mp2_section, "RI_RPA%GW%EV_GW_ITER", &
|
||||
i_val=mp2_env%ri_g0w0%iter_evGW)
|
||||
CALL section_vals_val_get(mp2_section, "RI_RPA%GW%SC_GW0_ITER", &
|
||||
|
|
|
|||
|
|
@ -204,7 +204,8 @@ MODULE mp2_types
|
|||
INTEGER :: iter_evGW = 0, &
|
||||
iter_sc_GW0 = 0
|
||||
REAL(KIND=dp) :: eps_iter = 0.0_dp
|
||||
LOGICAL :: do_ri_Sigma_x = .FALSE., &
|
||||
LOGICAL :: do_hedin_shift = .FALSE., &
|
||||
do_ri_Sigma_x = .FALSE., &
|
||||
do_periodic = .FALSE., &
|
||||
print_self_energy = .FALSE.
|
||||
REAL(KIND=dp), ALLOCATABLE, DIMENSION(:, :, :) :: vec_Sigma_x_minus_vxc_gw
|
||||
|
|
|
|||
|
|
@ -75,6 +75,9 @@ MODULE post_scf_bandstructure_types
|
|||
band_edges_G0W0, &
|
||||
band_edges_HF
|
||||
|
||||
! parameters that influence the GW flavor
|
||||
LOGICAL :: do_hedin_shift = .FALSE.
|
||||
|
||||
! general parameters on molecular orbitals and basis sets
|
||||
INTEGER :: n_ao = -1, &
|
||||
n_RI = -1, &
|
||||
|
|
@ -103,6 +106,7 @@ MODULE post_scf_bandstructure_types
|
|||
TYPE(kpoint_type), POINTER :: kpoints_chi_eps_W => NULL(), &
|
||||
kpoints_DOS => NULL()
|
||||
LOGICAL :: approx_kp_extrapol = .FALSE.
|
||||
|
||||
REAL(KIND=dp) :: wkp_orig = -1.0_dp
|
||||
REAL(KIND=dp), DIMENSION(:), ALLOCATABLE :: wkp_s_p, &
|
||||
wkp_no_extra
|
||||
|
|
|
|||
87
src/rpa_gw.F
87
src/rpa_gw.F
|
|
@ -1435,7 +1435,8 @@ CONTAINS
|
|||
CALL continuation_pade(vec_gw_energ(:, ikp, 1), vec_omega_fit_gw, &
|
||||
z_value(:, ikp, 1), m_value(:, ikp, 1), vec_Sigma_c_gw(:, :, ikp, 1), &
|
||||
mp2_env%ri_g0w0%vec_Sigma_x_minus_vxc_gw(:, 1, ikp), &
|
||||
Eigenval(:, ikp, 1), Eigenval_scf(:, ikp, 1), n_level_gw, &
|
||||
Eigenval(:, ikp, 1), Eigenval_scf(:, ikp, 1), &
|
||||
mp2_env%ri_g0w0%do_hedin_shift, n_level_gw, &
|
||||
gw_corr_lev_occ(1), gw_corr_lev_virt(1), mp2_env%ri_g0w0%nparam_pade, &
|
||||
num_fit_points, crossing_search, homo(1), fermi_level_offset, &
|
||||
do_im_time, mp2_env%ri_g0w0%print_self_energy, count_ev_sc_GW, &
|
||||
|
|
@ -1443,7 +1444,6 @@ CONTAINS
|
|||
mp2_env%ri_g0w0%min_level_self_energy, &
|
||||
mp2_env%ri_g0w0%max_level_self_energy, mp2_env%ri_g0w0%dos_eta, &
|
||||
mp2_env%ri_g0w0%dos_min, mp2_env%ri_g0w0%dos_max)
|
||||
|
||||
CASE DEFAULT
|
||||
CPABORT("Only two-model and Pade approximation are implemented.")
|
||||
END SELECT
|
||||
|
|
@ -1463,7 +1463,8 @@ CONTAINS
|
|||
CALL continuation_pade(vec_gw_energ(:, ikp, 2), vec_omega_fit_gw, &
|
||||
z_value(:, ikp, 2), m_value(:, ikp, 2), vec_Sigma_c_gw(:, :, ikp, 2), &
|
||||
mp2_env%ri_g0w0%vec_Sigma_x_minus_vxc_gw(:, 2, ikp), &
|
||||
Eigenval(:, ikp, 2), Eigenval_scf(:, ikp, 2), n_level_gw, &
|
||||
Eigenval(:, ikp, 2), Eigenval_scf(:, ikp, 2), &
|
||||
mp2_env%ri_g0w0%do_hedin_shift, n_level_gw, &
|
||||
gw_corr_lev_occ(2), gw_corr_lev_virt(2), mp2_env%ri_g0w0%nparam_pade, &
|
||||
num_fit_points, crossing_search, homo(2), &
|
||||
fermi_level_offset, do_im_time, &
|
||||
|
|
@ -4279,6 +4280,7 @@ CONTAINS
|
|||
!> \param vec_Sigma_x_minus_vxc_gw ...
|
||||
!> \param Eigenval quasiparticle energy during ev self-consistent GW
|
||||
!> \param Eigenval_scf KS/HF eigenvalue
|
||||
!> \param do_hedin_shift ...
|
||||
!> \param n_level_gw ...
|
||||
!> \param gw_corr_lev_occ ...
|
||||
!> \param gw_corr_lev_vir ...
|
||||
|
|
@ -4303,7 +4305,8 @@ CONTAINS
|
|||
! **************************************************************************************************
|
||||
SUBROUTINE continuation_pade(vec_gw_energ, vec_omega_fit_gw, &
|
||||
z_value, m_value, vec_Sigma_c_gw, vec_Sigma_x_minus_vxc_gw, &
|
||||
Eigenval, Eigenval_scf, n_level_gw, gw_corr_lev_occ, gw_corr_lev_vir, &
|
||||
Eigenval, Eigenval_scf, do_hedin_shift, n_level_gw, &
|
||||
gw_corr_lev_occ, gw_corr_lev_vir, &
|
||||
nparam_pade, num_fit_points, crossing_search, homo, &
|
||||
fermi_level_offset, do_gw_im_time, print_self_energy, count_ev_sc_GW, &
|
||||
vec_gw_dos, dos_lower_bound, dos_precision, ndos, &
|
||||
|
|
@ -4317,6 +4320,7 @@ CONTAINS
|
|||
COMPLEX(KIND=dp), DIMENSION(:, :), INTENT(IN) :: vec_Sigma_c_gw
|
||||
REAL(KIND=dp), DIMENSION(:), INTENT(IN) :: vec_Sigma_x_minus_vxc_gw, Eigenval, &
|
||||
Eigenval_scf
|
||||
LOGICAL, INTENT(IN) :: do_hedin_shift
|
||||
INTEGER, INTENT(IN) :: n_level_gw, gw_corr_lev_occ, &
|
||||
gw_corr_lev_vir, nparam_pade, &
|
||||
num_fit_points, crossing_search, homo
|
||||
|
|
@ -4340,8 +4344,9 @@ CONTAINS
|
|||
Sigma_c_gw_reorder
|
||||
INTEGER :: handle, i_omega, idos, iunit, jquad, &
|
||||
n_level_gw_ref, num_omega
|
||||
REAL(KIND=dp) :: e_fermi, energy_val, level_energ_GW, &
|
||||
omega, omega_dos, omega_dos_pade_eval, &
|
||||
REAL(KIND=dp) :: e_fermi, energy_val, hedin_shift, &
|
||||
level_energ_GW_start, omega, &
|
||||
omega_dos, omega_dos_pade_eval, &
|
||||
sign_occ_virt
|
||||
REAL(KIND=dp), ALLOCATABLE, DIMENSION(:) :: vec_omega_fit_gw_sign, &
|
||||
vec_omega_fit_gw_sign_reorder, &
|
||||
|
|
@ -4410,17 +4415,24 @@ CONTAINS
|
|||
coeff_pade, sigma_c_pade)
|
||||
CALL get_z_and_m_value_pade(energy_val, nparam_pade, omega_points_pade, &
|
||||
coeff_pade, z_value(n_level_gw), m_value(n_level_gw))
|
||||
level_energ_GW = (Eigenval_scf(n_level_gw_ref) - &
|
||||
m_value(n_level_gw)*Eigenval(n_level_gw_ref) + &
|
||||
REAL(sigma_c_pade) + &
|
||||
vec_Sigma_x_minus_vxc_gw(n_level_gw_ref))* &
|
||||
z_value(n_level_gw)
|
||||
level_energ_GW_start = (Eigenval_scf(n_level_gw_ref) - &
|
||||
m_value(n_level_gw)*Eigenval(n_level_gw_ref) + &
|
||||
REAL(sigma_c_pade) + &
|
||||
vec_Sigma_x_minus_vxc_gw(n_level_gw_ref))* &
|
||||
z_value(n_level_gw)
|
||||
|
||||
! calculate Hedin shift; the last line is for evGW0 and evGW
|
||||
hedin_shift = 0.0_dp
|
||||
IF (do_hedin_shift) hedin_shift = REAL(sigma_c_pade) + &
|
||||
vec_Sigma_x_minus_vxc_gw(n_level_gw_ref) &
|
||||
- Eigenval(n_level_gw_ref) + Eigenval_scf(n_level_gw_ref)
|
||||
END IF
|
||||
|
||||
iunit = cp_logger_get_default_unit_nr()
|
||||
|
||||
IF (PRESENT(min_level_self_energy) .AND. PRESENT(max_level_self_energy)) THEN
|
||||
IF (n_level_gw_ref >= min_level_self_energy .AND. n_level_gw_ref <= max_level_self_energy) THEN
|
||||
IF (n_level_gw_ref >= min_level_self_energy .AND. &
|
||||
n_level_gw_ref <= max_level_self_energy) THEN
|
||||
ALLOCATE (vec_sigma_real(ndos))
|
||||
ALLOCATE (vec_sigma_imag(ndos))
|
||||
WRITE (string_level, "(I4)") n_level_gw_ref
|
||||
|
|
@ -4435,6 +4447,8 @@ CONTAINS
|
|||
|
||||
IF (PRESENT(ndos)) THEN
|
||||
IF (ndos /= 0) THEN
|
||||
! Hedin shift not implemented
|
||||
CPASSERT(.NOT. do_hedin_shift)
|
||||
DO idos = 1, ndos
|
||||
omega_dos = dos_lower_bound + REAL(idos - 1, KIND=dp)*dos_precision
|
||||
omega_dos_pade_eval = omega_dos - e_fermi
|
||||
|
|
@ -4495,6 +4509,8 @@ CONTAINS
|
|||
!*** perform crossing search
|
||||
SELECT CASE (crossing_search)
|
||||
CASE (ri_rpa_g0w0_crossing_z_shot)
|
||||
! Hedin shift not implemented
|
||||
CPASSERT(.NOT. do_hedin_shift)
|
||||
energy_val = Eigenval(n_level_gw_ref) - e_fermi
|
||||
CALL evaluate_pade_function(energy_val, nparam_pade, omega_points_pade, &
|
||||
coeff_pade, sigma_c_pade)
|
||||
|
|
@ -4507,7 +4523,7 @@ CONTAINS
|
|||
CALL get_sigma_c_bisection_pade(vec_gw_energ(n_level_gw), Eigenval_scf(n_level_gw_ref), &
|
||||
vec_Sigma_x_minus_vxc_gw(n_level_gw_ref), e_fermi, &
|
||||
nparam_pade, omega_points_pade, coeff_pade, &
|
||||
start_val=level_energ_GW)
|
||||
level_energ_GW_start, hedin_shift)
|
||||
z_value(n_level_gw) = 1.0_dp
|
||||
m_value(n_level_gw) = 0.0_dp
|
||||
|
||||
|
|
@ -4515,7 +4531,7 @@ CONTAINS
|
|||
CALL get_sigma_c_newton_pade(vec_gw_energ(n_level_gw), Eigenval_scf(n_level_gw_ref), &
|
||||
vec_Sigma_x_minus_vxc_gw(n_level_gw_ref), e_fermi, &
|
||||
nparam_pade, omega_points_pade, coeff_pade, &
|
||||
start_val=level_energ_GW)
|
||||
level_energ_GW_start, hedin_shift)
|
||||
z_value(n_level_gw) = 1.0_dp
|
||||
m_value(n_level_gw) = 0.0_dp
|
||||
|
||||
|
|
@ -4747,36 +4763,32 @@ CONTAINS
|
|||
!> \param omega_points_pade selection of frequency points of Sigma_c(iomega)
|
||||
!> \param coeff_pade pade coefficients
|
||||
!> \param start_val start value for the quasiparticle iteration
|
||||
!> \param hedin_shift ...
|
||||
! **************************************************************************************************
|
||||
SUBROUTINE get_sigma_c_bisection_pade(gw_energ, Eigenval_scf, Sigma_x_minus_vxc_gw, e_fermi, &
|
||||
nparam_pade, omega_points_pade, coeff_pade, start_val)
|
||||
nparam_pade, omega_points_pade, coeff_pade, start_val, &
|
||||
hedin_shift)
|
||||
|
||||
REAL(KIND=dp), INTENT(OUT) :: gw_energ
|
||||
REAL(KIND=dp), INTENT(IN) :: Eigenval_scf, Sigma_x_minus_vxc_gw, &
|
||||
e_fermi
|
||||
INTEGER, INTENT(IN) :: nparam_pade
|
||||
COMPLEX(KIND=dp), DIMENSION(:), INTENT(IN) :: omega_points_pade, coeff_pade
|
||||
REAL(KIND=dp), INTENT(IN), OPTIONAL :: start_val
|
||||
REAL(KIND=dp), INTENT(IN) :: start_val, hedin_shift
|
||||
|
||||
CHARACTER(LEN=*), PARAMETER :: routineN = 'get_sigma_c_bisection_pade'
|
||||
|
||||
COMPLEX(KIND=dp) :: sigma_c
|
||||
INTEGER :: handle, icount
|
||||
REAL(KIND=dp) :: delta, energy_val, my_start_val, &
|
||||
qp_energy, qp_energy_old, threshold
|
||||
REAL(KIND=dp) :: delta, energy_val, qp_energy, &
|
||||
qp_energy_old, threshold
|
||||
|
||||
CALL timeset(routineN, handle)
|
||||
|
||||
threshold = 1.0E-7_dp
|
||||
|
||||
IF (PRESENT(start_val)) THEN
|
||||
my_start_val = start_val
|
||||
ELSE
|
||||
my_start_val = Eigenval_scf
|
||||
END IF
|
||||
|
||||
qp_energy = my_start_val
|
||||
qp_energy_old = my_start_val
|
||||
qp_energy = start_val
|
||||
qp_energy_old = start_val
|
||||
delta = 1.0E-3_dp
|
||||
|
||||
icount = 0
|
||||
|
|
@ -4784,7 +4796,7 @@ CONTAINS
|
|||
icount = icount + 1
|
||||
qp_energy = qp_energy_old + 0.5_dp*delta
|
||||
qp_energy_old = qp_energy
|
||||
energy_val = qp_energy - e_fermi
|
||||
energy_val = qp_energy - e_fermi - hedin_shift
|
||||
CALL evaluate_pade_function(energy_val, nparam_pade, omega_points_pade, &
|
||||
coeff_pade, sigma_c)
|
||||
qp_energy = Eigenval_scf + REAL(sigma_c) + Sigma_x_minus_vxc_gw
|
||||
|
|
@ -4809,43 +4821,38 @@ CONTAINS
|
|||
!> \param omega_points_pade selection of frequency points of Sigma_c(iomega)
|
||||
!> \param coeff_pade pade coefficients
|
||||
!> \param start_val start value for the quasiparticle iteration
|
||||
!> \param hedin_shift ...
|
||||
! **************************************************************************************************
|
||||
SUBROUTINE get_sigma_c_newton_pade(gw_energ, Eigenval_scf, Sigma_x_minus_vxc_gw, e_fermi, &
|
||||
nparam_pade, omega_points_pade, coeff_pade, start_val)
|
||||
nparam_pade, omega_points_pade, coeff_pade, start_val, &
|
||||
hedin_shift)
|
||||
|
||||
REAL(KIND=dp), INTENT(OUT) :: gw_energ
|
||||
REAL(KIND=dp), INTENT(IN) :: Eigenval_scf, Sigma_x_minus_vxc_gw, &
|
||||
e_fermi
|
||||
INTEGER, INTENT(IN) :: nparam_pade
|
||||
COMPLEX(KIND=dp), DIMENSION(:), INTENT(IN) :: omega_points_pade, coeff_pade
|
||||
REAL(KIND=dp), INTENT(IN), OPTIONAL :: start_val
|
||||
REAL(KIND=dp), INTENT(IN) :: start_val, hedin_shift
|
||||
|
||||
CHARACTER(LEN=*), PARAMETER :: routineN = 'get_sigma_c_newton_pade'
|
||||
|
||||
COMPLEX(KIND=dp) :: sigma_c
|
||||
INTEGER :: handle, icount
|
||||
REAL(KIND=dp) :: delta, energy_val, m_value, &
|
||||
my_start_val, qp_energy, &
|
||||
REAL(KIND=dp) :: delta, energy_val, m_value, qp_energy, &
|
||||
qp_energy_old, threshold
|
||||
|
||||
CALL timeset(routineN, handle)
|
||||
|
||||
threshold = 1.0E-7_dp
|
||||
|
||||
IF (PRESENT(start_val)) THEN
|
||||
my_start_val = start_val
|
||||
ELSE
|
||||
my_start_val = Eigenval_scf
|
||||
END IF
|
||||
|
||||
qp_energy = my_start_val
|
||||
qp_energy_old = my_start_val
|
||||
qp_energy = start_val
|
||||
qp_energy_old = start_val
|
||||
delta = 1.0E-3_dp
|
||||
|
||||
icount = 0
|
||||
DO WHILE (ABS(delta) > threshold)
|
||||
icount = icount + 1
|
||||
energy_val = qp_energy - e_fermi
|
||||
energy_val = qp_energy - e_fermi - hedin_shift
|
||||
CALL evaluate_pade_function(energy_val, nparam_pade, omega_points_pade, &
|
||||
coeff_pade, sigma_c)
|
||||
!get m_value --> derivative of function
|
||||
|
|
|
|||
85
tests/QS/regtest-gw/G0W0_H2O_PBE0_Hedin_shift.inp
Normal file
85
tests/QS/regtest-gw/G0W0_H2O_PBE0_Hedin_shift.inp
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
&GLOBAL
|
||||
PRINT_LEVEL MEDIUM
|
||||
PROJECT G0W0_H2O_PBE0
|
||||
RUN_TYPE ENERGY
|
||||
&TIMINGS
|
||||
THRESHOLD 0.01
|
||||
&END TIMINGS
|
||||
&END GLOBAL
|
||||
|
||||
&FORCE_EVAL
|
||||
METHOD Quickstep
|
||||
&DFT
|
||||
BASIS_SET_FILE_NAME HFX_BASIS
|
||||
POTENTIAL_FILE_NAME GTH_POTENTIALS
|
||||
&MGRID
|
||||
CUTOFF 100
|
||||
REL_CUTOFF 20
|
||||
&END MGRID
|
||||
&POISSON
|
||||
PERIODIC NONE
|
||||
POISSON_SOLVER WAVELET
|
||||
&END POISSON
|
||||
&QS
|
||||
EPS_DEFAULT 1.0E-15
|
||||
EPS_PGF_ORB 1.0E-30
|
||||
METHOD GPW
|
||||
&END QS
|
||||
&SCF
|
||||
EPS_SCF 1.0E-7
|
||||
MAX_SCF 100
|
||||
SCF_GUESS ATOMIC
|
||||
&PRINT
|
||||
&RESTART OFF
|
||||
&END RESTART
|
||||
&END PRINT
|
||||
&END SCF
|
||||
&XC
|
||||
&HF
|
||||
FRACTION 0.2500000
|
||||
&SCREENING
|
||||
EPS_SCHWARZ 1.0E-6
|
||||
SCREEN_ON_INITIAL_P FALSE
|
||||
&END SCREENING
|
||||
&END HF
|
||||
&WF_CORRELATION
|
||||
&RI_RPA
|
||||
RPA_NUM_QUAD_POINTS 10
|
||||
&GW
|
||||
CORR_MOS_OCC 10
|
||||
CORR_MOS_VIRT 10
|
||||
HEDIN_SHIFT
|
||||
&END GW
|
||||
&END RI_RPA
|
||||
&END WF_CORRELATION
|
||||
&XC_FUNCTIONAL PBE
|
||||
&PBE
|
||||
SCALE_C 1.0000000
|
||||
SCALE_X 0.7500000
|
||||
&END PBE
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&END DFT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC [angstrom] 6.000 6.000 6.000
|
||||
PERIODIC NONE
|
||||
&END CELL
|
||||
&KIND H
|
||||
BASIS_SET DZVP-GTH
|
||||
BASIS_SET RI_AUX RI_DZVP-GTH
|
||||
POTENTIAL GTH-PBE-q1
|
||||
&END KIND
|
||||
&KIND O
|
||||
BASIS_SET DZVP-GTH
|
||||
BASIS_SET RI_AUX RI_DZVP-GTH
|
||||
POTENTIAL GTH-PBE-q6
|
||||
&END KIND
|
||||
&TOPOLOGY
|
||||
COORD_FILE_FORMAT xyz
|
||||
COORD_FILE_NAME H2O_gas.xyz
|
||||
&CENTER_COORDINATES
|
||||
&END CENTER_COORDINATES
|
||||
&END TOPOLOGY
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
|
|
@ -10,4 +10,5 @@ G0W0_H2O_PBE_pade.inp 78 1e-04
|
|||
evGW_OH_PBE_svd.inp 11 1e-08 -16.414920515699585
|
||||
evGW_H2O_PBE_RI_HFX_svd.inp 11 1e-08 -13.112474185078236
|
||||
scGW0_H2O_PBE.inp 11 1e-08 -17.118441200805574
|
||||
G0W0_H2O_PBE0_Hedin_shift.inp 78 1e-04 16.806
|
||||
#EOF
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@
|
|||
KPOINTS 1 2 2
|
||||
&END DOS
|
||||
&GW
|
||||
HEDIN_SHIFT FALSE
|
||||
NUM_TIME_FREQ_POINTS 6
|
||||
&END GW
|
||||
&END BANDSTRUCTURE
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@
|
|||
&END DOS
|
||||
&GW
|
||||
EPS_FILTER 1.0E-6
|
||||
HEDIN_SHIFT FALSE
|
||||
NUM_TIME_FREQ_POINTS 10
|
||||
&END GW
|
||||
&SOC
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@
|
|||
&END BANDSTRUCTURE_PATH
|
||||
&GW
|
||||
EPS_FILTER 1.0E-5
|
||||
HEDIN_SHIFT FALSE
|
||||
NUM_TIME_FREQ_POINTS 10
|
||||
&END GW
|
||||
&SOC
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@
|
|||
&GW
|
||||
APPROX_KP_EXTRAPOL
|
||||
EPS_FILTER 1.0E-6
|
||||
HEDIN_SHIFT FALSE
|
||||
NUM_TIME_FREQ_POINTS 10
|
||||
&END GW
|
||||
&SOC
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@
|
|||
&BANDSTRUCTURE
|
||||
&GW
|
||||
EPS_FILTER 1.0E-6
|
||||
HEDIN_SHIFT FALSE
|
||||
NUM_TIME_FREQ_POINTS 10
|
||||
&END GW
|
||||
&SOC
|
||||
|
|
|
|||
|
|
@ -0,0 +1,73 @@
|
|||
&GLOBAL
|
||||
PRINT_LEVEL SILENT
|
||||
PROJECT scalable_GW
|
||||
RUN_TYPE ENERGY
|
||||
&TIMINGS
|
||||
THRESHOLD 0.01
|
||||
&END TIMINGS
|
||||
&END GLOBAL
|
||||
|
||||
&FORCE_EVAL
|
||||
METHOD Quickstep
|
||||
&DFT
|
||||
BASIS_SET_FILE_NAME HFX_BASIS
|
||||
BASIS_SET_FILE_NAME ./REGTEST_BASIS
|
||||
POTENTIAL_FILE_NAME GTH_POTENTIALS
|
||||
SORT_BASIS EXP
|
||||
&MGRID
|
||||
CUTOFF 100
|
||||
REL_CUTOFF 20
|
||||
&END MGRID
|
||||
&QS
|
||||
EPS_DEFAULT 1.0E-15
|
||||
EPS_PGF_ORB 1.0E-15
|
||||
METHOD GPW
|
||||
&END QS
|
||||
&SCF
|
||||
ADDED_MOS -1
|
||||
EPS_SCF 1.0E-5
|
||||
MAX_SCF 100
|
||||
SCF_GUESS ATOMIC
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL PBE
|
||||
&END XC_FUNCTIONAL
|
||||
&END XC
|
||||
&END DFT
|
||||
&PROPERTIES
|
||||
&BANDSTRUCTURE
|
||||
&DOS
|
||||
KPOINTS 1 2 2
|
||||
&END DOS
|
||||
&GW
|
||||
HEDIN_SHIFT
|
||||
NUM_TIME_FREQ_POINTS 6
|
||||
&END GW
|
||||
&END BANDSTRUCTURE
|
||||
&END PROPERTIES
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC [angstrom] 8.000 8.000 8.000
|
||||
MULTIPLE_UNIT_CELL 1 1 1
|
||||
PERIODIC YZ
|
||||
&END CELL
|
||||
&COORD
|
||||
H 0.0 -0.5 -4.5
|
||||
O 0.5 0.0 4.5
|
||||
H 0.0 0.5 -4.5
|
||||
&END COORD
|
||||
&KIND H
|
||||
BASIS_SET ORB DZVP-GTH
|
||||
BASIS_SET RI_AUX RI-dummy-regtest
|
||||
POTENTIAL GTH-PBE-q1
|
||||
&END KIND
|
||||
&KIND O
|
||||
BASIS_SET ORB DZVP-GTH
|
||||
BASIS_SET RI_AUX RI-dummy-regtest
|
||||
POTENTIAL GTH-PBE-q6
|
||||
&END KIND
|
||||
&TOPOLOGY
|
||||
MULTIPLE_UNIT_CELL 1 1 1
|
||||
&END TOPOLOGY
|
||||
&END SUBSYS
|
||||
&END FORCE_EVAL
|
||||
|
|
@ -7,4 +7,5 @@
|
|||
05_G0W0_SOC_TeH_chain_open_shell.inp 106 5e-04 5.178
|
||||
05_G0W0_SOC_TeH_chain_open_shell.inp 107 5e-04 0.306
|
||||
05_G0W0_SOC_TeH_chain_open_shell.inp 108 5e-04 5.134
|
||||
06_G0W0_periodic_H2O_Hedin_shift.inp 106 1e-03 10.417
|
||||
#EOF
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue