LCOV - code coverage report
Current view: top level - src - gw_main.F (source / functions) Hit Total Coverage
Test: CP2K Regtests (git:2fce0f8) Lines: 8 8 100.0 %
Date: 2024-12-21 06:28:57 Functions: 1 1 100.0 %

          Line data    Source code
       1             : !--------------------------------------------------------------------------------------------------!
       2             : !   CP2K: A general program to perform molecular dynamics simulations                              !
       3             : !   Copyright 2000-2024 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_small_cell_full_kp,           ONLY: gw_calc_small_cell_full_kp
      16             :    USE gw_utils,                        ONLY: create_and_init_bs_env_for_gw
      17             :    USE input_constants,                 ONLY: large_cell_Gamma,&
      18             :                                               small_cell_full_kp
      19             :    USE input_section_types,             ONLY: section_vals_type
      20             :    USE post_scf_bandstructure_types,    ONLY: post_scf_bandstructure_type
      21             :    USE qs_environment_types,            ONLY: qs_environment_type
      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             : 
      32             : CONTAINS
      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          34 :    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          34 :       CALL timeset(routineN, handle)
      52             : 
      53          34 :       CALL create_and_init_bs_env_for_gw(qs_env, bs_env, post_scf_bandstructure_section)
      54             : 
      55          40 :       SELECT CASE (bs_env%small_cell_full_kp_or_large_cell_Gamma)
      56             : 
      57             :       CASE (small_cell_full_kp)
      58             : 
      59           6 :          CALL gw_calc_small_cell_full_kp(qs_env, bs_env)
      60             : 
      61             :       CASE (large_cell_Gamma)
      62             : 
      63          34 :          CALL gw_calc_large_cell_Gamma(qs_env, bs_env)
      64             : 
      65             :       END SELECT
      66             : 
      67          34 :       CALL timestop(handle)
      68             : 
      69          34 :    END SUBROUTINE gw
      70             : 
      71             : END MODULE gw_main
      72             : 

Generated by: LCOV version 1.15