(git:ed6f26b)
Loading...
Searching...
No Matches
post_scf_bandstructure_methods.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
9 USE gw_main, ONLY: gw
13 soc
15 USE qs_scf, ONLY: scf
16#include "./base/base_uses.f90"
17
18 IMPLICIT NONE
19
20 PRIVATE
21
22 CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'post_scf_bandstructure_methods'
23
25
26CONTAINS
27
28! **************************************************************************************************
29!> \brief Perform post-SCF band structure calculations from higher level methods
30!> \param qs_env Quickstep environment
31!> \param post_scf_bandstructure_section ...
32!> \par History
33!> * 07.2023 created [Jan Wilhelm]
34! **************************************************************************************************
35 SUBROUTINE post_scf_bandstructure(qs_env, post_scf_bandstructure_section)
36 TYPE(qs_environment_type), POINTER :: qs_env
37 TYPE(section_vals_type), POINTER :: post_scf_bandstructure_section
38
39 CHARACTER(LEN=*), PARAMETER :: routinen = 'post_scf_bandstructure'
40
41 INTEGER :: handle
42
43 CALL timeset(routinen, handle)
44
45 ! general setup of post SCF bandstructure calculation
46 CALL create_and_init_bs_env(qs_env, qs_env%bs_env, post_scf_bandstructure_section)
47
48 ! shifts of eigenvalues/bandstructure due to spin-orbit coupling from pseudopotentials
49 IF (qs_env%bs_env%do_soc) THEN
50 CALL soc(qs_env, qs_env%bs_env)
51 END IF
52
53 ! GW calculation for eigenvalues/bandstructure for molecules and periodic systems
54 IF (qs_env%bs_env%do_gw) THEN
55 CALL gw(qs_env, qs_env%bs_env, post_scf_bandstructure_section)
56 END IF
57
58 ! density of states (DOS), projected DOS, local DOS for DFT, DFT+SOC, G0W0, G0W0+SOC
59 CALL dos_pdos_ldos(qs_env, qs_env%bs_env)
60
61 CALL timestop(handle)
62
63 END SUBROUTINE post_scf_bandstructure
64
subroutine, public gw(qs_env, bs_env, post_scf_bandstructure_section)
Perform GW band structure calculation.
Definition gw_main.F:43
objects that represent the structure of input sections and the data contained in an input section
subroutine, public post_scf_bandstructure(qs_env, post_scf_bandstructure_section)
Perform post-SCF band structure calculations from higher level methods.
subroutine, public dos_pdos_ldos(qs_env, bs_env)
...
subroutine, public soc(qs_env, bs_env)
...
subroutine, public create_and_init_bs_env(qs_env, bs_env, post_scf_bandstructure_section)
...
Routines for the Quickstep SCF run.
Definition qs_scf.F:47
subroutine, public scf(qs_env, has_converged, total_scf_steps)
perform an scf procedure in the given qs_env
Definition qs_scf.F:199