Line data Source code
1 : MODULE m_felim 2 : c.........................................................felim 3 : c energy limits setup and checking 4 : c 5 : CONTAINS 6 10 : SUBROUTINE felim( 7 10 : > mrad,lll,zz,nqn,vv,rc, 8 : < elim) 9 : C ----------------- 10 : C---> FIND E-LIMIT 11 : C ----------------- 12 : 13 : IMPLICIT NONE 14 : C .. 15 : C .. Scalar Arguments .. 16 : INTEGER, INTENT (IN) :: mrad,lll,nqn 17 : REAL , INTENT (IN) :: zz 18 : REAL , INTENT (OUT):: elim 19 : C .. 20 : C .. Array Arguments .. 21 : REAL , INTENT (IN) :: rc(mrad),vv(mrad) 22 : C .. 23 : C .. Local Scalars .. 24 : REAL val 25 : INTEGER n 26 : C .. 27 10 : IF (lll.EQ.0) THEN 28 6 : elim = -2.0*zz*zz/ (1.50*nqn*nqn) 29 : ELSE 30 4 : elim = vv(1) + lll/rc(1)**2 31 2692 : DO 10 n = 2,mrad 32 2688 : val = vv(n) + lll/rc(n)**2 33 2688 : IF (val.LE.elim) elim = val 34 4 : 10 CONTINUE 35 : END IF 36 10 : END SUBROUTINE felim 37 : END MODULE m_felim