5 &( f , xk , nf , ndire , npoin2, tstot )
47 & depth , teta , sintet, costet , raisf,
48 & qindi,bdispb,bdsspb, kspb, nbd
57 INTEGER,
INTENT(IN) :: NF, NDIRE, NPOIN2
58 DOUBLE PRECISION,
INTENT(IN) :: F(npoin2,ndire,nf)
59 DOUBLE PRECISION,
INTENT(IN) :: XK(npoin2,nf)
60 DOUBLE PRECISION,
INTENT(INOUT) :: TSTOT(npoin2,ndire,nf)
72 INTEGER IFF, JFF, IPL, JPL , IPO
74 DOUBLE PRECISION DTETA, FR1 , AP2 , XK1 , XK3 , DEP
75 DOUBLE PRECISION TETA2, XK2 , K2NL , NRJ2
76 DOUBLE PRECISION FREQ0, FREQ1, FREQ2, FREQ3, LRAISF, RAISM1
77 DOUBLE PRECISION VR1 , VR2 , VR3 , TK1 , TK2 , TK3
78 DOUBLE PRECISION BK1 , BK3 , DEP2
79 DOUBLE PRECISION FILT , BISP, DEUPI2
80 DOUBLE PRECISION VAR1 , XC1 , XC2 , XC3
81 DOUBLE PRECISION BMS , BMSP
93 dteta = teta(2)-teta(1)
95 bmsp = bms + 1.d0/3.d0
106 IF(freq2.LE.freq0)
THEN 109 fr1 = 1.d0 + log(freq2/freq0)/lraisf
111 fr1 = fr1 - dble(ifr)
112 fr1 = (raisf**fr1-1.d0)/raism1
123 k2nl = sqrt((xk3*costet(ipl)-xk1*costet(jpl))**2
124 & +(xk3*sintet(ipl)-xk1*sintet(jpl))**2)
125 xk2 = (1.d0-fr1)*xk(ipo,ifr) + fr1*xk(ipo,ifr+1)
127 teta2=atan2(xk3*sintet(ipl)-xk1*sintet(jpl)
128 & ,xk3*costet(ipl)-xk1*costet(jpl))
129 IF(teta2.LT.0.d0) teta2 =
deupi + teta2
131 IF(teta2.LT.bdispb .OR. teta2.GT.bdsspb)
THEN 138 ap2 = (teta2-teta(1))/dteta
141 IF(ipm.EQ.0) ipm=ndire
142 IF(ipp.EQ.ndire+1) ipp = 1
147 vr1 =
kerbou(xk1,xk2,freq1,freq2,dep,teta(jpl),teta2)
149 vr2 =
kerbou(-xk1,xk3,-freq1,freq3,dep,teta(jpl),
152 vr3 =
kerbou(-xk2,xk3,-freq2,freq3,dep,teta2,teta(ipl))
154 filt = kspb/((xk2-k2nl)**2+kspb*kspb)
155 filt = -0.5d0*filt/xk2
162 var1 = bmsp*deupi2*dep2
163 tk1 = (
gravit*dep*(1.d0+xc1)-var1*freq3*freq3)
164 tk2 = (
gravit*dep*(1.d0+xc2)-var1*freq2*freq2)
165 tk3 = (
gravit*dep*(1.d0+xc3)-var1*freq1*freq1)
167 bk1 =
deupi*freq3*(1.d0+3.d0*xc1)
168 bk3 =
deupi*freq1*(1.d0+3.d0*xc3)
174 nrj2 = (1.d0-ap2)*((1.d0-fr1)*f(ipo,ipm,ifr)+fr1*
176 & + ap2*((1.d0-fr1)*f(ipo,ipp,ifr)
177 & +fr1*f(ipo,ipp,ifr+1))
180 & ((vr2/tk2)*f(ipo,ipl,iff)*f(ipo,jpl,jff)
181 & +(vr3/tk3)*f(ipo,ipl,iff)*nrj2
182 & -(vr1/tk1)*f(ipo,jpl,jff)*nrj2)
188 vr1 =
dfreq(jff)*dteta*vr1/bk1
189 vr3 = 2.d0*
dfreq(iff)*dteta*vr3/bk3
191 tstot(ipo,ipl,iff) = tstot(ipo,ipl,iff) + vr1*bisp
192 tstot(ipo,jpl,jff) = tstot(ipo,jpl,jff) - vr3*bisp
double precision, dimension(:), pointer freq
double precision, dimension(:), pointer dfreq
subroutine qtria2(F, XK, NF, NDIRE, NPOIN2, TSTOT)
double precision function kerbou(XK1, XK2, FREQ1, FREQ2, DEPTH, TETA1, TETA2)