LCOV - code coverage report
Current view: top level - core - cfnorm.f90 (source / functions) Hit Total Coverage
Test: FLEUR test coverage Lines: 40 40 100.0 %
Date: 2024-05-03 04:28:07 Functions: 1 1 100.0 %

          Line data    Source code
       1             : MODULE m_cfnorm
       2             : 
       3             :    CONTAINS
       4             : 
       5          36 :    SUBROUTINE cfnorm(mrad,is,it,nsol,nmatch,jtop,var,gc,fc,rc,rc2,dx,gck,fck)
       6             : !...........................................................cfnorm
       7             : ! wavefunctions normalization
       8             : !
       9             : 
      10             :       USE m_rsimp
      11             : 
      12             :       IMPLICIT NONE
      13             : 
      14             :       INTEGER, INTENT (IN) :: mrad
      15             :       REAL dx
      16             :       INTEGER is,it,jtop,nmatch,nsol
      17             : 
      18             :       REAL fc(2,2,mrad),fck(2,2,mrad),gc(2,2,mrad),gck(2,2,mrad),rc(mrad),rc2(mrad),var(4)
      19             : 
      20             :       REAL xnorm
      21             :       INTEGER i,j,k,n
      22             : 
      23          36 :       REAL rint(mrad)
      24             : 
      25             : 
      26       24264 :       DO n = 1,mrad
      27       59260 :          DO k = 1,nsol
      28       34996 :             gck(k,is,n) = 0.0
      29       59224 :             fck(k,is,n) = 0.0
      30             :          END DO
      31             :       END DO
      32             : !                         ---------------------------------
      33             : !--->                     NORMALIZE WAVEFUNCTIONS ACCORDING
      34             : !                               TO MATCHING CONDITIONS
      35             : !                         ---------------------------------
      36             : !                                    INWARD - SOLUTION
      37        6552 :       DO n = nmatch,jtop
      38       15756 :          DO j = 1,nsol
      39       30300 :             DO i = 1,nsol
      40       14580 :                gc(i,j,n) = gc(i,j,n)*var(2)
      41       23784 :                fc(i,j,n) = fc(i,j,n)*var(2)
      42             :             END DO
      43             :          END DO
      44             :       END DO
      45             : 
      46          36 :       IF (nsol.EQ.2) THEN
      47             : !                                   OUTWARD - SOLUTION
      48        8096 :          DO n = 1, (nmatch-1)
      49       24256 :             DO i = 1,nsol
      50       16160 :                gc(i,it,n) = gc(i,it,n)*var(3)
      51       24240 :                fc(i,it,n) = fc(i,it,n)*var(3)
      52             :             END DO
      53             :          END DO
      54             : !                                    INWARD - SOLUTION
      55        2704 :          DO n = nmatch,jtop
      56        8080 :             DO i = 1,nsol
      57        5376 :                gc(i,it,n) = gc(i,it,n)*var(4)
      58        8064 :                fc(i,it,n) = fc(i,it,n)*var(4)
      59             :             END DO
      60             :          END DO
      61             :       END IF
      62             : !                                    SUM FOR EACH KAPPA
      63       24264 :       DO n = 1,jtop
      64       59260 :          DO k = 1,nsol
      65       34996 :             gck(k,is,n) = 0.00
      66       59224 :             fck(k,is,n) = 0.00
      67             :          END DO
      68             :       END DO
      69       24264 :       DO n = 1,jtop
      70       59260 :          DO k = 1,nsol
      71      115756 :             DO j = 1,nsol
      72       56532 :                gck(k,is,n) = gck(k,is,n) + gc(k,j,n)
      73       91528 :                fck(k,is,n) = fck(k,is,n) + fc(k,j,n)
      74             :             END DO
      75             :          END DO
      76             :       END DO
      77             : !                       -----------------------------------
      78             : !                       CALCULATE  NORM  AND NORMALIZE TO 1
      79             : !                       -----------------------------------
      80       24264 :       DO n = 1,jtop
      81       24228 :          rint(n) = 0.00
      82       59260 :          DO k = 1,nsol
      83       59224 :             rint(n) = rint(n) + rc2(n)* (gck(k,is,n)**2+fck(k,is,n)**2)
      84             :          END DO
      85             :       END DO
      86          36 :       xnorm = rsimp(mrad,rint,rc,jtop,dx)
      87          36 :       xnorm = 1.00/sqrt(xnorm)
      88       24264 :       DO n = 1,jtop
      89       59260 :          DO k = 1,nsol
      90       34996 :             gck(k,is,n) = gck(k,is,n)*xnorm
      91       59224 :             fck(k,is,n) = fck(k,is,n)*xnorm
      92             :          END DO
      93             :       END DO
      94             : 
      95          36 :    END SUBROUTINE cfnorm      
      96             : END MODULE m_cfnorm

Generated by: LCOV version 1.14