40 . IXC ,PM ,GEO ,IPARI ,NOIN ,
41 . INTC ,ITAB ,MS ,NPBY ,LPBY ,
42 . MWA ,IKINE,IN ,STIFINT ,
43 . ID ,TITR ,INTBUF_TAB,STIFINTR )
54#include "implicit_f.inc"
64 INTEGER INSCR(*), IXS(*), IXC(*), IPARI(*), INTC(*),
65 . ITAB(*), NPBY(*), LPBY(*), MWA(*), IKINE(*)
68 . x(*), pm(*), geo(*), ms(*), in(*), stifint(*),stifintr(*)
70 CHARACTER(LEN=NCHARTITLE) :: TITR
72 TYPE(intbuf_struct_) INTBUF_TAB
81 INTEGER NRTS, NRTM, NSN, , NTY, NST, NMT, IBUC, NOINT,
82 . IWPENE, I, INCREM, P,
83 . ILEV,ICOR,II,JJ,NIR,K,N,L,N1,N2,N3,N4,INACTI,IGSTI
87 . xmas1, xmas2,stfn,stfr
106 IF(nty==16.OR.nty==17)
RETURN
108 IF(nty==7.OR.nty==10.OR.nty==11.OR.
109 . nty==20.OR.nty==21.OR.nty==22.OR.
110 . nty==23.OR.nty==24.OR.nty==25) increm = 100
131 IF(nty==1.OR.nty==9.OR.nty==12)
THEN
149 l = intbuf_tab%IRTLM(ii)
150 n = intbuf_tab%NSV(ii)
152 IF (nlocal(n,p)==0)
THEN
157 k = intbuf_tab%IRECTM((l-1)*4+jj)
171 intbuf_tab%LNSV(1:nst) = 0
172 intbuf_tab%LMSR(1:nmt) = 0
173 intbuf_tab%STFNS(1:nsn) = 0
175 WRITE(iout,2001)noint,nty
176 CALL inint0(x,intbuf_tab%IRECTS,intbuf_tab%NSEGS
177 1 intbuf_tab%MSR,intbuf_tab%ILOCM,nmn,nsn,nrts,intbuf_tab%S_IRECTS,intbuf_tab%S_LNSV)
178 CALL inint0(x,intbuf_tab%IRECTM,intbuf_tab%NSEGM,intbuf_tab%LMSR,intbuf_tab%MSR,
179 1 intbuf_tab%NSV,intbuf_tab%ILOCS,nsn,nmn,nrtm,intbuf_tab%S_IRECTM,intbuf_tab%S_LMSR)
180 CALL i6sti3(intbuf_tab%IRECTS,intbuf_tab%STFS,nrts,intbuf_tab%STFNS,nsn,
181 1 intbuf_tab%NSV,xmas1,ms,npby,lpby,noint,itab,id,titr)
182 CALL i6sti3(intbuf_tab%IRECTM,intbuf_tab%STFM,nrtm,intbuf_tab%STFNM,nmn,
183 1 intbuf_tab%MSR,xmas2,ms,npby,lpby,noint,itab,id,titr)
184 intbuf_tab%VARIABLES(4)=
min(xmas1,xmas2)
185 CALL invoi3(x,intbuf_tab%IRECTM,intbuf_tab%LMSR,intbuf_tab%MSR,intbuf_tab%NSV,
186 1 intbuf_tab%ILOCS,intbuf_tab%IRTLM,intbuf_tab%NSEGM,nsn,nmn,
188 CALL invoi3(x,intbuf_tab%IRECTS,intbuf_tab%LNSV,intbuf_tab%NSV,intbuf_tab%MSR,
189 1 intbuf_tab%ILOCM,intbuf_tab%IRTLS,intbuf_tab%NSEGS,nmn,nsn,
193 1 (x ,intbuf_tab%IRECTM,intbuf_tab%MSR,intbuf_tab%NSV ,intbuf_tab%ILOCS,
194 2 intbuf_tab%IRTLM,intbuf_tab%CSTS,intbuf_tab%IRTLOM,intbuf_tab%VARIABLES(2),nsn ,
195 3 itab ,iwpene ,intbuf_tab%FCONT
199 1 (x ,intbuf_tab%IRECTS,intbuf_tab%NSV,intbuf_tab%MSR ,intbuf_tab%ILOCM,
200 2 intbuf_tab%IRTLS,intbuf_tab%CSTM,intbuf_tab%IRTLOS,intbuf_tab%VARIABLES(2),nmn ,
201 3 itab ,iwpene ,intbuf_tab%FCONT,icor ,id,
208 . msgtype=msgwarning,
209 . anmode=aninfo_blind_1,
220 i = intbuf_tab%MSR(ii)
221 intbuf_tab%NMAS(ii) = ms(i)
222 IF (iroddl == 1) intbuf_tab%NMAS(nmn+ii) = in(i)
224 IF (ilev == 10 .OR. ilev == 11 .OR. ilev == 12 .OR.
225 . ilev == 20 .OR. ilev == 21 .OR. ilev == 22)
THEN
227 i = intbuf_tab%NSV(ii)
228 intbuf_tab%SMAS(ii) = ms(i)
229 IF (iroddl == 1) intbuf_tab%SINER(ii) = in(i)
231 ELSEIF (ilev == 25)
THEN
234 i = intbuf_tab%NSV(ii)
235 l = intbuf_tab%IRTLM(ii)
237 intbuf_tab%SMAS(ii) = ms(i)
238 IF (iroddl == 1) intbuf_tab%SINER(ii) = in(i)
239 n1 = intbuf_tab%IRECTM((l-1)*4+1)
240 n2 = intbuf_tab%IRECTM((l-1)*4+2)
241 n3 = intbuf_tab%IRECTM((l-1)*4+3)
242 n4 = intbuf_tab%IRECTM((l-1)*4+4)
244 stfn=third*(stifint(n1)+stifint(n2)+stifint(n3))
246 stfn=fourth*(stifint(n1)+stifint(n2)+stifint(n3)+stifint(n4))
250 stfn = half*(stfn+stifint(i))
252 stfn =
max(stfn,stifint(i))
254 stfn =
min(stfn,stifint(i))
256 stfn = stfn*stifint(i) / (stfn+stifint(i))
260 intbuf_tab%SPENALTY(ii) = stfn*intbuf_tab%STFAC(1)
262 ELSEIF (ilev == 26)
THEN
265 i = intbuf_tab%NSV(ii)
266 l = intbuf_tab%IRTLM(ii)
268 intbuf_tab%SMAS(ii) = ms(i)
269 IF (iroddl == 1) intbuf_tab%SINER(ii) = in(i)
270 n1 = intbuf_tab%IRECTM((l-1)*4+1)
271 n2 = intbuf_tab%IRECTM((l-1)*4+2)
272 n3 = intbuf_tab%IRECTM((l-1)*4+3)
273 n4 = intbuf_tab%IRECTM((l-1)*4+4)
275 stfn=third*(stifint(n1)+stifint(n2)+stifint(n3))
277 stfn=fourth*(stifint(n1)+stifint(n2)+stifint(n3)+stifint(n4))
281 stfn = half*(stfn+stifint(i))
283 stfn =
max(stfn,stifint(i))
285 stfn =
min(stfn,stifint(i))
287 stfn = stfn*stifint(i) / (stfn+stifint(i))
291 intbuf_tab%SPENALTY(ii) = stfn
293 ELSEIF ((ilev == 27).OR.(ilev == 28))
THEN
296 i = intbuf_tab%NSV(ii)
297 l = intbuf_tab%IRTLM(ii)
299 intbuf_tab%SMAS(ii) = ms(i)
300 IF (iroddl == 1) intbuf_tab%SINER(ii) = in(i)
301 n1 = intbuf_tab%IRECTM((l-1)*4+1)
302 n2 = intbuf_tab%IRECTM((l-1)*4+2)
303 n3 = intbuf_tab%IRECTM((l-1)*4+3)
304 n4 = intbuf_tab%IRECTM((l-1)*4+4)
306 stfn=third*(stifint(n1)+stifint(n2)+stifint(n3))
307 stfr=third*(stifintr(n1)+stifintr(n2)+stifintr(n3))
309 stfn=fourth*(stifint(n1)+stifint(n2)+stifint(n3)+stifint(n4))
310 stfr=fourth*(stifintr(n1)+stifintr(n2)+stifintr(n3)+stifintr(n4))
314 stfn = half*(stfn+stifint(i))
315 stfr = half*(stfr+stifintr(i))
317 stfn =
max(stfn,stifint(i))
318 stfr =
max(stfr,stifintr(i))
320 stfn =
min(stfn,stifint(i))
321 stfr =
min(stfr,stifintr(i))
323 stfn = stfn*stifint(i) /
max(em20,(stfn+stifint(i)))
324 stfr = stfr*stifintr(i) /
max(em20,(stfr+stifintr(i)))
328 intbuf_tab%SPENALTY(ii) = stfn*intbuf_tab%STFAC(1)
329 intbuf_tab%STFR_PENALTY(ii) = stfr*intbuf_tab%STFAC(1)
336 2001
FORMAT(//,1x,
'INTERFACE NUMBER. . . . . . . . . . . . . .',i10/
337 + ,1x,
'INTERFACE TYPE. . . . . . . . . . . . . . .',i6/)
339 +
' SECONDARY NEAREST NEAREST MAIN NODES SECONDARY '/
340 +
' NODE MAIN SEGMENT S T')
342 +
' MAIN NEAREST NEAREST SECONDARY NODES MAIN'/
343 +
' NODE SECONDARY SEGMENT S T')
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)