LCOV - code coverage report
Current view: top level - init - angles.f90 (source / functions) Hit Total Coverage
Test: FLEUR test coverage Lines: 15 15 100.0 %
Date: 2024-04-27 04:44:07 Functions: 2 2 100.0 %

          Line data    Source code
       1             : MODULE m_angles
       2             : 
       3             :    USE m_types_sym
       4             :    USE m_constants
       5             : 
       6             :    IMPLICIT NONE
       7             : 
       8             :    CONTAINS
       9             : 
      10             :    !Calculate the correct phase shifts for the rotation in spin-space
      11             :    !(needed for LDA+U and Green's functions with noco%l_mperp)
      12             : 
      13           2 :    SUBROUTINE angles(sym)
      14             : 
      15             :       TYPE(t_sym),   INTENT(INOUT)  :: sym
      16             : 
      17             :       INTEGER iop,d,t
      18             : 
      19           6 :       sym%phase = 0.0
      20             : 
      21           6 :       DO iop = 1, sym%nop
      22           4 :          d = det(sym%mrot(:,:,iop))
      23           4 :          t = (sym%mrot(1,1,iop)+sym%mrot(2,2,iop)+sym%mrot(3,3,iop)) * d
      24           4 :          IF(t.EQ.-1) sym%phase(iop) = 1.0
      25           4 :          IF(t.EQ.0)  sym%phase(iop) = 2.0/3.0
      26           4 :          IF(t.EQ.1)  sym%phase(iop) = 1.0/2.0
      27           4 :          IF(t.EQ.2)  sym%phase(iop) = 1.0/3.0
      28           4 :          IF(t.EQ.3)  sym%phase(iop) = 0.0
      29           6 :          sym%phase(iop) = d*sym%phase(iop)*pi_const
      30             :       ENDDO
      31             : 
      32           2 :    END SUBROUTINE
      33             : 
      34           4 :    INTEGER FUNCTION det(m)
      35             :       INTEGER m(:,:)
      36             :       det = m(1,1)*m(2,2)*m(3,3) + m(1,2)*m(2,3)*m(3,1) + &
      37             :             m(2,1)*m(3,2)*m(1,3) - m(1,3)*m(2,2)*m(3,1) - &
      38           4 :             m(2,3)*m(3,2)*m(1,1) - m(2,1)*m(1,2)*m(3,3)
      39           4 :    END FUNCTION det
      40             : 
      41             : 
      42             : END MODULE m_angles

Generated by: LCOV version 1.14