32 1 JLT ,PM ,INTTH ,PENRAD , KTHE ,
33 2 TEMPI1 ,TEMPI2 ,TEMPM1 ,TEMPM2 ,PHIS1 ,
34 3 PHIS2 ,TINT , AREAC ,IELECI ,IELESI ,
35 4 FRAD ,GAPV , FNI ,IFUNCTK ,XTHE ,
36 5 NPC ,DRAD ,TF ,HS1 ,HS2 ,
37 6 HM1 ,HM2 ,CONDINTS1, CONDINTS2,PHIM1,
38 7 PHIM2 ,CONDINTM1,CONDINTM2,IFORM )
42#include "implicit_f.inc"
55 INTEGER JLT, IELECI(MVSIZ),NPC(*),IELESI(MVSIZ),
59 . TINT,FRAD,DRAD,DYDX,XTHE,
60 . PM(NPROPM,*),TF(*),TEMPI1(MVSIZ),(MVSIZ),TEMPM1(MVSIZ),
61 . TEMPM2(MVSIZ),PENRAD(MVSIZ),PHIS1(MVSIZ),PHIS2(MVSIZ),
62 . kthe,areas1(mvsiz),areas2(mvsiz),gapv(mvsiz),
63 . fni(mvsiz),hs1(mvsiz), hs2(mvsiz), hm1(mvsiz), hm2(mvsiz),
64 . condints1(mvsiz),condints2(mvsiz),phim1(mvsiz),phim2(mvsiz),
65 . condintm1(mvsiz),condintm2(mvsiz),areac(mvsiz),phi(mvsiz),
71 INTEGER I, II,L,NB3M, I3N,LS,J,IE,MAT
74 . TS1, TS2, TM1 ,TM2, DIST, CONDS1 ,CONDS2 ,TSTIFM1 ,
75 . TSTIFM ,TSTIFT,TM,P,RSTIFF,TS,CONDM1,CONDM2,CONDS,CONDM,
86 rstif = one/
max(em30,kthe)
96 ts = hs1(i)*ts1+hs2(i)*ts2
106 IF(penrad(i) <= zero)
THEN
111 conds1 = pm(75,mat) + pm(76,mat)*ts1
112 conds2 = pm(75,mat) + pm(76,mat)*ts2
113 cond = hs1(i)*conds1 + hs2(i)*conds2
114 dist = penrad(i) + gapv(i)
115 tstifm =
max(dist,zero) /cond
116 tstift = tstifm + rstif
118 phi(i) = areac(i) * (tint - ts)*dt1 / tstift
120 condint = areac(i)/tstift
121 condints1(i) = hs1(i) *condint
122 condints2(i) = hs2(i) *condint
123 ELSEIF(penrad(i) <= drad)
THEN
127 phi(i) = frad * areac(i) * (tint*tint+ts*ts)
128 . * (tint + ts) * (tint - ts) * dt1
131 phis1(i) = hs1(i) * phi(i)
132 phis2(i) = hs2(i) * phi(i)
149 ts = hs1(i)*ts1+hs2(i)*ts2
164 IF(penrad(i) <= zero)
THEN
173 p = xthe * fni(i) / areac(i)
174 rstiff = one /
max(em30,finter(ifunctk,p,npc,tf,dydx)*kthe)
175 cond = pm(75,mat)+pm(76,mat)*ts
176 dist = penrad(i) + gapv(i)
177 tstifm =
max(dist,zero) / cond
178 tstift = tstifm + rstiff
180 condint = areac(i)/tstift
181 condints1(i) = hs1(i) *condint
182 condints2(i) = hs2(i) *condint
184 phi(i) = areac(i) * (tint - ts)*dt1 / tstift
186 ELSEIF(penrad(i) <= drad)
THEN
190 phi(i) = frad * areac(i) * (tint*tint+ts*ts)
191 . * (tint + ts) * (tint - ts) * dt1
194 phis1(i) = hs1(i) * phi(i)
195 phis2(i) = hs2(i) * phi(i)
208 rstif = one/
max(em30,kthe)
219 ts = hs1(i)*ts1+hs2(i)*ts2
220 tm = hm1(i)*tm1+hm2(i)*tm2
230 IF(penrad(i) <= zero)
THEN
236 conds1 = pm(75,mat)+pm(76,mat)*ts1
237 conds2 = pm(75,mat)+pm(76,mat)*ts2
239 condm1 = pm(75,mat)+pm(76,mat)*tm1
240 condm2 = pm(75,mat)+pm(76,mat)*tm2
241 conds = hs1(i)*conds1+hs2(i)*conds2
242 condm = hm1(i)*condm1+hm2(i)*condm2
243 cond = (condm+conds)/2
244 dist = penrad(i) + gapv(i)
245 tstifm =
max(dist,zero) /cond
246 tstift = tstifm + rstif
248 phi(i) = areac(i) * (tm - ts)*dt1 / tstift
250 condint = areac(i)/tstift
251 condints1(i) = hs1(i) *condint
252 condints2(i) = hs2(i) *condint
253 condintm1(i) = hm1(i) *condint
254 condintm2(i) = hm2(i) *condint
256 ELSEIF(penrad(i) <= drad)
THEN
260 phi(i) = frad * areac(i) * (tm*tm+ts*ts)
261 . * (tm + ts) * (tm - ts) * dt1
264 phis1(i) = hs1(i) * phi(i)
265 phis2(i) = hs2(i) * phi(i)
266 phim1(i) = -hm1(i) * phi(i)
267 phim2(i) = -hm2(i) * phi(i)
282 ts = hs1(i)*ts1+hs2(i)*ts2
283 tm = hm1(i)*tm1+hm2(i)*tm2
289 IF(penrad(i) <= zero)
THEN
293 p = xthe * fni(i) / areac(i)
294 rstiff = one /
max(em30,finter(ifunctk,p,npc,tf,dydx)*kthe)
296 conds1 = pm(75,mat)+pm(76,mat)*ts1
297 conds2 = pm(75,mat)+pm(76,mat)*ts2
299 condm1 = pm(75,mat)+pm(76,mat)*tm1
300 condm2 = pm(75,mat)+pm(76,mat)*tm2
301 conds = hs1(i)*conds1+hs2(i)*conds2
302 condm = hm1(i)*condm1+hm2(i)*condm2
303 cond = (condm+conds)/2
304 dist = penrad(i) + gapv(i)
305 tstifm =
max(dist,zero) /cond
306 tstift = tstifm + rstiff
308 condint = areac(i)/tstift
310 condints2(i) = hs2(i) *condint
311 condintm1(i) = hm1(i) *condint
312 condintm2(i) = hm2(i) *condint
314 phi(i) = areac(i) * (tm - ts)*dt1 / tstift
316 ELSEIF(penrad(i) <= drad)
THEN
320 phi(i) = frad * areac(i) * (tm*tm+ts*ts)
321 . * (tm + ts) * (tm - ts) * dt1
324 phis1(i) = hs1(i) * phi(i)
325 phis2(i) = hs2(i) * phi(i)
326 phim1(i) = -hm1(i) * phi(i)
327 phim2(i) = -hm2(i) * phi(i)
subroutine i11mainf(timers, ipari, x, a, icodt, fsav, v, ms, dt2t, neltst, ityptst, itab, stifn, fskyi, isky, fcont, nin, lindmax, jtask, nb_jlt, nb_jlt_new, nb_stok_n, niskyfi, newfront, nstrf, secfcum, viscn, num_imp, ns_imp, ne_imp, mskyi_sms, iskyi_sms, nodnx_sms, icontact, intbuf_tab, pm, temp, fthe, ftheskyi, npc, tf, condn, condnskyi, fbsav6, isensint, dimfb, fsavsub, h3d_data, intbuf_fric_tab, itask, tagncont, kloadpinter, loadpinter, loadp_hyd_inter, dgaploadint, s_loadpinter, nodadt_therm)
subroutine i11therm(jlt, pm, intth, penrad, kthe, tempi1, tempi2, tempm1, tempm2, phis1, phis2, tint, areac, ieleci, ielesi, frad, gapv, fni, ifunctk, xthe, npc, drad, tf, hs1, hs2, hm1, hm2, condints1, condints2, phim1, phim2, condintm1, condintm2, iform)