LCOV - code coverage report
Current view: top level - global - genMTBasis.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             : MODULE m_genMTBasis
       7             : 
       8             : CONTAINS
       9             : 
      10        2328 :   SUBROUTINE genMTBasis(atoms,enpara,vTot,mpi,iType,jspin,usdus,f,g,flo)
      11             :     USE m_types
      12             :     USE m_radfun
      13             :     USE m_radflo
      14             :     !$  use omp_lib
      15             : 
      16             :     IMPLICIT NONE
      17             : 
      18             :     TYPE(t_atoms),  INTENT(IN)    :: atoms
      19             :     TYPE(t_enpara), INTENT(IN)    :: enpara
      20             :     TYPE(t_potden), INTENT(IN)    :: vTot
      21             :     TYPE(t_mpi),    INTENT(IN)    :: mpi
      22             :     TYPE(t_usdus),  INTENT(INOUT) :: usdus
      23             : 
      24             :     INTEGER,        INTENT(IN)    :: iType
      25             :     INTEGER,        INTENT(IN)    :: jspin
      26             : 
      27             :     REAL,           INTENT(INOUT) :: f(atoms%jmtd,2,0:atoms%lmaxd)
      28             :     REAL,           INTENT(INOUT) :: g(atoms%jmtd,2,0:atoms%lmaxd)
      29             :     REAL,           INTENT(INOUT) :: flo(atoms%jmtd,2,atoms%nlod)
      30             : 
      31             : 
      32             :     INTEGER                       :: l,nodeu,noded
      33             :     REAL                          :: wronk
      34             : 
      35             : 
      36             :     LOGICAL    :: l_write
      37        2328 :     l_write=mpi%irank==0 
      38        2328 :     !$ l_write = l_write .and. omp_get_num_threads()==1
      39             : 
      40             : 
      41        1164 :     IF (l_write) WRITE (6,FMT=8000) iType
      42             : 
      43       23616 :     DO l = 0,atoms%lmax(iType)
      44             :        CALL radfun(l,iType,jspin,enpara%el0(l,iType,jspin),vTot%mt(:,0,iType,jspin),atoms,&
      45       21288 :             f(1,1,l),g(1,1,l),usdus,nodeu,noded,wronk)
      46       23616 :        IF (l_write) THEN
      47       10644 :           WRITE (6,FMT=8010) l,enpara%el0(l,iType,jspin),usdus%us(l,iType,jspin),usdus%dus(l,iType,jspin),&
      48       21288 :                nodeu,usdus%uds(l,iType,jspin),usdus%duds(l,iType,jspin),noded,usdus%ddn(l,iType,jspin),wronk
      49             :        END IF
      50             :     END DO
      51             : 
      52             :     ! Generate the extra wavefunctions for the local orbitals, if there are any.
      53        2328 :     IF (atoms%nlo(iType).GE.1) THEN
      54             :        CALL radflo(atoms,iType,jspin,enpara%ello0(1,1,jspin),vTot%mt(:,0,iType,jspin),f,g,mpi,&
      55         248 :             usdus,usdus%uuilon(1,1,jspin),usdus%duilon(1,1,jspin),usdus%ulouilopn(1,1,1,jspin),flo)
      56             :     END IF
      57             : 
      58             : 8000 FORMAT (1x,/,/,' wavefunction parameters for atom type',i3,':',&
      59             :          /,t32,'radial function',t79,'energy derivative',/,t3,&
      60             :          'l',t8,'energy',t26,'value',t39,'derivative',t53,&
      61             :          'nodes',t68,'value',t81,'derivative',t95,'nodes',t107,&
      62             :          'norm',t119,'wronskian')
      63             : 8010 FORMAT (i3,f10.5,2 (5x,1p,2e16.7,i5),1p,2e16.7)
      64             : 
      65        2328 :   END SUBROUTINE genMTBasis
      66             : 
      67             : END MODULE m_genMTBasis

Generated by: LCOV version 1.13