27 integer icase,ichan_num,ider,icrit1,icrit2,iflag,ier
36 &pt1,pt2,tt1,tt2,xflow1,xflow2,
44 &ts0,ts1,ts2,dh1,dh2,alpha,q_crit,pspt_crit,q0,q1,q2,pspt0,
45 &pspt1,pspt2,w1,w2,w1w2,w2w1,pi,z2d390,z1p090,z60,z90,hq,m1,m2,
46 &zeta_fac,xflow_s,q_s,ts_s,pspt_s,w_s,wsw1,a_s,asa1,vsv1
48 real*8 table_zeta(2,10)
61 q_crit=dsqrt(kappa/r)*
62 & (1+0.5d0*(kappa-1))**(-0.5d0*(kappa+1)/(kappa-1))
63 pspt_crit=(2./(kappa+1.))**(kappa/(kappa-1.))
65 q0=xflow1*dsqrt(tt1)/pt1/a1
66 q1=xflow2*dsqrt(tt1)/pt1/a2
70 write(*,*)
'*WARNING in Cross Split:' 71 write(*,*)
'Critical conditions at 1' 73 q2=xflow2*dsqrt(tt1)/pt2/a2
77 write(*,*)
'*WARNING in Cross Split:' 78 write(*,*)
'Critical conditions at 2' 82 call ts_calc(xflow1,tt1,pt1,kappa,r,a1,ts0,icase)
83 pspt0=(ts0/tt1)**(kappa/(kappa-1))
84 call wpi(w1, pspt0, q0,
88 call ts_calc(xflow2,tt1,pt1,kappa,r,a2,ts1,icase)
89 pspt1=(ts1/tt1)**(kappa/(kappa-1))
90 call wpi(w2, pspt1, q1,
97 if(ichan_num.eq.1)
then 100 zeta=0.4d0*(1-w2w1)**2
105 elseif((ichan_num.eq.2).or.(ichan_num.eq.3))
then 107 if(alpha.le.60.or.hq.le.2.d0/3.d0)
then 108 zeta=0.95d0*((w2w1-2d0*dcos(alpha*pi/180))
112 z2d390=0.95d0*((w2w1-2d0*dcos(90.d0*pi/180))
114 z1p090=0.95*(0.34d0+w2w1**2)
115 z90=z2d390+(3*hq-2.d0)*(z1p090-z2d390)
116 z60=0.95d0*((w2w1-2d0*dcos(60.d0*pi/180))
118 zeta=z60+(alpha/30.d0-2.d0)*(z90-z60)
130 f=pt2-pt1*pspt1**zeta
132 f=xflow2*dsqrt(tt1)/pt1/a2-q_crit
135 f=xflow2*dsqrt(tt1)/pt2/a2-q_crit
140 write(1,57)
' zeta= ',zeta
143 else if (iflag.eq.4)
then 146 call machpi(m1,pspt0,kappa,r)
147 call ts_calc(xflow2,tt2,pt2,kappa,r,a2,ts2,icase)
149 pspt2=(ts2/tt2)**(kappa/(kappa-1))
150 call machpi(m2,pspt2,kappa,r)
152 write(1,80)
'Inlet: Tt1= ',tt1,
153 &
', pt1= ',pt1,
', M1= ',m1
155 write(1,77)
'mass flow = ',xflow2,
', kappa = ',kappa,
158 write(1,80)
'Outlet: Tt2= ',tt2,
159 &
', pt2= ',pt2,
', M2= ',m2
161 80
format(3x,a,f10.6,a,f10.2,a,f10.6)
162 77
format(3x,a,f10.6,a,f10.2,a,f10.6)
subroutine wpi(W, PI, Q, SQTT, kappa, RGAS)
Definition: wpi.f:23
subroutine ts_calc(xflow, Tt, Pt, kappa, r, A, Ts, icase)
Definition: ts_calc.f:20
real *8 function calc_residual_cross_split(pt1, Tt1, xflow1, xflow2, pt2, Tt2, ichan_num, A1, A2, A_s, dh1, dh2, alpha, zeta_fac, kappa, R, ider, iflag)
Definition: calc_residual_cross_split.f:24
subroutine machpi(MACH, PI, kappa, rgas)
Definition: machpi.f:23