(git:ed6f26b)
Loading...
Searching...
No Matches
gw_main.F
Go to the documentation of this file.
1!--------------------------------------------------------------------------------------------------!
2! CP2K: A general program to perform molecular dynamics simulations !
3! Copyright 2000-2025 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_main
22#include "./base/base_uses.f90"
23
24 IMPLICIT NONE
25
26 PRIVATE
27
28 CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'gw_main'
29
30 PUBLIC :: gw
31
32CONTAINS
33
34! **************************************************************************************************
35!> \brief Perform GW band structure calculation
36!> \param qs_env ...
37!> \param bs_env ...
38!> \param post_scf_bandstructure_section ...
39!> \par History
40!> * 07.2023 created [Jan Wilhelm]
41! **************************************************************************************************
42 SUBROUTINE gw(qs_env, bs_env, post_scf_bandstructure_section)
43 TYPE(qs_environment_type), POINTER :: qs_env
44 TYPE(post_scf_bandstructure_type), POINTER :: bs_env
45 TYPE(section_vals_type), POINTER :: post_scf_bandstructure_section
46
47 CHARACTER(LEN=*), PARAMETER :: routinen = 'gw'
48
49 INTEGER :: handle
50
51 CALL timeset(routinen, handle)
52
53 CALL create_and_init_bs_env_for_gw(qs_env, bs_env, post_scf_bandstructure_section)
54
55 SELECT CASE (bs_env%small_cell_full_kp_or_large_cell_Gamma)
56
58
59 CALL gw_calc_small_cell_full_kp(qs_env, bs_env)
60
61 CASE (large_cell_gamma)
62
63 CALL gw_calc_large_cell_gamma(qs_env, bs_env)
64
65 END SELECT
66
67 CALL timestop(handle)
68
69 END SUBROUTINE gw
70
71END MODULE gw_main
72
Routines from paper [Graml2024].
subroutine, public gw_calc_large_cell_gamma(qs_env, bs_env)
Perform GW band structure calculation.
subroutine, public gw(qs_env, bs_env, post_scf_bandstructure_section)
Perform GW band structure calculation.
Definition gw_main.F:43
subroutine, public gw_calc_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)
...
Definition gw_utils.F:151
collects all constants needed in input so that they can be used without circular dependencies
integer, parameter, public small_cell_full_kp
integer, parameter, public large_cell_gamma
objects that represent the structure of input sections and the data contained in an input section