31 2 TEMPI ,PHI ,AREAS ,NOINT ,ASI ,
32 3 BSI ,GAPV ,PENE ,IFUNCTK,XTHE ,
33 4 FNI ,NPC ,TF ,FRAD ,DRAD ,
34 5 PENRAD ,TEMPM ,FHEAT ,EFRICT ,CONDINT,
35 6 IFORM ,H1 ,H2 ,H3 ,H4 ,
36 7 PHI1 ,PHI2 ,PHI3 ,PHI4 ,X1 ,
37 8 Y1 ,Z1 ,X2 ,Y2 ,Z2 ,
38 9 X3 ,Y3 ,Z3 ,X4 ,Y4 ,
39 A Z4 ,ITAB ,NSV ,MSR ,IX1 ,
40 B IX2 ,IX3 ,IX4 ,TEMP ,FCOND ,
45#include "implicit_f.inc"
57 INTEGER JLT, NOINT, IFUNCTK, FCOND,
58 . NPC(*),IFORM,ITAB(*),
59 . NSV(*),MSR(*),IX1(MVSIZ), IX2(MVSIZ), IX3(MVSIZ), IX4(MVSIZ)
60 my_real,
intent(in) :: theaccfact
63 . (MVSIZ), XI(MVSIZ), YI(MVSIZ),TEMP(*),
64 . ZI(MVSIZ), PHI(MVSIZ), AREAS(MVSIZ),
65 . ASI(MVSIZ), BSI(MVSIZ), GAPV(MVSIZ), PENE(MVSIZ),
66 . KTHE, XTHE, FNI(MVSIZ), TF(*), FRAD, DRAD,
67 . PENRAD(MVSIZ), TEMPM(MVSIZ),FHEAT,EFRICT(MVSIZ),
69 . h1(mvsiz), h2(mvsiz), h3(mvsiz), h4(mvsiz),
70 . phi1(mvsiz),phi2(mvsiz),phi3(mvsiz),phi4(mvsiz),
71 . ax1,ay1,az1,ax2,ay2,az2,ax,ay,az,areac,phim,
area,
72 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
73 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
74 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz)
84 . TS, RSTIF, TSTIFM, TSTIFT, DIST, COND, P, DYDX,
85 . TM, DDCOND, DD, HCOND
88 rstif = one/
max(em30,kthe)
93 ddcond =
max(dcond-gapv(i),em20)
95 IF(areas(i) == zero )
THEN
104 ax = ay1*az2 - az1*ay2
105 ay = az1*ax2 - ax1*az2
106 az = ax1*ay2 - ay1*ax2
108 area = half*sqrt(ax*ax+ay*ay+az*az)
124 IF(penrad(i) <= zero)
THEN
126 dist = penrad(i)+ gapv(i)
130 cond = asi(i)+bsi(i)*ts
131 tstifm =
max(dist,zero) / cond
132 tstift = tstifm + rstif
133 condint(i) = areac * theaccfact /tstift
135 phi(i) = areac*(tm - ts)*dt1*theaccfact / tstift
139 ELSEIF(penrad(i) <= ddcond)
THEN
142 cond = asi(i)+bsi(i)*ts
143 tstifm =
max(dist,zero) / cond
144 tstift = tstifm + rstif
145 dd = penrad(i) /ddcond
146 hcond = finter(fcond,dd,npc,tf,dydx) / tstift
147 condint(i) = areac*hcond * theaccfact
149 phi(i) = areac * (tm - ts)*dt1* hcond * theaccfact
151 phi(i) = phi(i) + frad * areac * (tm*tm+ts*ts)
156 ELSEIF(penrad(i) <= drad)
THEN
158 phi(i) = frad * areac * (tm*tm+ts*ts)
159 . * (tm + ts) * (tm - ts) * dt1 * theaccfact
165 phi1(i) = -phi(i) *h1(i)
166 phi2(i) = -phi(i) *h2(i)
167 phi3(i) = -phi(i) *h3(i)
168 phi4(i) = -phi(i) *h4(i)
172 phim = fheat * efrict(i)
173 phi1(i) = phi1(i) + phim*h1(i)
174 phi2(i) = phi2(i) + phim*h2(i)
175 phi3(i) = phi3(i) + phim*h3(i)
176 phi4(i) = phi4(i) + phim*h4(i)
181 phi(i) = phi(i) + fheat * efrict(i) * theaccfact
189 ddcond =
max(dcond-gapv(i),em20)
191 IF(areas(i) == zero )
THEN
200 ax = ay1*az2 - az1*ay2
201 ay = az1*ax2 - ax1*az2
202 az = ax1*ay2 - ay1*ax2
204 area = half*sqrt(ax*ax+ay*ay+az*az)
220 IF(penrad(i) <= zero)
THEN
222 dist = penrad(i) +gapv(i)
226 p = xthe * abs(fni(i)) / areas(i)
227 rstif = one /
max(em30,kthe * finter(ifunctk,p,npc,tf,dydx))
228 cond = asi(i)+bsi(i)*ts
229 tstifm =
max(dist,zero) / cond
230 tstift = tstifm + rstif
231 condint(i) = areac * theaccfact/tstift
233 phi(i) = areac * (tm- ts)*dt1*theaccfact / tstift
238 ELSEIF(penrad(i) <= ddcond)
THEN
241 cond = asi(i)+bsi(i)*ts
243 rstif = one /
max(em30,kthe * finter(ifunctk,p,npc,tf,dydx))
244 tstifm =
max(dist,zero) / cond
245 tstift = tstifm + rstif
246 dd = penrad(i) /ddcond
247 hcond = finter(fcond,dd,npc,tf,dydx) / tstift
248 condint(i) = areac*hcond*theaccfact
250 phi(i) = areac * (tm - ts)*dt1 * hcond *theaccfact
252 phi(i) = phi(i) + frad * areac * (tm*tm+ts*ts)
253 . * (tm + ts) * (tm - ts) * dt1 *theaccfact
258 ELSEIF(penrad(i) <= drad)
THEN
260 phi(i) = frad * areac * (tm*tm+ts*ts)
261 . * (tm + ts) * (tm - ts) * dt1 *theaccfact
266 phi1(i) = -phi(i) *h1(i)
267 phi2(i) = -phi(i) *h2(i)
268 phi3(i) = -phi(i) *h3(i)
269 phi4(i) = -phi(i) *h4(i)
273 phim = fheat * efrict(i)
274 phi1(i) = phi1(i) + phim*h1(i)
275 phi2(i) = phi2(i) + phim*h2(i)
276 phi3(i) = phi3(i) + phim*h3(i)
277 phi4(i) = phi4(i) + phim*h4(i)
282 phi(i) = phi(i) + fheat * efrict(i)*theaccfact
subroutine i21therm(jlt, xi, yi, zi, kthe, tempi, phi, areas, noint, asi, bsi, gapv, pene, ifunctk, xthe, fni, npc, tf, frad, drad, penrad, tempm, fheat, efrict, condint, iform, h1, h2, h3, h4, phi1, phi2, phi3, phi4, x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4, itab, nsv, msr, ix1, ix2, ix3, ix4, temp, fcond, dcond, theaccfact)