34 character*8 lakonl,lakon(*)
35 character*20 sideload(*)
37 integer ntr,nelemload(2,*),nope,nopes,mint2d,i,j,k,l,
38 & node,ifaceq(8,6),ifacet(6,4),iviewfile,mi(*),
39 & ifacew(8,5),nelem,ig,index,konl(20),iflag,
40 & ipkon(*),kon(*),nloadtr(*),i1,ithermal,iinc,iit,
41 & istep,jltyp,nfield,nmethod,iemchange,nam,
42 & iamload(2,*),irowrad(*),jqrad(*),nzsrad
44 real*8 adrad(*),aurad(*),bcr(ntr,1),xloadact(2,*),h(2),
45 & xl2(3,8),coords(3),dxsj2,temp,xi,et,weight,xsj2(3),
46 & vold(0:mi(2),*),co(3,*),shp2(7,8),xs2(3,7),
47 & areamean,tarea(*),tenv(*),erad(*),fenv(*),physcon(*),
49 & dtime,ttime,time,areaj,xloadold(2,*),reltime,
52 data ifaceq /4,3,2,1,11,10,9,12,
53 & 5,6,7,8,13,14,15,16,
55 & 2,3,7,6,10,19,14,18,
56 & 3,4,8,7,11,20,15,19,
57 & 4,1,5,8,12,17,16,20/
58 data ifacet /1,3,2,7,6,5,
62 data ifacew /1,3,2,9,8,7,0,0,
85 read(sideload(i)(2:2),
'(i1)') ig
89 if(lakonl(4:4).eq.
'2')
then 92 elseif(lakonl(4:4).eq.
'8')
then 95 elseif(lakonl(4:5).eq.
'10')
then 98 elseif(lakonl(4:4).eq.
'4')
then 101 elseif(lakonl(4:5).eq.
'15')
then 107 if(lakonl(4:5).eq.
'8R')
then 109 elseif((lakonl(4:4).eq.
'8').or.(lakonl(4:6).eq.
'20R'))
111 if(lakonl(7:7).eq.
'A')
then 116 elseif(lakonl(4:4).eq.
'2')
then 118 elseif(lakonl(4:5).eq.
'10')
then 120 elseif(lakonl(4:4).eq.
'4')
then 124 if(lakonl(4:4).eq.
'6')
then 132 if(lakonl(4:5).eq.
'15')
then 146 write(*,*)
'*ERROR in radmatrix: element ',nelem
147 write(*,*)
' is not defined' 156 if((nope.eq.20).or.(nope.eq.8))
then 158 tl2(k)=vold(0,konl(ifaceq(k,ig)))
161 xl2(j,k)=co(j,konl(ifaceq(k,ig)))+
162 & vold(j,konl(ifaceq(k,ig)))
165 elseif((nope.eq.10).or.(nope.eq.4))
then 167 tl2(k)=vold(0,konl(ifacet(k,ig)))
169 xl2(j,k)=co(j,konl(ifacet(k,ig)))+
170 & vold(j,konl(ifacet(k,ig)))
175 tl2(k)=vold(0,konl(ifacew(k,ig)))
177 xl2(j,k)=co(j,konl(ifacew(k,ig)))+
178 & vold(j,konl(ifacew(k,ig)))
189 read(sideload(i)(2:2),
'(i1)') jltyp
191 if(sideload(i)(5:6).ne.
'NU')
then 192 erad(i1)=xloadact(1,i)
199 if(iamload(1,i).ne.0)
then 208 if((lakonl(4:5).eq.
'8R').or.
209 & ((lakonl(4:4).eq.
'6').and.(nopes.eq.4)))
then 213 elseif((lakonl(4:4).eq.
'8').or.
214 & (lakonl(4:6).eq.
'20R').or.
215 & ((lakonl(4:5).eq.
'15').and.(nopes.eq.8)))
then 219 elseif(lakonl(4:4).eq.
'2')
then 223 elseif((lakonl(4:5).eq.
'10').or.
224 & ((lakonl(4:5).eq.
'15').and.(nopes.eq.6)))
then 228 elseif((lakonl(4:4).eq.
'4').or.
229 & ((lakonl(4:4).eq.
'6').and.(nopes.eq.3)))
then 236 call shape8q(xi,et,xl2,xsj2,xs2,shp2,iflag)
237 elseif(nopes.eq.4)
then 238 call shape4q(xi,et,xl2,xsj2,xs2,shp2,iflag)
239 elseif(nopes.eq.6)
then 240 call shape6tri(xi,et,xl2,xsj2,xs2,shp2,iflag)
242 call shape3tri(xi,et,xl2,xsj2,xs2,shp2,iflag)
245 dxsj2=dsqrt(xsj2(1)*xsj2(1)+xsj2(2)*xsj2(2)+
250 temp=temp+tl2(j)*shp2(4,j)
253 tarea(i1)=tarea(i1)+temp*dxsj2*weight
254 areamean=areamean+dxsj2*weight
256 if(sideload(i)(5:6).eq.
'NU')
then 263 coords(k)=coords(k)+xl2(k,j)*shp2(4,j)
266 call radiate(h(1),tenv(i1),temp,istep,
267 & iinc,tvar,nelem,l,coords,jltyp,field,nfield,
268 & sideload(i),node,areaj,vold,mi,iemchange)
269 if(nmethod.eq.1) h(1)=xloadold(1,i)+
270 & (h(1)-xloadold(1,i))*reltime
271 erad(i1)=erad(i1)+h(1)
275 tarea(i1)=tarea(i1)/areamean-physcon(1)
276 if(sideload(i)(5:6).eq.
'NU')
then 277 erad(i1)=erad(i1)/mint2d
282 bcr(i1,1)=physcon(2)*(erad(i1)*tarea(i1)**4+
283 & (1.d0-erad(i1))*fenv(i1)*tenv(i1)**4)
291 if(((ithermal.eq.3).and.(iviewfile.ge.0)).or.
292 & ((iit.eq.-1).and.(iviewfile.ne.-2)).or.(iemchange.eq.1).or.
293 & ((iit.eq.0).and.(abs(nmethod).eq.1)))
then 302 adrad(i)=1.d0-erad(i)*
adview(i)
308 aurad(i)=-erad(irowrad(i))*
auview(i)
314 do j=nzsrad+jqrad(i),nzsrad+jqrad(i+1)-1
315 aurad(j)=-erad(i)*
auview(j)
subroutine shape8q(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape8q.f:20
subroutine shape3tri(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape3tri.f:20
subroutine shape4q(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape4q.f:20
static double * adview
Definition: radflowload.c:42
real *8 function fform(x, y, idata, rdata)
Definition: calcview.f:505
subroutine shape6tri(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape6tri.f:20
static double * auview
Definition: radflowload.c:42
subroutine radiate(e, sink, temp, kstep, kinc, time, noel, npt, coords, jltyp, field, nfield, loadtype, node, area, vold, mi, iemchange)
Definition: radiate.f:22