5 &( fra , ndire , spred1, teta1 , spred2, teta2 , xlamda)
56 INTEGER,
INTENT(IN) :: NDIRE
57 DOUBLE PRECISION,
INTENT(IN) :: SPRED1, TETA1 , SPRED2, TETA2
58 DOUBLE PRECISION,
INTENT(IN) :: XLAMDA
59 DOUBLE PRECISION,
INTENT(INOUT) :: FRA(ndire)
64 DOUBLE PRECISION DELT1 , DELT2 , FTH , FRA1 , FRA2 , ARGUM
65 DOUBLE PRECISION ARGMI1, ARGMI2
66 delt1 = 0.5d0/
delfra(spred1)
67 delt2 = 0.5d0/
delfra(spred2)
68 IF (spred1.GT.1.d-1)
THEN 69 argmi1=10.d0**(-4.d0/spred1)
73 IF (spred2.GT.1.d-1)
THEN 74 argmi2=10.d0**(-4.d0/spred2)
82 argum = abs(cos(0.5d0*(fth-teta1)))
83 IF (argum.GT.argmi1)
THEN 84 fra1=delt1*argum**(2.d0*spred1)
89 argum = abs(cos(0.5d0*(fth-teta2)))
90 IF (argum.GT.argmi2)
THEN 91 fra2=delt2*argum**(2.d0*spred2)
96 fra(jp)=xlamda*fra1+(1.d0-xlamda)*fra2
97 IF (fra(jp).LT.1.d-10) fra(jp)=0.d0
double precision function delfra(SS)
double precision, dimension(:), pointer teta
subroutine fsprd3(FRA, NDIRE, SPRED1, TETA1, SPRED2, TETA2, XLAMDA)