(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
! **************************************************************************************************
13
MODULE
gw_main
14
USE
gw_large_cell_gamma
,
ONLY
:
gw_calc_large_cell_gamma
15
USE
gw_large_cell_gamma_ri_rs
,
ONLY
:
gw_calc_large_cell_gamma_ri_rs
16
USE
gw_non_periodic_ri_rs
,
ONLY
:
gw_calc_non_periodic_ri_rs
17
USE
gw_small_cell_full_kp
,
ONLY
:
gw_calc_small_cell_full_kp
18
USE
gw_utils
,
ONLY
:
create_and_init_bs_env_for_gw
19
USE
input_constants
,
ONLY
:
large_cell_gamma
,&
20
large_cell_gamma_ri_rs
,&
21
non_periodic_ri_rs
,&
22
small_cell_full_kp
23
USE
input_section_types
,
ONLY
:
section_vals_type
24
USE
post_scf_bandstructure_types
,
ONLY
:
post_scf_bandstructure_type
25
USE
qs_environment_types
,
ONLY
:
qs_environment_type
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
36
CONTAINS
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
62
CASE
(
small_cell_full_kp
)
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
70
CASE
(
large_cell_gamma_ri_rs
)
71
72
CALL
gw_calc_large_cell_gamma_ri_rs
(qs_env, bs_env)
73
74
CASE
(
non_periodic_ri_rs
)
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
84
END MODULE
gw_main
85
gw_large_cell_gamma_ri_rs
GW using RI-RS Approximation for molecules.
Definition
gw_large_cell_gamma_ri_rs.F:13
gw_large_cell_gamma_ri_rs::gw_calc_large_cell_gamma_ri_rs
subroutine, public gw_calc_large_cell_gamma_ri_rs(qs_env, bs_env)
GW calculation using RI-RS formalism for molecules.
Definition
gw_large_cell_gamma_ri_rs.F:103
gw_large_cell_gamma
Routines from paper [Graml2024].
Definition
gw_large_cell_gamma.F:15
gw_large_cell_gamma::gw_calc_large_cell_gamma
subroutine, public gw_calc_large_cell_gamma(qs_env, bs_env)
Perform GW band structure calculation.
Definition
gw_large_cell_gamma.F:116
gw_main
Definition
gw_main.F:13
gw_main::gw
subroutine, public gw(qs_env, bs_env, post_scf_bandstructure_section)
Perform GW band structure calculation.
Definition
gw_main.F:48
gw_non_periodic_ri_rs
GW using RI-RS Approximation for molecules.
Definition
gw_non_periodic_ri_rs.F:13
gw_non_periodic_ri_rs::gw_calc_non_periodic_ri_rs
subroutine, public gw_calc_non_periodic_ri_rs(qs_env, bs_env)
GW calculation using RI-RS formalism for molecules.
Definition
gw_non_periodic_ri_rs.F:109
gw_small_cell_full_kp
Definition
gw_small_cell_full_kp.F:13
gw_small_cell_full_kp::gw_calc_small_cell_full_kp
subroutine, public gw_calc_small_cell_full_kp(qs_env, bs_env)
Perform GW band structure calculation.
Definition
gw_small_cell_full_kp.F:79
gw_utils
Definition
gw_utils.F:15
gw_utils::create_and_init_bs_env_for_gw
subroutine, public create_and_init_bs_env_for_gw(qs_env, bs_env, bs_sec)
...
Definition
gw_utils.F:155
input_constants
collects all constants needed in input so that they can be used without circular dependencies
Definition
input_constants.F:17
input_constants::non_periodic_ri_rs
integer, parameter, public non_periodic_ri_rs
Definition
input_constants.F:1110
input_constants::small_cell_full_kp
integer, parameter, public small_cell_full_kp
Definition
input_constants.F:1110
input_constants::large_cell_gamma_ri_rs
integer, parameter, public large_cell_gamma_ri_rs
Definition
input_constants.F:1110
input_constants::large_cell_gamma
integer, parameter, public large_cell_gamma
Definition
input_constants.F:1110
input_section_types
objects that represent the structure of input sections and the data contained in an input section
Definition
input_section_types.F:15
post_scf_bandstructure_types
Definition
post_scf_bandstructure_types.F:13
qs_environment_types
Definition
qs_environment_types.F:14
input_section_types::section_vals_type
stores the values of a section
Definition
input_section_types.F:127
post_scf_bandstructure_types::post_scf_bandstructure_type
Definition
post_scf_bandstructure_types.F:96
qs_environment_types::qs_environment_type
Definition
qs_environment_types.F:220
gw_main.F
Generated by
1.9.8