36 integer nelem,nactdog(0:3,*),node1,node2,nodem,nodem1,numf,kon(*),
37 &ipkon(*),ielprop(*),nodef(*),idirf(*),index,iflag,inv,mi(2),
38 &nelem1,ichan_num,ider,icase,i,iaxial
40 real*8 prop(*),v(0:mi(2),*),xflow,f,
df(*),kappa,r,tt1,tt2,pt1,pt2,
41 &cp,physcon(*),km1,kp1,kdkm1,pt2pt1,pt1pt2,pt2pt1_crit,tdkp1,
42 &a,a1,a2,a_s,
calc_residual_wye,dh1,dh2,alpha,xflow1,xflow2,
43 &pi,zeta_fac,ts0,pspt0,pspt2,m1,m2,ts2,ttime,time
47 if (iflag.eq.0.d0)
then 49 if(nactdog(2,node1).ne.0)
then 51 elseif(nactdog(2,node2).ne.0)
then 53 elseif(nactdog(1,nodem).ne.0)
then 57 elseif (iflag.eq.1)
then 65 if(nelem.eq.nint(prop(index+2)))
then 67 elseif(nelem.eq.nint(prop(index+3)))
then 76 tt1=v(0,node1)-physcon(1)
77 tt2=v(0,node2)-physcon(1)
82 tt1=v(0,node2)-physcon(1)
83 tt2=v(0,node1)-physcon(1)
89 pt2pt1_crit=tdkp1**kdkm1
91 if(pt2pt1.gt.pt2pt1_crit)
then 92 xflow=inv*pt1*a*dsqrt(2.d0*kdkm1*pt2pt1**(2.d0/kappa)
93 & *(1.d0-pt2pt1**(1.d0/kdkm1))/r)/dsqrt(tt1)
95 xflow=inv*pt1*a*dsqrt(kappa/r)*tdkp1**(kp1/(2.d0*km1))/
100 elseif (iflag.eq.2)
then 112 nelem1=nint(prop(index+1))
113 nodem1=kon(ipkon(nelem1)+2)
118 tt1=v(0,node1)-physcon(1)
119 xflow1=v(1,nodem1)*iaxial
125 xflow2=v(1,nodem)*iaxial
128 if(nelem.eq.nint(prop(index+2)))
then 141 zeta_fac = prop(index+13)
143 elseif(nelem.eq.nint(prop(index+3)))
then 158 alpha = prop(index+8)
159 zeta_fac = prop(index+14)
179 if(ider.eq.0.d0)
then 182 &tt2,ichan_num,a1,a2,a_s,dh1,dh2,alpha,zeta_fac,kappa,r,ider,iflag)
186 &tt2,ichan_num,a1,a2,a_s,dh1,dh2,alpha,zeta_fac,kappa,r,ider,iflag)
189 elseif(iflag.eq.3)
then 201 nelem1=nint(prop(index+1))
202 nodem1=kon(ipkon(nelem1)+2)
206 tt1=v(0,node1)-physcon(1)
207 xflow1=v(1,nodem1)*iaxial
212 xflow2=v(1,nodem)*iaxial
215 if(nelem.eq.nint(prop(index+2)))
then 228 zeta_fac = prop(index+13)
230 elseif(nelem.eq.nint(prop(index+3)))
then 245 alpha = prop(index+8)
246 zeta_fac = prop(index+14)
253 call ts_calc(xflow1,tt1,pt1,kappa,r,a1,ts0,icase)
254 pspt0 = (ts0/tt1)**(kappa/(kappa-1))
256 call machpi(m1,pspt0,kappa,r)
257 call ts_calc(xflow2,tt2,pt2,kappa,r,a2,ts2,icase)
259 pspt2 = (ts2/tt2)**(kappa/(kappa-1))
260 call machpi(m2,pspt2,kappa,r)
263 write(1,55)
' from node ',node1,
264 &
' to node ', node2,
': air massflow rate= ',xflow
266 write(1,56)
' Inlet node ',node1,
': Tt1= ',tt1,
267 &
' , Ts1= ',ts0,
' , Pt1= ',pt1,
269 write(1,*)
' Element ',nelem,lakon(nelem)
270 & ,
', Branch ',ichan_num
272 55
format(1x,a,i6,a,i6,a,
e11.4,a)
273 56
format(1x,a,i6,a,
e11.4,a,
e11.4,a,
e11.4,a,
e11.4)
280 & tt2,ichan_num,a1,a2,a_s,dh1,dh2,alpha,zeta_fac,
281 & kappa,r,ider,iflag)
283 write(1,56)
' Outlet node ',node2,
': Tt2= ',tt2,
284 &
' , Ts2= ',ts2,
' , Pt2= ',pt2,
subroutine df(x, u, uprime, rpar, nev)
Definition: subspace.f:133
subroutine ts_calc(xflow, Tt, Pt, kappa, r, A, Ts, icase)
Definition: ts_calc.f:20
subroutine machpi(MACH, PI, kappa, rgas)
Definition: machpi.f:23
static double * e11
Definition: radflowload.c:42
real *8 function calc_residual_wye(pt1, Tt1, xflow1, xflow2, pt2, Tt2, ichan_num, A1, A2, A_s, dh1, dh2, alpha, zeta_fac, kappa, R, ider, iflag)
Definition: calc_residual_wye.f:23
subroutine calc_ider_wye(df, pt1, Tt1, xflow1, xflow2, pt2, Tt2, ichan_num, A1, A2, A_s, dh1, dh2, alpha, zeta_fac, kappa, R, ider, iflag)
Definition: calc_ider_wye.f:22