31 logical identity,crit,isothermal
35 integer nelem,nactdog(0:3,*),node1,node2,nodem,numf,
36 & ielprop(*),nodef(*),idirf(*),index,iflag,iaxial,
37 & inv,ipkon(*),kon(*),kgas,icase,k_oil,nshcon(*),
38 & nrhcon(*),ntmat_,mi(*)
40 real*8 prop(*),v(0:mi(2),*),xflow,f,
df(*),kappa,r,d,
41 & tt1,tt2,pt1,pt2,cp,physcon(*),km1,dvi,co(3,*),
42 & kp1,kdkm1,reynolds,kdkp1,ttime,time,
43 & pt2pt1,pt1pt2,pt1pt2_crit,qred_crit,qred1,qred2,zeta,
44 & a1,a2,root, expon1,expon2,expon3,fact1,fact2,sqrt,pi,
45 & pt2_lim,m2,m1,xflow_oil,t1,t2,phi,vold(0:mi(2),*),
46 & shcon(0:3,ntmat_,*),rhcon(0:1,ntmat_,*),zeta_phi,aeff,
55 if(nactdog(2,node1).ne.0)
then 57 elseif(nactdog(2,node2).ne.0)
then 59 elseif(nactdog(1,nodem).ne.0)
then 63 elseif(iflag.eq.1)
then 67 if(lakon(nelem)(2:5).eq.
'REEX')
then 68 prop(index+2)=100000*prop(index+1)
69 elseif(lakon(nelem)(2:7).eq.
'REWAOR')
then 70 prop(index+1)=100000*prop(index+2)
71 elseif(lakon(nelem)(2:5).eq.
'REEN')
then 72 prop(index+1)=100000*prop(index+2)
83 if(lakon(nelem)(2:6).eq.
'REBRJ')
then 84 if(nelem.eq.nint(prop(index+2)))
then 87 elseif(nelem.eq.nint(prop(index+3)))
then 92 elseif(lakon(nelem)(2:6).eq.
'REBRS')
then 93 if(nelem.eq.nint(prop(index+2)))
then 96 elseif(nelem.eq.nint(prop(index+3)))
then 101 elseif(lakon(nelem)(2:5).eq.
'REUS' )
then 111 if(v(2,node1).ge.v(2,node2))
then 134 tt1=v(0,node1)-physcon(1)
135 tt2=v(0,node2)-physcon(1)
140 tt1=v(0,node2)-physcon(1)
141 tt2=v(0,node1)-physcon(1)
150 if(.not.isothermal)
then 151 pt1pt2_crit=(0.5d0*kp1)**(zeta*kdkm1)
153 pt1pt2_crit=0.5d0*(3*kappa-1)**(zeta*kdkm1)
156 if(pt1pt2.gt.pt1pt2_crit)
then 163 qred1=dsqrt(kappa/r)*pt1pt2**(-0.5d0*kp1/(kappa*zeta))
164 & *dsqrt(2.d0/km1*(pt1pt2**(km1/(kappa*zeta))-1d0))
166 qred2=pt1pt2*a1/a2*qred1
168 if(.not.isothermal)
then 169 qred_crit=dsqrt(kappa/r)*(1.d0+0.5d0*km1)
172 qred_crit=dsqrt(1/r)*(1+0.5*km1/kappa)
176 if(qred2.lt.qred_crit)
then 177 if((qred1.gt.qred_crit).or.(pt1pt2.gt.pt1pt2_crit))
then 178 xflow=inv*a1*pt1*qred_crit/dsqrt(tt1)
180 xflow=inv*a1*pt1*qred1/dsqrt(tt1)
185 xflow=inv*a2*pt2_lim*qred_crit/dsqrt(tt2)
190 qred_crit=dsqrt(kappa/r)*(1.d0+0.5d0*km1)
194 xflow=inv*a2*pt2_lim*qred_crit/dsqrt(tt2)
208 if(pt2pt1.gt.c2)
then 209 xflow=inv*pt1*aeff*dsqrt(2.d0*kdkm1*pt2pt1**(2.d0/kappa)
210 & *(1.d0-pt2pt1**(1.d0/kdkm1))/r)/dsqrt(tt1)
212 xflow=inv*pt1*aeff*dsqrt(kappa/r)*tdkp1**(kp1/(2.d0*km1))/
215 if(lakon(nelem)(2:5).ne.
'RECO')
then 221 elseif(iflag.eq.2)
then 225 if(lakon(nelem)(2:5).eq.
'REEX')
then 226 prop(index+2)=100000*prop(index+1)
227 elseif(lakon(nelem)(2:7).eq.
'REWAOR')
then 228 prop(index+1)=100000*prop(index+2)
229 elseif(lakon(nelem)(2:5).eq.
'REEN')
then 230 prop(index+1)=100000*prop(index+2)
254 if(lakon(nelem)(2:6).eq.
'REBRJ')
then 255 if(nelem.eq.nint(prop(index+2)))
then 258 xflow_oil=prop(index+9)
259 k_oil=nint(prop(index+11))
260 elseif(nelem.eq.nint(prop(index+3)))
then 263 xflow_oil=prop(index+10)
264 k_oil=nint(prop(index+11))
266 elseif(lakon(nelem)(2:6).eq.
'REBRS')
then 267 if(nelem.eq.nint(prop(index+2)))
then 270 if(lakon(nelem)(2:8).eq.
'REBRSI1')
then 271 xflow_oil=prop(index+11)
272 k_oil=nint(prop(index+13))
274 xflow_oil=prop(index+9)
275 k_oil=nint(prop(index+11))
277 elseif(nelem.eq.nint(prop(index+3)))
then 280 if(lakon(nelem)(2:8).eq.
'REBRSI1')
then 281 xflow_oil=prop(index+12)
282 k_oil=nint(prop(index+13))
284 xflow_oil=prop(index+10)
285 k_oil=nint(prop(index+11))
300 if(lakon(nelem)(2:5).eq.
'REEL')
then 301 xflow_oil=prop(index+4)
302 k_oil=nint(prop(index+5))
303 elseif((lakon(nelem)(2:7).eq.
'RELOID').or.
304 & (lakon(nelem)(2:5).eq.
'REUS').or.
305 & (lakon(nelem)(2:5).eq.
'REEN').or.
306 & (lakon(nelem)(2:5).eq.
'REEX').or.
307 & (lakon(nelem)(2:7).eq.
'REWAOR').or.
308 & (lakon(nelem)(2:7).eq.
'RELOLI'))
then 309 xflow_oil=prop(index+5)
310 k_oil=nint(prop(index+6))
311 elseif((lakon(nelem)(2:5).eq.
'RECO').or.
312 & (lakon(nelem)(2:7).eq.
'REBEMA').or.
313 & (lakon(nelem)(2:7).eq.
'REBEMI').or.
314 & (lakon(nelem)(2:8).eq.
'REBEIDC'))
then 315 xflow_oil=prop(index+6)
316 k_oil=nint(prop(index+7))
317 elseif(lakon(nelem)(2:8).eq.
'REBEIDR')
then 318 xflow_oil=prop(index+8)
319 k_oil=nint(prop(index+9))
325 xflow=v(1,nodem)*iaxial
326 tt1=v(0,node1)-physcon(1)
327 tt2=v(0,node2)-physcon(1)
330 call ts_calc(xflow,tt1,pt1,kappa,r,a1,t1,icase)
331 call ts_calc(xflow,tt2,pt2,kappa,r,a2,t2,icase)
338 elseif(pt1.eq.pt2)
then 340 xflow=v(1,nodem)*iaxial
341 tt1=v(0,node1)-physcon(1)
342 tt2=v(0,node2)-physcon(1)
346 call ts_calc(xflow,tt1,pt1,kappa,r,a1,t1,icase)
347 call ts_calc(xflow,tt2,pt2,kappa,r,a2,t2,icase)
358 xflow=-v(1,nodem)*iaxial
359 tt1=v(0,node2)-physcon(1)
360 tt2=v(0,node1)-physcon(1)
362 call ts_calc(xflow,tt1,pt1,kappa,r,a1,t1,icase)
363 call ts_calc(xflow,tt2,pt2,kappa,r,a2,t2,icase)
377 if(lakon(nelem)(2:3).eq.
'RE')
then 381 if(dabs(dvi).lt.1e-30)
then 382 write(*,*)
'*ERROR in restrictor: ' 383 write(*,*)
' no dynamic viscosity defined' 384 write(*,*)
' dvi= ',dvi
390 if(lakon(nelem)(2:5).eq.
'REBR')
then 392 reynolds=dabs(xflow)*d/(dvi*a1)
396 reynolds=dabs(xflow)*d/(dvi*a1)
398 reynolds=dabs(xflow)*d/(dvi*a2)
402 if(xflow_oil.lt.1.d-10)
then 405 if(lakon(nelem)(2:7).eq.
'REBEMI')
then 409 if(xflow_oil.ne.0.d0)
then 412 & xflow_oil,nelem,lakon,kon,ipkon,ielprop,prop,
413 & v,dvi,cp,r,k_oil,phi,zeta,nshcon,nrhcon,
414 & shcon,rhcon,ntmat_,mi,iaxial)
419 call zeta_calc(nelem,prop,ielprop,lakon,reynolds,zeta,
420 & isothermal,kon,ipkon,r,kappa,v,mi,iaxial)
423 elseif(lakon(nelem)(2:7).eq.
'RELOID')
then 427 if(xflow_oil.ne.0.d0)
then 430 & xflow_oil,nelem,lakon,kon,ipkon,ielprop,prop,
431 & v,dvi,cp,r,k_oil,phi,zeta,nshcon,nrhcon,
432 & shcon,rhcon,ntmat_,mi,iaxial)
437 call zeta_calc(nelem,prop,ielprop,lakon,reynolds,zeta,
438 & isothermal,kon,ipkon,r,kappa,v,mi,iaxial)
446 if(xflow_oil.ne.0.d0)
then 448 & xflow_oil,nelem,lakon,kon,ipkon,ielprop,prop,
449 & v,dvi,cp,r,k_oil,phi,zeta,nshcon,nrhcon,
450 & shcon,rhcon,ntmat_,mi,iaxial)
451 call zeta_calc(nelem,prop,ielprop,lakon,reynolds,zeta,
452 & isothermal,kon,ipkon,r,kappa,v,mi,iaxial)
456 call zeta_calc(nelem,prop,ielprop,lakon,reynolds,zeta,
457 & isothermal,kon,ipkon,r,kappa,v,mi,iaxial)
462 if(dabs(zeta).lt.1.d-10) zeta=0.d0
464 if(zeta.lt.0.d0)
then 467 xflow=v(1,nodem)*iaxial
470 call ts_calc(xflow,tt1,pt1,kappa,r,a1,t1,icase)
471 call ts_calc(xflow,tt2,pt2,kappa,r,a2,t2,icase)
480 if(.not.isothermal)
then 481 pt1pt2_crit=(0.5d0*kp1)**(zeta*kdkm1)
483 pt1pt2_crit=0.5d0*(3*kappa-1)**(zeta*kdkm1)
489 m1=dsqrt(2d0/km1*(tt1/t1-1d0))
490 if((1.d0-m1).le.1.d-6)
then 491 if(zeta.gt.0.d0)
then 497 m2=dsqrt(2d0/km1*(tt2/t2-1d0))
507 if(zeta.gt.0.d0)
then 509 qred1=dsqrt(kappa/r)*pt1pt2**(-0.5d0*kp1/(kappa*zeta))
510 & *dsqrt(2.d0/km1*(pt1pt2**(km1/(kappa*zeta))-1d0))
512 elseif(zeta.lt.0.d0)
then 514 qred1=dabs(xflow)*dsqrt(tt1)/(pt1*a1)
518 qred2=pt1pt2*a1/a2*qred1
520 if(.not.isothermal)
then 521 qred_crit=dsqrt(kappa/r)*(1.d0+0.5d0*km1)
524 qred_crit=dsqrt(1/r)*(1+0.5*km1/kappa)
530 if(zeta.gt.0.d0)
then 534 if((pt1pt2.ge.0.9999999999d0).and.
535 & (pt1pt2.le.1.000000000111111d0))
then 540 sqrt=dsqrt(r*tt1/kappa)
541 expon1=-0.5d0*kp1/(zeta*kappa)
543 expon2=km1/(zeta*kappa)
545 expon3=1d0/(zeta*kappa)
546 root=2d0/km1*(fact2-1d0)
548 if(qred2.lt.qred_crit)
then 550 if((qred1.lt.qred_crit)
551 & .and.(pt1pt2.lt.pt1pt2_crit))
then 557 f=xflow*sqrt/(a1*pt1)-fact1*dsqrt(root)
561 df(1)=-xflow*sqrt/(a1*pt1**2)+
562 & fact1/pt1*dsqrt(root)
563 & *(-expon1-expon3*fact2/root)
567 df(2)=0.5d0*xflow*dsqrt(r/(kappa*tt1))/(a1*pt1)
571 df(3)=inv*sqrt/(a1*pt1)
575 df(4)=fact1/pt2*dsqrt(root)*
576 & (expon1+expon3*fact2/root)
582 f=xflow*sqrt/(pt1*a1)-dsqrt(r/kappa)*qred_crit
586 df(1)=-xflow*sqrt/(a1*pt1**2)
590 df(2)=0.5d0*xflow*dsqrt(r/kappa)
591 & /(pt1*a1*dsqrt(tt1))
595 df(3)=inv*sqrt/(a1*pt1)
614 root=2d0/km1*(fact2-1d0)
616 f=xflow*sqrt/(a1*pt1)-fact1*dsqrt(root)
620 df(1)=-xflow*sqrt/(a1*pt1**2)+
621 & fact1/pt1*dsqrt(root)
622 & *(-expon1-expon3*fact2/root)
626 df(2)=0.5d0*xflow*dsqrt(r/(kappa*tt1))/(a1*pt1)
630 df(3)=inv*sqrt/(a1*pt1)
640 elseif(zeta.lt.0.d0)
then 642 expon1=-kp1/(zeta*kappa)
644 expon2=km1/(zeta*kappa)
646 expon3=1d0/(zeta*kappa)
647 root=2d0/km1*(fact2-1d0)
649 if(qred1.lt.qred_crit)
then 655 f=xflow**2*r*tt1/(a1**2*pt1**2*kappa)
660 df(1)=-2*xflow**2*r*tt1/(a1**2*pt1**3*kappa)
661 & -1/pt1*fact1*(expon1*root
662 & +2/(zeta*kappa)*fact2)
666 df(2)=xflow**2*r/(a1**2*pt1**2*kappa)
670 df(3)=2*xflow*r*tt1/(a1**2*pt1**2*kappa)
675 & *(-expon1*root-2/(zeta*kappa)*fact2)
681 f=xflow**2*r*tt1/(a1**2*pt1**2*kappa)
682 & -r/kappa*qred_crit**2
686 df(1)=-2*xflow**2*r*tt1/(a1**2*pt1**3*kappa)
690 df(2)=xflow**2*r/(a1**2*pt1**2*kappa)
694 df(3)=2*xflow*r*tt1/(a1**2*pt1**2*kappa)
702 elseif(zeta.eq.0.d0)
then 719 qred2=dabs(xflow)*dsqrt(tt2)/(a2*pt2)
721 qred1=1/pt1pt2*a2/a1*qred2
723 qred_crit=dsqrt(kappa/r)*(1.d0+0.5d0*km1)
728 if(zeta.gt.0.d0)
then 730 sqrt=dsqrt(r*tt1/kappa)
732 if((pt1pt2.ge.0.9999999999d0).and.
733 & (pt1pt2.le.1.000000000111111d0))
then 738 expon1=-0.5d0*kp1/(zeta*kappa)
740 expon2=km1/(zeta*kappa)
742 expon3=1d0/(zeta*kappa)
743 root=2d0/km1*(fact2-1d0)
745 if(pt1pt2.ge.pt1pt2_crit)
then 750 if((qred2.lt.qred_crit)
751 & .and.(pt1/pt2.lt.pt1pt2_crit))
then 757 f=xflow*sqrt/(a2*pt2)-fact1*dsqrt(root)
761 df(1)=-fact1/pt1*dsqrt(root)
762 & *(expon1+0.5*dsqrt(2/km1)*expon2*fact2/root)
766 df(2)=0.5d0*xflow*sqrt/(a2*pt2*tt1)
770 df(3)=inv*sqrt/(a2*pt2)
774 df(4)=-xflow*sqrt/(a2*pt2**2)
775 & -fact1/pt2*dsqrt(root)*
776 & (-expon1-0.5*dsqrt(2/km1)*expon2*fact2/root)
780 &
'*WARNING in restrictor: A1 greater than A2' 781 write(*,*)
' critical flow in element',nelem
787 f=xflow*dsqrt(tt1)/(pt2*a2)-qred_crit
795 df(2)=0.5d0*xflow/(a2*pt2*dsqrt(tt2))
799 df(3)=inv*dsqrt(tt1)/(a2*pt2)
803 df(4)=-xflow*dsqrt(tt1)/(a2*pt2**2)
807 elseif(zeta.eq.0.d0)
then 809 qred1=dabs(xflow)*dsqrt(tt1*kappa/r)/(a1*pt1)
810 qred2=dabs(xflow)*dsqrt(tt2*kappa/r)/(a2*pt2)
811 qred_crit=dsqrt(kappa/r)*(1.d0+0.5d0*km1)
827 elseif((iflag.eq.3).or.(iflag.eq.4))
then 831 if(lakon(nelem)(2:5).eq.
'REEX')
then 832 prop(index+2)=100000*prop(index+1)
833 elseif(lakon(nelem)(2:7).eq.
'REWAOR')
then 834 prop(index+1)=100000*prop(index+2)
835 elseif(lakon(nelem)(2:5).eq.
'REEN')
then 836 prop(index+1)=100000*prop(index+2)
858 if(lakon(nelem)(2:6).eq.
'REBRJ')
then 859 if(nelem.eq.nint(prop(index+2)))
then 862 xflow_oil=prop(index+9)
863 k_oil=nint(prop(index+11))
864 elseif(nelem.eq.nint(prop(index+3)))
then 867 xflow_oil=prop(index+10)
868 k_oil=nint(prop(index+11))
870 elseif(lakon(nelem)(2:6).eq.
'REBRS')
then 871 if(nelem.eq.nint(prop(index+2)))
then 874 if(lakon(nelem)(2:8).eq.
'REBRSI1')
then 875 xflow_oil=prop(index+11)
876 k_oil=nint(prop(index+13))
878 xflow_oil=prop(index+9)
879 k_oil=nint(prop(index+11))
881 elseif(nelem.eq.nint(prop(index+3)))
then 884 if(lakon(nelem)(2:8).eq.
'REBRSI1')
then 885 xflow_oil=prop(index+12)
886 k_oil=nint(prop(index+13))
888 xflow_oil=prop(index+10)
889 k_oil=nint(prop(index+11))
898 if(lakon(nelem)(2:5).eq.
'REEL')
then 899 xflow_oil=prop(index+4)
900 k_oil=nint(prop(index+5))
901 elseif((lakon(nelem)(2:7).eq.
'RELOID').or.
902 & (lakon(nelem)(2:5).eq.
'REUS').or.
903 & (lakon(nelem)(2:5).eq.
'REEN').or.
904 & (lakon(nelem)(2:5).eq.
'REEX').or.
905 & (lakon(nelem)(2:7).eq.
'REWAOR').or.
906 & (lakon(nelem)(2:7).eq.
'RELOLI'))
then 907 xflow_oil=prop(index+5)
908 k_oil=nint(prop(index+6))
909 elseif((lakon(nelem)(2:5).eq.
'RECO').or.
910 & (lakon(nelem)(2:7).eq.
'REBEMA').or.
911 & (lakon(nelem)(2:7).eq.
'REBEMI').or.
912 & (lakon(nelem)(2:8).eq.
'REBEIDC'))
then 913 xflow_oil=prop(index+6)
914 k_oil=nint(prop(index+7))
915 elseif(lakon(nelem)(2:8).eq.
'REBEIDR')
then 916 xflow_oil=prop(index+8)
917 k_oil=nint(prop(index+9))
923 xflow=v(1,nodem)*iaxial
924 tt1=v(0,node1)-physcon(1)
925 tt2=v(0,node2)-physcon(1)
927 call ts_calc(xflow,tt1,pt1,kappa,r,a1,t1,icase)
928 call ts_calc(xflow,tt2,pt2,kappa,r,a2,t2,icase)
934 xflow=-v(1,nodem)*iaxial
935 tt1=v(0,node2)-physcon(1)
936 tt2=v(0,node1)-physcon(1)
938 call ts_calc(xflow,tt1,pt1,kappa,r,a1,t1,icase)
939 call ts_calc(xflow,tt2,pt2,kappa,r,a2,t2,icase)
945 if(lakon(nelem)(2:3).eq.
'RE')
then 947 elseif(lakon(nelem)(2:5).eq.
'REEX')
then 948 if(lakon(nint(prop(index+4)))(2:6).eq.
'GAPFA')
then 950 elseif(lakon(nint(prop(index+4)))(2:6).eq.
'GAPFI')
then 955 if(dabs(dvi).lt.1e-30)
then 956 write(*,*)
'*ERROR in restrictor: ' 957 write(*,*)
' no dynamic viscosity defined' 958 write(*,*)
' dvi= ',dvi
964 if(lakon(nelem)(2:5).eq.
'REBR')
then 966 reynolds=dabs(xflow)*d/(dvi*a1)
970 reynolds=dabs(xflow)*d/(dvi*a1)
972 reynolds=dabs(xflow)*d/(dvi*a2)
976 if(xflow_oil.lt.1.d-10)
then 982 if(lakon(nelem)(2:7).eq.
'REBEMI')
then 983 if(xflow_oil.ne.0.d0)
then 985 & xflow_oil,nelem,lakon,kon,ipkon,ielprop,prop,
986 & v,dvi,cp,r,k_oil,phi,zeta,nshcon,nrhcon,
987 & shcon,rhcon,ntmat_,mi,iaxial)
989 call zeta_calc(nelem,prop,ielprop,lakon,reynolds,zeta,
990 & isothermal,kon,ipkon,r,kappa,v,mi,iaxial)
995 call zeta_calc(nelem,prop,ielprop,lakon,reynolds,zeta,
996 & isothermal,kon,ipkon,r,kappa,v,mi,iaxial)
1001 elseif(lakon(nelem)(2:7).eq.
'RELOID')
then 1005 if(xflow_oil.ne.0.d0)
then 1007 & xflow_oil,nelem,lakon,kon,ipkon,ielprop,prop,
1008 & v,dvi,cp,r,k_oil,phi,zeta,nshcon,nrhcon,
1009 & shcon,rhcon,ntmat_,mi,iaxial)
1014 call zeta_calc(nelem,prop,ielprop,lakon,reynolds,zeta,
1015 & isothermal,kon,ipkon,r,kappa,v,mi,iaxial)
1024 if(xflow_oil.ne.0.d0)
then 1026 & xflow_oil,nelem,lakon,kon,ipkon,ielprop,prop,
1027 & v,dvi,cp,r,k_oil,phi,zeta,nshcon,nrhcon,
1028 & shcon,rhcon,ntmat_,mi,iaxial)
1030 call zeta_calc(nelem,prop,ielprop,lakon,reynolds,zeta,
1031 & isothermal,kon,ipkon,r,kappa,v,mi,iaxial)
1036 call zeta_calc(nelem,prop,ielprop,lakon,reynolds,zeta,
1037 & isothermal,kon,ipkon,r,kappa,v,mi,iaxial)
1042 if(zeta.le.0.d0)
then 1045 xflow=v(1,nodem)*iaxial
1051 if(.not.isothermal)
then 1052 pt1pt2_crit=(0.5d0*kp1)**(zeta*kdkm1)
1054 pt1pt2_crit=0.5d0*(3*kappa-1)**(zeta*kdkm1)
1060 m1=dsqrt(2d0/km1*(tt1/t1-1d0))
1061 if((1.d0-m1).le.1e-3)
then 1063 if(zeta.gt.0.d0)
then 1064 if(xflow_oil.eq.0.d0)
then 1073 m2=dsqrt(2d0/km1*(tt2/t2-1d0))
1078 write(1,55)
' from node ',node1,
1079 &
' to node ', node2,
' : air massflow rate = ' 1081 & ,
' , oil massflow rate = ',xflow_oil,
' ' 1083 if(lakon(nelem)(4:5).ne.
'BR')
then 1088 write(1,56)
' Inlet node ',node1,
' : Tt1= ',tt1,
1089 &
' , Ts1 = ',t1,
' , Pt1 = ',pt1,
1091 write(1,*)
' Element ',nelem,lakon(nelem)
1092 write(1,57)
' dyn.visc. = ',dvi,
' , Re = ' 1094 write(1,58)
' PHI = ',phi,
' , ZETA = ',zeta,
1095 &
' , ZETA_PHI = ',phi*zeta
1096 write(1,56)
' Outlet node ',node2,
' : Tt2 = ',
1098 &
' , Ts2 = ',t2,
' , Pt2 = ',pt2,
1101 elseif(inv.eq.-1)
then 1102 write(1,56)
' Inlet node ',node2,
' : Tt1= ',tt1,
1103 &
' , Ts1= ',t1,
' , Pt1= ',pt1,
1105 write(1,*)
' Element ',nelem,lakon(nelem)
1106 write(1,57)
' dyn.visc. =',dvi,
' , Re = ' 1108 write(1,58)
' PHI = ',phi,
' , ZETA = ',zeta,
1109 &
' , ZETA_PHI = ',phi*zeta
1110 write(1,56)
' Outlet node ',node1,
' : Tt2 = ',
1112 &
' , Ts2 = ',t2,
' , Pt2 = ',pt2,
1120 write(1,56)
' Inlet node ',node1,
' : Tt1 = ',
1122 &
' , Ts1 = ',t1,
' , Pt1 = ',pt1,
1124 write(1,*)
' Element ',nelem,lakon(nelem)
1125 write(1,57)
' dyn.visc. = ',dvi,
' , Re = ' 1127 write(1,58)
' PHI = ',phi,
' , ZETA = ',zeta,
1128 &
' , ZETA_PHI = ',phi*zeta
1129 write(1,56)
' Outlet node ',node2,
' : Tt2 = ',
1131 &
' , Ts2 = ',t2,
' , Pt2 = ',pt2,
1134 elseif(inv.eq.-1)
then 1135 write(1,56)
' Inlet node ',node2,
' : Tt1 = ',
1137 &
', Ts1 = ',t1,
' , Pt1 = ',pt1,
1139 write(1,*)
' Element ',nelem,lakon(nelem)
1140 write(1,57)
' dyn.visc. =',dvi,
' , Re = ' 1142 write(1,58)
' PHI = ',phi,
' , ZETA = ',zeta,
1143 &
' , ZETA_PHI = ',phi*zeta
1144 write(1,56)
' Outlet node ',node1,
' : Tt2 = ',
1146 &
' , Ts2 = ',t2,
' , Pt2 = ',pt2,
1154 55
format(1x,a,i6,a,i6,a,
e11.4,a,a,
e11.4,a)
1155 56
format(1x,a,i6,a,
e11.4,a,
e11.4,a,
e11.4,a,
e11.4)
1156 57
format(1x,a,
e11.4,a,
e11.4)
subroutine zeta_calc(nelem, prop, ielprop, lakon, reynolds, zeta, isothermal, kon, ipkon, R, kappa, v, mi, iaxial)
Definition: zeta_calc.f:35
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 pt2_lim_calc(pt1, a2, a1, kappa, zeta, pt2_lim)
Definition: pt2_lim_calc.f:25
subroutine two_phase_flow(Tt1, pt1, T1, pt2, xflow_air, xflow_oil, nelem, lakon, kon, ipkon, ielprop, prop, v, dvi_air, cp, r, k_oil, phi, lambda, nshcon, nrhcon, shcon, rhcon, ntmat_, mi, iaxial)
Definition: two_phase_flow.f:23
static double * e11
Definition: radflowload.c:42
subroutine limit_case_calc(a2, pt1, Tt2, xflow, zeta, r, kappa, pt2_lim, M2)
Definition: limit_case_calc.f:21