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

          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_mt_setup
       8             : 
       9             : CONTAINS
      10         340 :   SUBROUTINE mt_setup(atoms,sym,sphhar,input,noco,enpara,inden,vTot,mpi,results,DIMENSION,td,ud)
      11             :     USE m_types
      12             :     USE m_usetup
      13             :     USE m_tlmplm_cholesky
      14             :     USE m_tlmplm_store
      15             :     USE m_spnorb
      16             :     IMPLICIT NONE
      17             :     TYPE(t_results),INTENT(INOUT):: results
      18             :     TYPE(t_mpi),INTENT(IN)       :: mpi
      19             :     TYPE(t_dimension),INTENT(IN) :: DIMENSION
      20             :     TYPE(t_enpara),INTENT(INOUT) :: enpara
      21             :     TYPE(t_input),INTENT(IN)     :: input
      22             :     TYPE(t_noco),INTENT(IN)      :: noco
      23             :     TYPE(t_sym),INTENT(IN)       :: sym  
      24             :     TYPE(t_sphhar),INTENT(IN)    :: sphhar
      25             :     TYPE(t_atoms),INTENT(IN)     :: atoms
      26             :     TYPE(t_potden),INTENT(IN)    :: inDen
      27             :     TYPE(t_potden),INTENT(INOUT) :: vTot
      28             :     TYPE(t_tlmplm),INTENT(INOUT) :: td
      29             :     TYPE(t_usdus),INTENT(INOUT)  :: ud
      30             : 
      31             :     INTEGER:: jsp
      32             : 
      33         340 :     IF ((atoms%n_u.GT.0)) THEN
      34          30 :        CALL u_setup(sym,atoms,sphhar,input,enpara%el0(0:,:,:),inDen,vTot,mpi,results)
      35             :     END IF
      36             : 
      37         340 :     CALL timestart("tlmplm")
      38             :     CALL td%init(DIMENSION%lmplmd,DIMENSION%lmd,atoms%ntype,atoms%lmaxd,atoms%llod,SUM(atoms%nlo),&
      39             :          DOT_PRODUCT(atoms%nlo,atoms%nlo+1)/2,MERGE(4,input%jspins,noco%l_mtNocoPot),&
      40         340 :          (noco%l_noco.AND.noco%l_soc.AND..NOT.noco%l_ss).OR.noco%l_constr)!l_offdiag
      41             : 
      42         948 :     DO jsp=1,MERGE(4,input%jspins,noco%l_mtNocoPot)
      43             :        !CALL tlmplm_cholesky(sphhar,atoms,DIMENSION,enpara, jsp,1,mpi,vTot%mt(:,0,1,jsp),input,vTot%mmpMat, td,ud)
      44         608 :        CALL tlmplm_cholesky(sphhar,atoms,noco,enpara,jsp,jsp,mpi,vTot,input,td,ud)
      45         948 :        IF (input%l_f) CALL write_tlmplm(td,vTot%mmpMat,atoms%n_u>0,jsp,jsp,input%jspins)
      46             :     END DO
      47         340 :     CALL timestop("tlmplm")
      48             : 
      49             :     !Setup of soc parameters for first-variation SOC
      50         340 :     IF (noco%l_soc.AND.noco%l_noco.AND..NOT.noco%l_ss) THEN
      51          80 :        CALL spnorb(atoms,noco,input,mpi,enpara,vTot%mt,ud,td%rsoc,.FALSE.)
      52             :     END IF
      53             : 
      54         340 :   END SUBROUTINE mt_setup
      55             : END MODULE m_mt_setup

Generated by: LCOV version 1.13