LCOV - code coverage report
Current view: top level - core - findlim.f (source / functions) Hit Total Coverage
Test: combined.info Lines: 0 17 0.0 %
Date: 2019-09-08 04:53:50 Functions: 0 1 0.0 %

          Line data    Source code
       1             :       MODULE m_findlim
       2             : c......................................................findlim
       3             : c finds turning point and practical "infinity"
       4             : c
       5             :       CONTAINS
       6           0 :       SUBROUTINE findlim(
       7           0 :      >                   mrad,lll,ec,vv,rc,
       8             :      <                   nmatch,nzero)
       9             : 
      10             :       IMPLICIT NONE
      11             : C     ..
      12             : C     .. Scalar Arguments ..
      13             :       REAL,    INTENT (IN) :: ec
      14             :       INTEGER, INTENT (IN) :: mrad,lll
      15             :       INTEGER, INTENT (OUT):: nmatch,nzero
      16             : C     ..
      17             : C     .. Array Arguments ..
      18             :       REAL   , INTENT (IN) :: rc(mrad),vv(mrad)
      19             : C     ..
      20             : C     .. Local Scalars ..
      21             :       REAL unend
      22             :       INTEGER n,nn
      23             : C     ..
      24             : C     .. Intrinsic Functions ..
      25             :       INTRINSIC mod
      26             : C     ..
      27             : C     .. Data statements ..
      28             :       DATA unend/150.0/
      29             : C     ..
      30             : C                   --------------------
      31             : C--->                  FIND    NZERO
      32             : C                   --------------------
      33           0 :       DO 10 n = 1, (mrad-1)
      34           0 :          IF ((vv(n)-ec)*rc(n)**2.GT.unend) THEN
      35           0 :             IF (mod(n,2).EQ.0) THEN
      36           0 :                nzero = n + 1
      37             :             ELSE
      38           0 :                nzero = n
      39             :             END IF
      40             :             GO TO 20
      41             :          END IF
      42           0 :    10 CONTINUE
      43           0 :       nzero = mrad - 1
      44             :       WRITE (6,FMT=
      45             :      +'('' NRC='',I4,'' L='',I2,
      46           0 :      +  ''  NZERO SET TO  (NRC-1) ='',I4)') mrad,lll,(mrad-1)
      47             :    20 CONTINUE
      48             : C                     --------------------
      49             : C--->                   FIND    NMATCH
      50             : C                     --------------------
      51           0 :       n = nzero + 1
      52           0 :       DO nn = 1,nzero
      53           0 :          n = n - 1
      54             : !        IF ( (vv(n) + lll/rc(n)**2 - ec) < 0.0 ) THEN
      55           0 :          IF ((vv(n)-ec).LT.0.0) THEN
      56           0 :             nmatch = n
      57           0 :             RETURN
      58             :          END IF
      59             :       ENDDO
      60             :       WRITE (6,FMT=
      61             :      +'(//,''  STOP IN <<CORE>>'',/,
      62             :      +     '' NRC='',I2,'' L='',I2,/,
      63           0 :      +     ''  NO MATCHING-RADIUS FOUND FOR  EC='',F10.3)') mrad,lll,ec
      64             : 
      65             :       
      66             : 
      67             :       END SUBROUTINE findlim
      68             :       END MODULE m_findlim

Generated by: LCOV version 1.13