5 &( fra , ndire , spred1, teta1 , spred2, teta2 , xlamda)
62 INTEGER,
INTENT(IN) :: NDIRE
63 DOUBLE PRECISION,
INTENT(IN) :: SPRED1, TETA1 , SPRED2, TETA2
64 DOUBLE PRECISION,
INTENT(IN) :: XLAMDA
65 DOUBLE PRECISION,
INTENT(INOUT) :: FRA(ndire)
70 DOUBLE PRECISION DELT1 , DELT2 , FTH , FRA1 , FRA2 , ARGUM
72 delt1 = 1.d0/
delfra(spred1)
73 delt2 = 1.d0/
delfra(spred2)
78 argum = cos(fth-teta1)
79 IF(argum.GT.0.d0)
THEN 80 fra1=delt1*argum**(2.d0*spred1)
85 argum = cos(fth-teta2)
86 IF(argum.GT.0.d0)
THEN 87 fra2=delt2*argum**(2.d0*spred2)
92 fra(jp)=xlamda*fra1+(1.d0-xlamda)*fra2
93 IF (fra(jp).LT.1.d-9) fra(jp)=0.d0
subroutine fsprd1(FRA, NDIRE, SPRED1, TETA1, SPRED2, TETA2, XLAMDA)
double precision function delfra(SS)
double precision, dimension(:), pointer teta