34 1 JLT ,IRECTS ,IRECTM ,X ,V ,
35 2 CAND_S ,CAND_M ,STFS ,STFM ,GAP ,
36 3 GAP_S ,GAP_M ,IGAP ,GAPV ,MS ,
37 4 STIF ,XXS1 ,XXS2 ,XYS1 ,XYS2 ,
38 5 XZS1 ,XZS2 ,XXM1 ,XXM2 ,XYM1 ,
39 6 XYM2 ,XZM1 ,XZM2 ,VXS1 ,VXS2 ,
40 7 VYS1 ,VYS2 ,VZS1 ,VZS2 ,VXM1 ,
41 8 VXM2 ,VYM1 ,VYM2 ,VZM1 ,VZM2 ,
42 9 MS1 ,MS2 ,MM1 ,MM2 ,N1 ,
43 A N2 ,M1 ,M2 ,NRTS ,NIN ,
44 B IGSTI ,KMIN ,KMAX ,NODNX_SMS,NSMS ,
45 C GAP_S_L ,GAP_M_L ,INTTH ,TEMP ,TEMPI1 ,
46 D TEMPI2 ,TEMPM1 ,TEMPM2 ,AREAS ,AREAM ,
47 E AREAC ,IELECI ,IELESI ,IELEC ,IELES ,
48 F IFORM ,ITAB ,INTFRIC ,IPARTFRICS,IPARTFRICSI,
49 G IPARTFRICM,IPARTFRICMI)
57#include "implicit_f.inc"
69 INTEGER IRECTS(2,*), IRECTM(2,*), CAND_M(*), CAND_S(*),
70 . JLT, IGAP , , NIN, IGSTI, NODNX_SMS(*),
71 . N1(MVSIZ), N2(MVSIZ), M1(MVSIZ), M2(MVSIZ), NSMS(MVSIZ),
72 . INTTH,IELEC(*),IELECI(MVSIZ),ITAB(*),IELES(*),IELESI(),IFORM,
74 . IPARTFRICS(*),IPARTFRICSI(MVSIZ),IPARTFRICM(*),IPARTFRICMI(MVSIZ)
77 . GAP, X(3,*), STFM(*), STFS(*),GAP_S(*),GAP_M(*),
79 . XXS1(MVSIZ), XXS2(MVSIZ), XYS1(MVSIZ), XYS2(),
80 . XZS1(MVSIZ), XZS2(MVSIZ), XXM1(MVSIZ), XXM2(MVSIZ),
81 . XYM1(), XYM2(MVSIZ), (MVSIZ), XZM2(MVSIZ),
82 . VXS1(MVSIZ), VXS2(MVSIZ), VYS1(MVSIZ), VYS2(MVSIZ),
83 . VZS1(MVSIZ), VZS2(MVSIZ), VXM1(MVSIZ), VXM2(MVSIZ),
84 . VYM1(MVSIZ), VYM2(MVSIZ), VZM1(MVSIZ), VZM2(MVSIZ),
85 . ms1(mvsiz), ms2(mvsiz), mm1(mvsiz), mm2(mvsiz),
86 . gapv(mvsiz), stif(mvsiz), kmin, kmax, drad,
87 . gap_s_l(*),gap_m_l(*),temp(*),areas(*),aream(*),
88 . tempi1(mvsiz),tempi2(mvsiz),tempm1(mvsiz),tempm2(mvsiz),
95 . TM,DIST,SECS,SECM,XS,YS,ZS,XM,,ZM,LS,LM,CT,ST,AREA1,AREA2
104 IF(cand_s(i)<=nrts)
THEN
105 gapv(i)=gap_s(cand_s(i))+gap_m(cand_m(i))
107 . gapv(i)=
min(gap_s_l(cand_s(i))+gap_m_l(cand_m(i)),gapv(i))
109 gapv(i)=
gapfi(nin)%P(cand_s(i)-nrts)+gap_m(cand_m(i))
112 .
min(
gap_lfi(nin)%P(cand_s(i)-nrts)+gap_m_l(cand_m(i)),gapv(i))
114 gapv(i)=
max(gap,gapv(i))
120 IF(cand_s(i)<=nrts)
THEN
121 stif(i)=abs(stfs(cand_s(i)))*stfm(cand_m(i))
122 . /
max(em20,abs(stfs(cand_s(i)))+stfm(cand_m(i)))
124 nn = cand_s(i) - nrts
125 stif(i)=abs(
stifi(nin)%P(nn))*stfm(cand_m(i))
126 . /
max(em20,abs(
stifi(nin)%P(nn))+stfm(cand_m(i)))
129 ELSEIF(igsti == 5)
THEN
131 IF(cand_s(i)<=nrts)
THEN
132 stif(i)=abs(stfs(cand_s(i)))*stfm(cand_m(i))
133 . /
max(em20,abs(stfs(cand_s(i)))+stfm(cand_m(i)))
135 nn = cand_s(i) - nrts
136 stif(i)=abs(
stifi(nin)%P(nn))*stfm(cand_m(i))
137 . /
max(em20,abs(
stifi(nin)%P(nn))+stfm(cand_m(i)))
139 stif(i)=
max(kmin,
min(stif(i),kmax))
141 ELSEIF(igsti == 2)
THEN
143 IF(cand_s(i)<=nrts)
THEN
144 stif(i)=half*(abs(stfs(cand_s(i)))+stfm(cand_m(i)))
146 nn = cand_s(i) - nrts
147 stif(i)=half*(abs(
stifi(nin)%P(nn))+stfm(cand_m(i)))
149 stif(i)=
max(kmin,
min(stif(i),kmax))
151 ELSEIF(igsti == 3)
THEN
153 IF(cand_s(i)<=nrts)
THEN
154 stif(i)=
max(abs(stfs(cand_s(i))),stfm(cand_m(i)))
156 nn = cand_s(i) - nrts
157 stif(i)=
max(abs(
stifi(nin)%P(nn)),stfm(cand_m(i)))
159 stif(i)=
max(kmin,
min(stif(i),kmax))
161 ELSEIF(igsti == 4)
THEN
163 IF(cand_s(i)<=nrts)
THEN
164 stif(i)=
min(abs(stfs(cand_s(i))),stfm(cand_m(i)))
166 nn = cand_s(i) - nrts
167 stif(i)=
min(abs(
stifi(nin)%P(nn)),stfm(cand_m(i)))
169 stif(i)=
max(kmin,
min(stif(i),kmax))
174 IF(cand_s(i)<=nrts)
THEN
175 n1(i)=irects(1,cand_s(i))
176 n2(i)=irects(2,cand_s(i))
177 m1(i)=irectm(1,cand_m(i))
178 m2(i)=irectm(2,cand_m(i))
208 nn = cand_s(i) - nrts
211 m1(i)=irectm(1,cand_m(i))
212 m2(i)=irectm(2,cand_m(i))
213 xxs1(i) =
xfi(nin)%P(1,n1(i))
214 xys1(i) =
xfi(nin)%P(2,n1(i))
215 xzs1(i) =
xfi(nin)%P(3,n1
216 xxs2(i) =
xfi(nin)%P(1,n2(i))
217 xys2(i) =
xfi(nin)%P(2,n2(i))
218 xzs2(i) =
xfi(nin)%P(3,n2(i))
225 vxs1(i) =
vfi(nin)%P(1,n1
226 vys1(i) =
vfi(nin)%P(2,n1(i))
227 vzs1(i) =
vfi(nin)%P(3,n1(i))
228 vxs2(i) =
vfi(nin)%P(1,n2(i))
229 vys2(i) =
vfi(nin)%P(2,n2(i))
230 vzs2(i) =
vfi(nin)%P(3,n2(i))
237 ms1(i) =
msfi(nin)%P(n1(i))
238 ms2(i) =
msfi(nin)%P(n2(i))
246 IF(cand_s(i)<=nrts)
THEN
247 nsms(i)=nodnx_sms(n1(i))+nodnx_sms(n2(i))+
248 . nodnx_sms(m1(i))+nodnx_sms(m2(i))
251 . nodnx_sms(m1(i))+nodnx_sms(m2(i))
254 IF(idtmins_int/=0)
THEN
256 IF(nsms(i)==0)nsms(i)=-1
259 ELSEIF(idtmins_int/=0)
THEN
272 IF(cand_s(i)<=nrts)
THEN
274 secs=areas(cand_s(i))
280 ls = sqrt(xs*xs + ys*ys + zs*zs)
284 tempi1(i) = temp(n1(i))
285 tempi2(i) = temp(n2(i))
286 ieleci(i)= ielec(cand_s(i))
288 nn = cand_s(i) - nrts
296 ls = sqrt(xs*xs + ys*ys + zs*zs)
300 tempi1(i) =
tempfi(nin)%P(n1(i))
301 tempi2(i) =
tempfi(nin)%P(n2(i))
303 ieleci(i)=
matsfi(nin)%P(nn)
311 IF(cand_s(i)<=nrts)
THEN
313 secs=areas(cand_s(i))
315 secm=aream(cand_m(i))
324 ls = sqrt(xs*xs + ys*ys + zs*zs)
325 lm = sqrt(xm*xm + ym*ym + zm*zm)
327 ct = (xs*xm + ys*ym + zs*zm)/(ls*lm)
328 st = sqrt(one-
min(ct*ct,one))
330 area1 =
min(ls,lm)*
min(secs,secm)
331 area2 = secs*secm/
max(st,em30)
333 areac(i) =
min(area1,area2)
336 tempi1(i) = temp(n1(i))
337 tempi2(i) = temp(n2(i))
339 tempm1(i) = temp(m1(i))
340 tempm2(i) = temp(m2(i))
342 ieleci(i)= ielec(cand_s(i))
343 ielesi(i)= ieles(cand_m(i))
345 nn = cand_s(i) - nrts
349 secm =aream(cand_m(i))
358 ls = sqrt(xs*xs + ys*ys + zs*zs)
359 lm = sqrt(xm*xm + ym*ym + zm*zm)
361 ct = (xs*xm + ys*ym + zs*zm)/(ls*lm)
362 st = sqrt(one-
min(ct*ct,one))
364 area1 =
min(ls,lm)*
min(secs,secm)
365 area2 = secs*secm/
max(st,em30)
367 areac(i) =
min(area1,area2)*half
370 tempi1(i) =
tempfi(nin)%P(n1(i))
371 tempi2(i) =
tempfi(nin)%P(n2(i))
373 tempm1(i) = temp(m1(i))
374 tempm2(i) = temp(m2(i))
376 ieleci(i)=
matsfi(nin)%P(nn)
377 ielesi(i)= ieles(cand_m(i))
391 ipartfricsi(i)= ipartfrics(ni)
397 ipartfricmi(i) = ipartfricm(l)
subroutine i11cor3(jlt, irects, irectm, x, v, cand_s, cand_m, stfs, stfm, gap, gap_s, gap_m, igap, gapv, ms, stif, xxs1, xxs2, xys1, xys2, xzs1, xzs2, xxm1, xxm2, xym1, xym2, xzm1, xzm2, vxs1, vxs2, vys1, vys2, vzs1, vzs2, vxm1, vxm2, vym1, vym2, vzm1, vzm2, ms1, ms2, mm1, mm2, n1, n2, m1, m2, nrts, nin, igsti, kmin, kmax, nodnx_sms, nsms, gap_s_l, gap_m_l, intth, temp, tempi1, tempi2, tempm1, tempm2, areas, aream, areac, ieleci, ielesi, ielec, ieles, iform, itab, intfric, ipartfrics, ipartfricsi, ipartfricm, ipartfricmi)