Skip to content

Commit

Permalink
Initial commit of scalable, low-memory periodic GW
Browse files Browse the repository at this point in the history
  • Loading branch information
JWilhelm committed Aug 15, 2023
1 parent 229f47c commit 8ce3b69
Show file tree
Hide file tree
Showing 24 changed files with 4,876 additions and 167 deletions.
5 changes: 5 additions & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ list(
atom_utils.F
atom_xc.F
auto_basis.F
bandstructure_methods.F
basis_set_output.F
beta_gamma_psi.F
block_p_types.F
Expand Down Expand Up @@ -200,6 +201,10 @@ list(
group_dist_types.F
grrm_utils.F
gapw_1c_basis_set.F
gw_communication.F
gw_methods.F
gw_types.F
gw_utils.F
hartree_local_methods.F
hartree_local_types.F
header.F
Expand Down
62 changes: 62 additions & 0 deletions src/bandstructure_methods.F
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
!--------------------------------------------------------------------------------------------------!
! CP2K: A general program to perform molecular dynamics simulations !
! Copyright 2000-2023 CP2K developers group <https://cp2k.org> !
! !
! SPDX-License-Identifier: GPL-2.0-or-later !
!--------------------------------------------------------------------------------------------------!

MODULE bandstructure_methods
USE gw_methods, ONLY: gw
USE input_section_types, ONLY: section_vals_get,&
section_vals_get_subs_vals,&
section_vals_type
USE qs_environment_types, ONLY: qs_environment_type
USE qs_scf, ONLY: scf
#include "./base/base_uses.f90"

IMPLICIT NONE

PRIVATE

CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'bandstructure_methods'

PUBLIC :: post_SCF_bandstructure

! **************************************************************************************************

CONTAINS

! **************************************************************************************************
!> \brief Perform post-SCF band structure calculations from higher level methods
!> \param qs_env Quickstep environment
!> \par History
!> * 07.2023 created [Jan Wilhelm]
! **************************************************************************************************
SUBROUTINE post_SCF_bandstructure(qs_env)
TYPE(qs_environment_type), POINTER :: qs_env

CHARACTER(LEN=*), PARAMETER :: routineN = 'post_SCF_bandstructure'

INTEGER :: handle
LOGICAL :: do_gw
TYPE(section_vals_type), POINTER :: gw_input_section

CALL timeset(routineN, handle)

! GW calculation
NULLIFY (gw_input_section)
gw_input_section => section_vals_get_subs_vals(qs_env%input, "PROPERTIES%BANDSTRUCTURE%GW")
CALL section_vals_get(gw_input_section, explicit=do_gw)
IF (do_gw) THEN
CALL gw(qs_env, qs_env%gw_env, gw_input_section)
END IF

! TODO: SOC calculation

! TODO: local bandgap calculation

CALL timestop(handle)

END SUBROUTINE post_SCF_bandstructure

END MODULE bandstructure_methods
23 changes: 21 additions & 2 deletions src/common/bibliography.F
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,8 @@ MODULE bibliography
Grimme2017, Kondov2007, Clabaut2020, Clabaut2021, &
Ren2011, Ren2013, Cohen2000, Rogers2002, Filippetti2000, &
Limpanuparb2011, Martin2003, Yin2017, Goerigk2017, &
Wilhelm2016a, Wilhelm2016b, Wilhelm2017, Wilhelm2018, Lass2018, cp2kqs2020, &
Behler2007, Behler2011, Schran2020a, Schran2020b, &
Wilhelm2016a, Wilhelm2016b, Wilhelm2017, Wilhelm2018, Wilhelm2021, Lass2018, &
cp2kqs2020, Behler2007, Behler2011, Schran2020a, Schran2020b, &
Rycroft2009, Thomas2015, Brehm2018, Brehm2020, Shigeta2001, Heinecke2016, &
Brehm2021, Bussy2021a, Bussy2021b, Ditler2021, Ditler2022, Mattiat2019, Mattiat2022, &
Belleflamme2023, Knizia2013, Musaelian2023, Eriksen2020
Expand Down Expand Up @@ -4479,6 +4479,25 @@ SUBROUTINE add_all_references()
"ER"), &
DOI="10.1021/acs.jpclett.7b02740")

CALL add_reference(key=Wilhelm2021, ISI_record=s2a( &
"PT J", &
"AU Wilhelm, J", &
" Seewald, P", &
" Golze, D", &
"AF Wilhelm, Jan", &
" Seewald, Patrick", &
" Golze, Dorothea", &
"TI Low-Scaling GW with Benchmark Accuracy and Application to Phosphorene Nanosheets", &
"SO JOURNAL OF CHEMICAL THEORY AND COMPUTATION", &
"PD FEB", &
"BP 1662", &
"EP 1677", &
"PY 2021", &
"VL 9", &
"DI 10.1021/acs.jctc.0c01282", &
"ER"), &
DOI="10.1021/acs.jctc.0c01282")

CALL add_reference(key=Lass2018, ISI_record=s2a( &
"PT C", &
"AU Lass, M", &
Expand Down

0 comments on commit 8ce3b69

Please sign in to comment.