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

          Line data    Source code
       1             : !--------------------------------------------------------------------------------
       2             : ! Copyright (c) 2016 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_tlmplm
       8             :   IMPLICIT NONE
       9             :   PRIVATE
      10             :   TYPE t_rsoc
      11             :      REAL,ALLOCATABLE,DIMENSION(:,:,:,:) :: rsopp,rsoppd,rsopdp,rsopdpd     !(atoms%ntype,atoms%lmaxd,2,2)
      12             :      REAL,ALLOCATABLE,DIMENSION(:,:,:,:) :: rsoplop,rsoplopd,rsopdplo,rsopplo!(atoms%ntype,atoms%nlod,2,2)
      13             :      REAL,ALLOCATABLE,DIMENSION(:,:,:,:,:) :: rsoploplop !(atoms%ntype,atoms%nlod,nlod,2,2)
      14             :      COMPLEX,ALLOCATABLE,DIMENSION(:,:,:,:,:,:)::soangl
      15             :   END TYPE t_rsoc
      16             : 
      17             :     TYPE t_tlmplm
      18             :      COMPLEX,ALLOCATABLE :: tdd(:,:,:)
      19             :      COMPLEX,ALLOCATABLE :: tdu(:,:,:)
      20             :      !(0:lmplmd,ntypd,tspin)
      21             :      COMPLEX,ALLOCATABLE :: tud(:,:,:)
      22             :      COMPLEX,ALLOCATABLE :: tuu(:,:,:)
      23             :      !(0:lmplmd,ntypd,tspin)
      24             :      INTEGER,ALLOCATABLE :: ind(:,:,:,:)
      25             :      !(0:lmd,0:lmd,ntypd,tspin)
      26             :      COMPLEX,ALLOCATABLE :: tdulo(:,:,:,:)
      27             :      !(0:lmd,-llod:llod,mlotot,tspin)
      28             :      COMPLEX,ALLOCATABLE :: tuulo(:,:,:,:)
      29             :      !(0:lmd,-llod:llod,mlotot,tspin)
      30             :      COMPLEX,ALLOCATABLE :: tuloulo(:,:,:,:)
      31             :      !(-llod:llod,-llod:llod,mlolotot,tspin)
      32             :      COMPLEX,ALLOCATABLE :: h_loc(:,:,:,:)
      33             :      COMPLEX,ALLOCATABLE :: h_off(:,:,:,:)
      34             :      REAL,ALLOCATABLE    :: e_shift(:,:)
      35             :      TYPE(t_rsoc)        :: rsoc
      36             :    CONTAINS
      37             :      PROCEDURE,PASS :: init => tlmplm_init
      38             :   END TYPE t_tlmplm
      39             :   PUBLIC t_tlmplm,t_rsoc
      40             : CONTAINS
      41         340 :   SUBROUTINE tlmplm_init(td,lmplmd,lmd,ntype,lmaxd,llod,mlotot,mlolotot,jspins,l_offdiag)
      42             :     USE m_judft
      43             :     CLASS(t_tlmplm),INTENT(INOUT):: td
      44             :     INTEGER,INTENT(in)           :: lmplmd,lmd,ntype,lmaxd,llod,mlotot,mlolotot,jspins
      45             :     LOGICAL,INTENT(IN)           :: l_offdiag
      46             :     INTEGER :: err
      47             : 
      48         340 :     IF (ALLOCATED(td%tuu)) &
      49           0 :          DEALLOCATE(td%tuu,td%tud,td%tdd,td%tdu,td%tdulo,td%tuulo,&
      50           0 :          td%tuloulo,td%ind,td%h_loc,td%e_shift,td%h_off)
      51         340 :     ALLOCATE(td%tuu(0:lmplmd,ntype,jspins),stat=err)
      52         340 :     ALLOCATE(td%tud(0:lmplmd,ntype,jspins),stat=err)
      53         340 :     ALLOCATE(td%tdd(0:lmplmd,ntype,jspins),stat=err)
      54         340 :     ALLOCATE(td%tdu(0:lmplmd,ntype,jspins),stat=err)
      55         340 :     ALLOCATE(td%tdulo(0:lmd,-llod:llod,mlotot,jspins),stat=err)
      56         340 :     ALLOCATE(td%tuulo(0:lmd,-llod:llod,mlotot,jspins),stat=err)
      57         340 :     ALLOCATE(td%tuloulo(-llod:llod,-llod:llod,MAX(mlolotot,1),jspins), stat=err)
      58         340 :     ALLOCATE(td%ind(0:lmd,0:lmd,ntype,jspins),stat=err )
      59         340 :     ALLOCATE(td%h_loc(0:2*lmaxd*(lmaxd+2)+1,0:2*lmaxd*(lmaxd+2)+1,ntype,jspins))
      60         340 :     ALLOCATE(td%e_shift(ntype,jspins))
      61         340 :     IF (l_offdiag) THEN
      62          80 :        ALLOCATE(td%h_off(0:2*lmaxd+1,0:2*lmaxd+1,ntype,2))
      63             :     ELSE
      64         260 :        ALLOCATE(td%h_off(1,1,1,1))
      65             :     END IF
      66         340 :     IF (err.NE.0) THEN
      67           0 :        WRITE (*,*) 'an error occured during allocation of'
      68           0 :        WRITE (*,*) 'the tlmplm%tuu, tlmplm%tdd etc.: ',err,'  size: ',mlotot
      69           0 :        CALL juDFT_error("eigen: Error during allocation of tlmplm, tdd  etc.",calledby ="types_tlmplm")
      70             :     ENDIF
      71         340 :   END SUBROUTINE tlmplm_init
      72             :     
      73           0 : END MODULE m_types_tlmplm

Generated by: LCOV version 1.13