LCOV - code coverage report
Current view: top level - types - types_dos.f90 (source / functions) Hit Total Coverage
Test: combined.info Lines: 16 17 94.1 %
Date: 2019-09-08 04:53:50 Functions: 1 3 33.3 %

          Line data    Source code
       1             : !--------------------------------------------------------------------------------
       2             : ! Copyright (c) 2018 Peter Grünberg Institut, Forschungszentrum Jülich, Germany
       3             : ! This file is part of FLEUR and available as free software under the conditions
       4             : ! of the MIT license as expressed in the LICENSE file in more detail.
       5             : !--------------------------------------------------------------------------------
       6             : 
       7             : MODULE m_types_dos
       8             : 
       9             : IMPLICIT NONE
      10             : 
      11             : PRIVATE
      12             : 
      13             :    TYPE t_dos
      14             :       INTEGER, ALLOCATABLE :: jsym(:,:,:)
      15             :       INTEGER, ALLOCATABLE :: ksym(:,:,:)
      16             :       REAL,    ALLOCATABLE :: qis(:,:,:)
      17             :       REAL,    ALLOCATABLE :: qal(:,:,:,:,:)
      18             :       REAL,    ALLOCATABLE :: qvac(:,:,:,:)
      19             :       REAL,    ALLOCATABLE :: qvlay(:,:,:,:,:)
      20             :       COMPLEX, ALLOCATABLE :: qstars(:,:,:,:,:,:)
      21             : 
      22             :       CONTAINS
      23             :          PROCEDURE,PASS :: init => dos_init
      24             :    END TYPE t_dos
      25             : 
      26             : PUBLIC t_dos
      27             : 
      28             : CONTAINS
      29             : 
      30         340 : SUBROUTINE dos_init(thisDOS,input,atoms,dimension,kpts,vacuum)
      31             : 
      32             :    USE m_types_setup
      33             :    USE m_types_kpts
      34             : 
      35             :    IMPLICIT NONE
      36             : 
      37             :    CLASS(t_dos),           INTENT(INOUT) :: thisDOS
      38             :    TYPE(t_input),          INTENT(IN)    :: input
      39             :    TYPE(t_atoms),          INTENT(IN)    :: atoms
      40             :    TYPE(t_dimension),      INTENT(IN)    :: dimension
      41             :    TYPE(t_kpts),           INTENT(IN)    :: kpts
      42             :    TYPE(t_vacuum),         INTENT(IN)    :: vacuum
      43             : 
      44         340 :    ALLOCATE(thisDOS%jsym(dimension%neigd,kpts%nkpt,input%jspins))
      45         340 :    ALLOCATE(thisDOS%ksym(dimension%neigd,kpts%nkpt,input%jspins))
      46         340 :    ALLOCATE(thisDOS%qis(dimension%neigd,kpts%nkpt,input%jspins))
      47         340 :    ALLOCATE(thisDOS%qal(0:3,atoms%ntype,dimension%neigd,kpts%nkpt,input%jspins))
      48         340 :    ALLOCATE(thisDOS%qvac(dimension%neigd,2,kpts%nkpt,input%jspins))
      49         340 :    ALLOCATE(thisDOS%qvlay(dimension%neigd,vacuum%layerd,2,kpts%nkpt,input%jspins))
      50         340 :    ALLOCATE(thisDOS%qstars(vacuum%nstars,dimension%neigd,vacuum%layerd,2,kpts%nkpt,input%jspins))
      51             : 
      52         948 :    thisDOS%jsym = 0
      53         948 :    thisDOS%ksym = 0
      54         948 :    thisDOS%qis = 0.0
      55         948 :    thisDOS%qal = 0.0
      56         948 :    thisDOS%qvac = 0.0
      57         948 :    thisDOS%qvlay = 0.0
      58         948 :    thisDOS%qstars = CMPLX(0.0,0.0)
      59             : 
      60         340 : END SUBROUTINE dos_init
      61             : 
      62           0 : END MODULE m_types_dos

Generated by: LCOV version 1.13