LCOV - code coverage report
Current view: top level - global - checkdopall.f90 (source / functions) Hit Total Coverage
Test: combined.info Lines: 12 21 57.1 %
Date: 2019-09-08 04:53:50 Functions: 1 1 100.0 %

          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_checkdopall
       8             : 
       9             : CONTAINS
      10             : 
      11          13 : SUBROUTINE checkDOPAll(input,dimension,sphhar,stars,atoms,sym,vacuum,oneD,&
      12             :                        cell,potden,ispin)
      13             : 
      14             :    USE m_sphpts
      15             :    USE m_checkdop
      16             :    USE m_types
      17             :    USE m_cylpts
      18             :    USE m_points
      19             :    USE m_juDFT
      20             : 
      21             :    IMPLICIT NONE
      22             : 
      23             :    TYPE(t_input),INTENT(IN)     :: input
      24             :    TYPE(t_dimension),INTENT(IN) :: dimension
      25             :    TYPE(t_sphhar),intent(in)    :: sphhar      
      26             :    TYPE(t_stars),INTENT(IN)     :: stars
      27             :    TYPE(t_atoms),INTENT(IN)     :: atoms
      28             :    TYPE(t_sym),INTENT(IN)       :: sym
      29             :    TYPE(t_vacuum),INTENT(IN)    :: vacuum
      30             :    TYPE(t_oneD),INTENT(IN)      :: oneD
      31             :    TYPE(t_cell),INTENT(IN)      :: cell
      32             :    TYPE(t_potden),INTENT(IN)    :: potden
      33             : 
      34             :    INTEGER, INTENT(IN)          :: ispin
      35             : 
      36             :    INTEGER                      :: npd, nat, n, ivac
      37             :    REAL                         :: signum
      38             : 
      39          26 :    REAL                         :: xp(3,dimension%nspd)
      40             : 
      41          13 :    CALL timestart("checkDOPAll")
      42             : 
      43          13 :    IF ((input%film).AND.(.NOT.oneD%odi%d1)) THEN
      44             :       !--->             vacuum boundaries
      45           0 :       npd = min(dimension%nspd,25)
      46           0 :       CALL points(xp,npd)
      47           0 :       DO ivac = 1,vacuum%nvac
      48           0 :          signum = 3.0 - 2.0*ivac
      49           0 :          xp(3,:npd) = signum*cell%z1/cell%amat(3,3)
      50             :          CALL checkdop(xp,npd,0,0,ivac,1,ispin,dimension,atoms,&
      51           0 :                        sphhar,stars,sym,vacuum,cell,oneD,potden)
      52             :       END DO
      53          13 :    ELSE IF (oneD%odi%d1) THEN
      54           0 :       npd = min(dimension%nspd,25)
      55           0 :       CALL cylpts(xp,npd,cell%z1)
      56             :       CALL checkdop(xp,npd,0,0,ivac,1,ispin,dimension,atoms,&
      57           0 :                     sphhar,stars,sym,vacuum,cell,oneD,potden)
      58             :    END IF
      59             : 
      60             :    !--->          m.t. boundaries
      61          13 :    nat = 1
      62          39 :    DO n = 1, atoms%ntype
      63          26 :       CALL sphpts(xp,dimension%nspd,atoms%rmt(n),atoms%pos(1,nat))
      64             :       CALL checkdop(xp,dimension%nspd,n,nat,0,-1,ispin,&
      65          26 :                     dimension,atoms,sphhar,stars,sym,vacuum,cell,oneD,potden)
      66          39 :       nat = nat + atoms%neq(n)
      67             :    END DO
      68             : 
      69          13 :    CALL timestop("checkDOPAll")
      70             : 
      71          13 : END SUBROUTINE checkDOPAll
      72             : 
      73             : END MODULE m_checkdopall

Generated by: LCOV version 1.13