34 integer nelem,nactdog(0:3,*),node1,node2,nodem,numf,
35 & ielprop(*),nodef(*),idirf(*),index,iflag,
36 & ipkon(*),kon(*),nelemswirl,mi(*),iaxial
38 real*8 prop(*),v(0:mi(2),*),xflow,f,
df(*),kappa,r,
39 & p1,p2,t1,t2,cp,physcon(*),km1,kp1,kdkm1,
40 & kdkp1,u,pi,qred_crit,pt1,pt2,tt1,tt2,ct,fact,
46 if(nactdog(2,node1).ne.0)
then 48 elseif(nactdog(2,node2).ne.0)
then 50 elseif(nactdog(1,nodem).ne.0)
then 54 elseif(iflag.eq.1)
then 57 elseif(iflag.eq.2)
then 70 nelemswirl=nint(prop(index+3))
72 if(nelemswirl.ne.0)
then 76 if(lakon(nelemswirl)(2:5).eq.
'ORPN')
then 77 ct=prop(ielprop(nelemswirl)+5)
81 elseif(lakon(nelemswirl)(2:5).eq.
'VOFO')
then 82 ct=prop(ielprop(nelemswirl)+7)
86 elseif(lakon(nelemswirl)(2:5).eq.
'VOFR')
then 87 ct=prop(ielprop(nelemswirl)+9)
94 if(lakon(nelem)(2:4).eq.
'ATR')
then 96 xflow=v(1,nodem)*iaxial
97 tt1=v(0,node1)-physcon(1)
98 tt2=v(0,node2)-physcon(1)
107 if(xflow.le.0d0)
then 109 write(*,*)
'*WARNING:' 110 write(*,*)
'in element',nelem
111 write(*,*)
'TYPE=ABSOLUTE TO RELATIVE' 112 write(*,*)
'mass flow negative!' 113 write(*,*)
'check results and element definition' 116 elseif(lakon(nelem)(2:4).eq.
'RTA')
then 118 xflow=v(1,nodem)*iaxial
119 tt1=v(0,node1)-physcon(1)
120 tt2=v(0,node2)-physcon(1)
127 if(xflow.le.0d0)
then 129 write(*,*)
'*WARNING:' 130 write(*,*)
'in element',nelem
131 write(*,*)
'TYPE=RELATIVE TO ABSOLUTE' 132 write(*,*)
'mass flow negative!' 133 write(*,*)
'check results and element definition' 149 if(cp_cor.eq.0.d0)
then 155 if(lakon(nelem)(2:4).eq.
'ATR')
then 157 fact=1+(u**2-2*u*ct)/(2*cp_cor*tt1)
159 f=pt2-pt1*(fact)**kdkm1
167 df(2)=-pt1*kdkm1*(-(u**2-2*u*ct)/(2*cp_cor*tt1**2))
180 elseif(lakon(nelem)(2:4).eq.
'RTA')
then 182 fact=1-(u**2-2*u*ct)/(2*cp*tt1)
184 f=pt2-pt1*(fact)**kdkm1
188 df(2)=-pt1*kdkm1*((u**2-2*u*ct)/(2*cp*tt1**2))
197 elseif(iflag.eq.3)
then 209 nelemswirl=nint(prop(index+3))
211 if(nelemswirl.ne.0)
then 215 if(lakon(nelemswirl)(2:5).eq.
'ORPN')
then 216 ct=prop(ielprop(nelemswirl)+5)
220 elseif(lakon(nelemswirl)(2:5).eq.
'VOFO')
then 221 ct=prop(ielprop(nelemswirl)+7)
225 elseif(lakon(nelemswirl)(2:5).eq.
'VOFR')
then 226 ct=prop(ielprop(nelemswirl)+9)
233 if(lakon(nelem)(2:4).eq.
'ATR')
then 235 xflow=v(1,nodem)*iaxial
236 tt1=v(0,node1)-physcon(1)
237 tt2=v(0,node2)-physcon(1)
246 if(xflow.le.0d0)
then 248 write(*,*)
'*WARNING:' 249 write(*,*)
'in element',nelem
250 write(*,*)
'TYPE=ABSOLUTE TO RELATIVE' 251 write(*,*)
'mass flow negative!' 252 write(*,*)
'check results and element definition' 255 elseif(lakon(nelem)(2:4).eq.
'RTA')
then 257 xflow=v(1,nodem)*iaxial
258 tt1=v(0,node1)-physcon(1)
259 tt2=v(0,node2)-physcon(1)
266 if(xflow.le.0d0)
then 268 write(*,*)
'*WARNING:' 269 write(*,*)
'in element',nelem
270 write(*,*)
'TYPE=RELATIVE TO ABSOLUTE' 271 write(*,*)
'mass flow negative!' 272 write(*,*)
'check results and element definition' 288 if(cp_cor.eq.0.d0)
then 293 write(1,55)
' from node',node1,
294 &
' to node', node2,
': air massflow rate=',xflow,
'' 295 55
FORMAT(1x,a,i6,a,i6,a,
e11.4,a,a,
e11.4,a)
297 write(1,56)
' Inlet node ',node1,
': Tt1= ',tt1,
298 &
', Ts1= ',tt1,
', Pt1= ',pt1
299 write(1,*)
' Element ',nelem,lakon(nelem)
300 write(1,57)
' u= ',u,
' ,Ct= ',ct,
'' 301 write(1,56)
' Outlet node ',node2,
': Tt2= ',tt2,
302 &
', Ts2= ',tt2,
', Pt2= ',pt2
304 56
FORMAT(1x,a,i6,a,
e11.4,a,
e11.4,a,
e11.4,a,
e11.4)
305 57
FORMAT(1x,a,
e11.4,a,
e11.4,a)
subroutine df(x, u, uprime, rpar, nev)
Definition: subspace.f:133
subroutine cp_corrected(cp, Tg1, Tg2, cp_cor)
Definition: cp_corrected.f:24
static double * e11
Definition: radflowload.c:42