5 &( fa , fr , xk , knew , newf , newf1 , taux1 , taux2 ,
63 & usdpi, uc, vc, raisf
71 INTEGER,
INTENT(IN) :: NPOIN2, NDIRE, NF
72 INTEGER,
INTENT(INOUT) :: KNEW(npoin2),NEWF(npoin2), NEWF1(npoin2)
73 DOUBLE PRECISION,
INTENT(IN) :: FR(npoin2,ndire,nf)
74 DOUBLE PRECISION,
INTENT(IN) :: XK(npoin2,nf)
75 DOUBLE PRECISION,
INTENT(INOUT) :: TAUX1(npoin2),TAUX2(npoin2)
76 DOUBLE PRECISION,
INTENT(INOUT) :: FA(npoin2,ndire,nf)
80 INTEGER IP , JP , JF , NEWM , NEWM1 , KH
81 DOUBLE PRECISION F0 , UK , AUXI , Z
82 DOUBLE PRECISION FNEW , UNSLRF
91 unslrf=1.d0/log(raisf)
93 CALL ov(
'X=C ', x=fa, c=0.d0, dim1=npoin2*ndire*nf)
109 IF(abs(z)/
freq(jf).LT.1.d-3)
THEN 113 taux1(ip)=fr(ip,jp,jf)
122 IF(fnew.GT.0.d0)
THEN 125 knew(ip)=1+mod(jp+ndire/2-1,ndire)
134 IF(fnew.LT.f0/raisf)
THEN 137 newf(ip)=int(1.d0+log(fnew/f0)*unslrf)
144 IF((newf(ip).LT.nf).AND.(newf(ip).GE.1))
THEN 146 auxi=fr(ip,jp,jf)*
dfreq(jf)
148 taux1(ip)=auxi*(
freq(newf1(ip))-fnew)/
dfreq(newf(ip))
149 taux2(ip)=auxi*(fnew-
freq(newf(ip)))/
dfreq(newf1(ip))
150 ELSEIF (newf(ip).EQ.0)
THEN 151 auxi=fr(ip,jp,jf)*
dfreq(jf)/(f0*(1.d0-1.d0/raisf))
152 taux2(ip)=auxi*(fnew-f0/raisf)/
dfreq(1)
155 ELSEIF (newf(ip).EQ.nf)
THEN 156 auxi=fr(ip,jp,jf)*
dfreq(jf)/(
freq(nf)*(raisf-1.d0))
157 taux1(ip)=auxi*(
freq(nf)*raisf-fnew)/
dfreq(nf)
177 IF(newm .NE.-1) fa(ip,kh,newm )=fa(ip,kh,newm )+taux1(ip)
178 IF(newm1.NE.-1) fa(ip,kh,newm1)=fa(ip,kh,newm1)+taux2(ip)
double precision, dimension(:), pointer sintet
subroutine ov(OP, X, Y, Z, C, DIM1)
double precision, dimension(:), pointer freq
double precision, dimension(:), pointer dfreq
subroutine transf(FA, FR, XK, KNEW, NEWF, NEWF1, TAUX1, TAUX2, NPOIN2, NDIRE, NF)
double precision, dimension(:), pointer costet