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