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

          Line data    Source code
       1             : MODULE m_nwrfst
       2             : 
       3             :    CONTAINS
       4             :    
       5          36 :    SUBROUTINE nwrfst(mrad,nsol,is,it,nmatch,nzero,ferro,ec,rc,pow,piw,gc,err,var,dv,varnew,errnew)
       6             : 
       7             : !..........................................................nwrfst
       8             : ! starting values for E, A, A_out, A_inw
       9             : !
      10             :       IMPLICIT NONE
      11             : 
      12             :       INTEGER, INTENT (IN) :: mrad
      13             :       INTEGER, INTENT (IN) :: is, it, nmatch, nsol, nzero
      14             :       LOGICAL, INTENT (IN) :: ferro
      15             :       REAL, INTENT    (IN) :: ec
      16             : 
      17             :       REAL, INTENT (INOUT) :: dv(4), err(4), errnew(4), var(4), varnew(4)
      18             :       REAL, INTENT (IN)    :: gc(2,2,mrad), piw(2,2), pow(2,2), rc(mrad)
      19             : 
      20             : 
      21             :       REAL ratt, rr, trymix
      22             :       INTEGER iv, j, n
      23             : 
      24             :       REAL niw(2), now(2)
      25             : 
      26          36 :       trymix = 0.010
      27             : 
      28             : !                                      --------------------
      29             : !                                       START VALUES FOR
      30             : !                                           PARAMETERS
      31             : !                                      --------------------
      32          36 :       var(1) = ec
      33          36 :       var(2) = pow(is,is)/piw(is,is)
      34             : 
      35          36 :       IF ((nsol.EQ.2) .AND. ferro) THEN
      36          48 :          DO j = 1,nsol
      37          48 :             now(j) = 0.00
      38             :          END DO
      39        8096 :          DO n = 1,nmatch - 1
      40        8080 :             rr = rc(n)**3
      41       24256 :             DO j = 1,nsol
      42       24240 :                now(j) = now(j) + gc(j,j,n)**2*rr
      43             :             END DO
      44             :          END DO
      45          48 :          DO j = 1,nsol
      46          48 :             niw(j) = 0.00
      47             :          END DO
      48        1216 :          DO n = nmatch,nzero - 1
      49        1200 :             rr = rc(n)**3
      50        3616 :             DO j = 1,nsol
      51        3600 :                niw(j) = niw(j) + gc(j,j,n)**2*rr
      52             :             END DO
      53             :          END DO
      54          16 :          ratt = pow(it,it)/piw(it,it)
      55          16 :          var(3) = trymix * (now(is)+niw(is)*var(2)) / (now(it)+niw(it)*ratt)
      56          16 :          var(4) = ratt * var(3) / var(2)
      57             :       ELSE
      58          60 :          DO iv = 3,4
      59          40 :             err(iv) = 0.00
      60          40 :             errnew(iv) = 0.00
      61          40 :             var(iv) = 0.00
      62          40 :             varnew(iv) = 0.00
      63          60 :             dv(iv) = 0.00
      64             :          END DO
      65             :       END IF
      66             : 
      67          36 :    END SUBROUTINE nwrfst
      68             :       
      69             : END MODULE m_nwrfst

Generated by: LCOV version 1.14