(git:f2099e5)
Loading...
Searching...
No Matches
gw.F
Go to the documentation of this file.
1!--------------------------------------------------------------------------------------------------!
2! CP2K: A general program to perform molecular dynamics simulations !
3! Copyright 2000-2026 CP2K developers group <https://cp2k.org> !
4! !
5! SPDX-License-Identifier: GPL-2.0-or-later !
6!--------------------------------------------------------------------------------------------------!
7
8! **************************************************************************************************
9!> \brief
10!> \author Jan Wilhelm
11!> \date 07.2023
12! **************************************************************************************************
13MODULE gw
26#include "./base/base_uses.f90"
27
28 IMPLICIT NONE
29
30 PRIVATE
31
32 CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'gw'
33
34 PUBLIC :: run_gw
35
36CONTAINS
37
38! **************************************************************************************************
39!> \brief Perform GW band structure calculation
40!> \param qs_env ...
41!> \param bs_env ...
42!> \param post_scf_bandstructure_section ...
43!> \par History
44!> * 04.2026 Added GW RI-RS module [Ritaj Tyagi]
45!> * 07.2023 created [Jan Wilhelm]
46! **************************************************************************************************
47 SUBROUTINE run_gw(qs_env, bs_env, post_scf_bandstructure_section)
48 TYPE(qs_environment_type), POINTER :: qs_env
49 TYPE(post_scf_bandstructure_type), POINTER :: bs_env
50 TYPE(section_vals_type), POINTER :: post_scf_bandstructure_section
51
52 CHARACTER(LEN=*), PARAMETER :: routinen = 'run_gw'
53
54 INTEGER :: handle
55
56 CALL timeset(routinen, handle)
57
58 CALL create_and_init_bs_env_for_gw(qs_env, bs_env, post_scf_bandstructure_section)
59
60 SELECT CASE (bs_env%gw_implementation)
61
63
64 CALL gw_calc_tensor_small_cell_full_kp(qs_env, bs_env)
65
67
68 CALL gw_calc_tensor_large_cell_gamma(qs_env, bs_env)
69
71
72 CALL gw_calc_ri_rs_large_cell_gamma(qs_env, bs_env)
73
75
76 CALL gw_calc_ri_rs_non_periodic(qs_env, bs_env)
77
78 CASE DEFAULT
79
80 cpabort("Unknown GW implementation.")
81
82 END SELECT
83
84 CALL timestop(handle)
85
86 END SUBROUTINE run_gw
87
88END MODULE gw
GW using RI-RS Approximation for molecules.
subroutine, public gw_calc_ri_rs_large_cell_gamma(qs_env, bs_env)
GW calculation using RI-RS formalism for molecules.
GW using RI-RS Approximation for molecules.
subroutine, public gw_calc_ri_rs_non_periodic(qs_env, bs_env)
GW calculation using RI-RS formalism for molecules.
Routines from paper [Graml2024].
subroutine, public gw_calc_tensor_large_cell_gamma(qs_env, bs_env)
Perform GW band structure calculation.
subroutine, public gw_calc_tensor_small_cell_full_kp(qs_env, bs_env)
Perform GW band structure calculation.
subroutine, public create_and_init_bs_env_for_gw(qs_env, bs_env, bs_sec)
Initializes the GW environment from the input and electronic-structure data.
Definition gw_utils.F:157
Definition gw.F:13
subroutine, public run_gw(qs_env, bs_env, post_scf_bandstructure_section)
Perform GW band structure calculation.
Definition gw.F:48
collects all constants needed in input so that they can be used without circular dependencies
integer, parameter, public tensor_small_cell_full_kp
integer, parameter, public ri_rs_non_periodic
integer, parameter, public ri_rs_large_cell_gamma
integer, parameter, public tensor_large_cell_gamma
objects that represent the structure of input sections and the data contained in an input section