(git:e8f5963)
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-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_main
26#include "./base/base_uses.f90"
27
28 IMPLICIT NONE
29
30 PRIVATE
31
32 CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'gw_main'
33
34 PUBLIC :: 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
45!> * 07.2023 created [Jan Wilhelm]
46! **************************************************************************************************
47 SUBROUTINE 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 = '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%small_cell_full_kp_or_large_cell_Gamma)
61
63
64 CALL gw_calc_small_cell_full_kp(qs_env, bs_env)
65
66 CASE (large_cell_gamma)
67
68 CALL gw_calc_large_cell_gamma(qs_env, bs_env)
69
71
72 CALL gw_calc_large_cell_gamma_ri_rs(qs_env, bs_env)
73
75
76 CALL gw_calc_non_periodic_ri_rs(qs_env, bs_env)
77
78 END SELECT
79
80 CALL timestop(handle)
81
82 END SUBROUTINE gw
83
84END MODULE gw_main
85
GW using RI-RS Approximation for molecules.
subroutine, public gw_calc_large_cell_gamma_ri_rs(qs_env, bs_env)
GW calculation using RI-RS formalism for molecules.
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:48
GW using RI-RS Approximation for molecules.
subroutine, public gw_calc_non_periodic_ri_rs(qs_env, bs_env)
GW calculation using RI-RS formalism for molecules.
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:155
collects all constants needed in input so that they can be used without circular dependencies
integer, parameter, public non_periodic_ri_rs
integer, parameter, public small_cell_full_kp
integer, parameter, public large_cell_gamma_ri_rs
integer, parameter, public large_cell_gamma
objects that represent the structure of input sections and the data contained in an input section