Guest User

JEDI Code format VA

a guest
Nov 6th, 2015
231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 17.78 KB | None | 0 0
  1.  
  2. Unit test;
  3.  
  4. {$mode tp}
  5.  
  6. Interface
  7.  
  8.  
  9.  
  10. Implementation
  11. Procedure P_OTEPI_(II : integer;S : real;Var LM1 : real;LM2,K,
  12.                    M2T,QL2 : real;Var BE1 : real;BE1P_,BE2,BE2E,
  13.                    R1,R2,D1,D2,B,CSP : real;Var DBE2,ZI,KR : real);
  14.  
  15. Label E_,E_1,medel,men1;
  16.  
  17. Var
  18.   J1{ lnav1,lnav2,lnav} : integer;
  19.   TE,TEG,C1,C2,C3,F,F1,F2,DKR,DKR8,F21,T1,T2,TT,TT0,DT,TT0P,DDT,B1,B2,LP,KP,BL_H : real;
  20.   BB,K1,I_KC,TP,DBE1,QB_,LMB_,CI_1,CI_2,XP_,FX,X1,X2,HIK,FK,RHC,RBC,RH,RB,ZIP_P : real;
  21.   aaa, dcrl,zidel1,zidel2,zidel3,DU,BE8,Z1,aak,aap,zidel4,
  22.   tgdel1, tgdel2,kk1,kk2,kk11,kk22,
  23.   Z,Z2,Z3,Z4,Z5,Z6,aa,tgdel,siga : real;
  24.  
  25. Function LMQ(Q : real) : real;
  26.  
  27. Var
  28.   Z : real;
  29. Begin
  30.   Z := 0.511-0.0395*KA;
  31.   If Q < Z Then LMQ := 0.3-_Pw(((Z-Q)/(1.8344-0.1735*KA)),(0.9392+0.0165*KA))
  32.   Else
  33.     LMQ := 1-_Pw(((1-Q)/(1.09367-0.0133*KA)),(0.4342+0.0615*KA));
  34. End;
  35. Function IDBE(X : real) : real;
  36.  
  37. Var
  38.   Y : real;
  39. Begin
  40.   If X <= 0 Then IDBE := 0
  41.   Else
  42.     If X < 1 Then
  43.       Begin
  44.         Y := _Pw_ri(X,3);
  45.         IDBE := Y*(Y*(15*X-70)+X*(126*X-105)+35)
  46.       End
  47.   Else IDBE := 1
  48. End;
  49. Function IZIK(X : real) : real;
  50. Begin
  51.   If X <= 0 Then IZIK := (_Pw_ri((1+X),3)-1)
  52.   Else
  53.     If X < 1 Then IZIK := (1-_Pw_ri((1-X),3))
  54.   Else IZIK := (1);
  55. End;
  56.  
  57. Var displ : text;
  58. Begin
  59.   tgdel := nav^[(v_+3) Div 4]^[j];
  60.  
  61.   BE1H := BE1;
  62.   TE := 3.1416-BE1-BE2E;
  63.   TEG := TE*57.296;
  64.   If TE < 0.1 Then
  65.     Begin
  66.       TE := 0.1;
  67.       TEG := 5.73;
  68.     End;
  69.   C1 := 0.0138*TEG/SIN(TE/2)-0.63;
  70.   C2 := 1.22*TG(TE/4)+0.323;
  71.   C3 := 1.92-0.0085*TEG/SIN(TE/2);
  72.   If K < 2 Then F := (2-0.705*K)
  73.   Else F := (1/(SQRT(K)*(1.1*K-1)));
  74.   LP := 0.69+0.12*K*C3*C3*C3;
  75.   If LM2 < 1 Then F21 := LM2/LP
  76.   Else F21 := 1/LP;
  77.   F2 := 0.4+F21*F21*((4.264*F21-7.728)*F21+3.064);
  78.   T1 := 6.2832*R1/N1_[II];
  79.  
  80.   T2 := 6.2832*R2/N1_[II];
  81.   Z1 := SIN(BE2);
  82.   _as := sin(ale)*t2;
  83.       {_as-горло сопел, мм ;ale-угол AL1эф}
  84.   If D2 > 0.5 Then KP := 0.033*(D2)/Z1/Z1/T2
  85.   Else KP := 0.033*(0.5)/Z1/Z1/T2;
  86.   Z2 := SIN(BE1);
  87.   Z3 := SIN(BE1P_);
  88.   Z4 := COS(BE2);
  89.   BL_H := 0;
  90.   z := m2t;
  91.   If (m2t>2.8) Then z := 2.8;
  92.   If M2T > 1 Then BL_H := (0.0144-0.015355*BE2E)*(_Pw_ri(z,3)-1);
  93.   BB := 0.851-0.2361*BE1+0.4764*BE2E; {if V_=2*NP-3 then BB:=0.9;}
  94.   TT := T2/B*BB;
  95.   If LM2 < 0.56 Then DT := 0.1
  96.   Else
  97.     If LM2 < 1.25 Then
  98.       DT := (0.575-0.707*LM2+0.05475*(LM2-0.955)/_Pw((0.045+LM2),2.5))
  99.   Else DT := -0.3;
  100.   If DT < -0.05 Then DT := -0.05;
  101.   Z := TEG;
  102.   If Z < 15 Then Z := 15;
  103.   Z := LN(Z);
  104.   K1 := 1.12-0.09*Z;
  105.   If K <= 1.5 Then TT0 := K1-(0.173*Z-0.705)*(1.5-K)
  106.   Else TT0 := K1+0.057*(K-1.5);
  107.   ZIK := 0;
  108.   TT0P := (1+DT)*TT0;
  109.   DDT := (TT-TT0P)/TT0P;
  110.  
  111.   F1 := DDT/(0.38*TT0P+0.058);
  112.   F1 := F1*F1;
  113.   If K > 0.7 Then
  114.     TP := 0.00874*C1*_Pw((TE/C3*_Pw_ri((C2*(F+C1/(C2*SQRT(K)))),2)),(1/3))
  115.   Else
  116.     TP := 0.00874*C1*_Pw((TE/C3*_Pw_ri((C2*(F+C1/(C2*SQRT(0.7)))),2)),(1/3));
  117.   P_P := TP*(1+F1+F2)+KP*(1+F2)+BL_H;
  118.   DBE1 := BE1-BE1P_;
  119.   dzimt := tp*(f1+f2)+kp*f2;
  120.   P_1 := 0;
  121.   If K > 1 Then P_1 := 3*(K-1)*COS(1.571-BE1)/57.3;
  122.   P_1 := P_1*2;
  123.   P_1 := ABS(P_1);
  124.   If ABS(BE1-BE1P_) < P_1 Then BE1 := BE1P_
  125.   Else
  126.     If BE1 < BE1P_ Then BE1 := BE1+P_1
  127.   Else BE1 := BE1-P_1;
  128.   Z2 := SIN(BE1);
  129.   DBE1 := BE1-BE1P_;
  130.   If (ABS(DBE1) < 0.003){ or (ii=1)} Then P_PY := P_P
  131.   Else
  132.     Begin
  133.       Z := LM1*CSP;
  134.       QB_ := Z3/Z2*QLM(Z,KA);
  135.       If QB_ >= 1 Then QB_ := 0.9999;
  136.       LMB_ := LMQ(QB_);
  137.       CI_1 := (LM1*CSP-LMB_)*(LM1*CSP+LMB_)/LM2/LM2;
  138.       If LM1/LM2 > 0.8 Then CI_1 := CI_1*(1.8-LM1/LM2);
  139.       If (CI_1 < 0) And (BE1 > 2.15) Then CI_1 := CI_1*(3.15-BE1);
  140.       CI_2 := LMB_/LM2*SIN(DBE1)*Z4;
  141.       CI_2 := CI_2*CI_2*Z4;
  142.       P_PY := P_P+0.028*CI_1/_Pw((D1/T1/Z2+0.05),(2/3))+CI_2;
  143.       If P_PY < P_P-0.01 Then P_PY := P_P-0.01;
  144.       dzidbe1 := p_py-p_p;
  145.     End;
  146.   If (B<=0) Then
  147.     Begin
  148.       Assign(displ,'con');
  149.       rewrite(displ);
  150.       Writeln(displ,'B = ',B:15:6);
  151.       Close(displ);
  152.       halt (1);
  153.     End;
  154.   XP_ := LM2*Z4*LM2*Z4*A[II,2]/SQRT(QL2*Z1*B);
  155.   If XP_ < 0.115 Then FX := 60.87*XP_
  156.   Else FX := 7*EXP(9*(0.115-XP_));
  157.   If P_PY-P_P > 0.2 Then P_PY := P_P+0.2;
  158.   If FX < 0 Then FX := 0;
  159.   P_PB := P_PY*(FX*A[II,1]/LM2+1);
  160.   dziveer := p_pb-p_py;
  161.   P_1 := K;
  162.   If P_1 > 5 Then P_1 := 5;
  163.   KR8 := (P_PY-P_P)*P_PB/P_PY+TP*(1+F1+F2)*(0.875-0.075*K)*P_PB/
  164.          P_PY;
  165.   DKR := 0;
  166.   DBE2 := 0;
  167.   ZIKV := 0;
  168.   X1 := (R2-RK^[V_])/BK[II];
  169.   X2 := (RP_^[V_]-R2)/BP_[II];
  170.   If (X1 >= 1) And (X2 >= 1) Then goto E_;
  171.   Z5 := COS(BE1P_);
  172.   If (X2 < 1) And (S
  173.      > 0) Then
  174.     Begin
  175.       If BE1P_ > 2.8 Then
  176.         Begin
  177.           Z5 := -0.94;
  178.           LM1 := LM1*Z3/0.342;
  179.           Z3 := 0.342;
  180.         End;
  181.       BE8 := ARCTAN((LM2*Z1+LM1*Z3)/(LM1*Z5-LM2*Z4));
  182.       If BE8 < 0 Then BE8 := -BE8;
  183.       Z := 2*(1-X2);
  184.       DU := 2*(LM1*Z5+LM2*Z4)/(LM2*Z1+LM1*Z3);
  185.       Z6 := EXP(26*S/BP_[II]);
  186.       ZIKV := 0.0696*(Z6-1)/(Z6+1)*SIN(BE8)*DU*Z;
  187.       DBE2 := 16.23*S/_Pw_ri(BP_[II],2)*RP_^[V_]/N1_[II]*DU*Z1*Z1/SIN(BE8)*Z;
  188.     End
  189.   Else
  190.     Begin
  191.       ZIK := (K+1)/SQRT(K)*(TEG+10)*(0.01547+0.006875*LM2)*TT*Z1*P_P;
  192.       ZIK := ZIK/(1+1000*_Pw_ri(P_P,3));
  193.  
  194.  
  195. {               if( jp_=1) and( jh=40) and (ii=1)  then begin
  196.     Writeln(('                                                           zik='),zik*100:5:2);
  197.                                                        end;   }
  198.  
  199.                                   {   goto  medel;}
  200.       aak := nav^[(v_+3) Div 4]^[0];
  201.       aap := nav^[(v_+3) Div 4]^[nn];
  202.  
  203.       tgdel := nav^[(v_+3) Div 4]^[j];
  204.  
  205.       zidel3 := 1 ;
  206.       zidel4 := 1;
  207.                           {     goto medel;}
  208.  
  209.  
  210.  
  211. {          if( jp_=1) and( jh=nit) and (ii=1) then begin
  212.       Writeln(('nav2='), nav^[(v_+3) div 4]^[j]:5:3);
  213.        Writeln(('abstg='),abs(tgdel):5:3);
  214.               Writeln(('t2='),t2:5:3);
  215.               Writeln(('as='),_as:5:3);  Writeln(('sin='),sin(ale):5:3);
  216.               Writeln(('n='),N1_[II]:5:3);
  217.                 Writeln(('r2='),r2:5:3);
  218.  
  219.                                                      end;      }
  220.  
  221.       If (ii = 1) And( jh>1) Then
  222.         Begin
  223.  
  224.           tgdel2 := 0;
  225.           zidel1 := 1;
  226.           zidel2 := 1 ;
  227.           zidel3 := 1 ;
  228.           zidel4 := 1;
  229.           siga := 0.01;
  230.           If jh > 10 Then
  231.             siga := sin(g_a^[v_]^[nn]);
  232.      {            Writeln(('siga='), siga:5:3);}
  233.           kk1 := lnavk^[(v_+3) Div 4]/nn;
  234.                                               {  kk1:=0.5;}
  235.  
  236.           kk2 := (lnavp^[(v_+3) Div 4])/nn;
  237.  
  238. {   if( (  nav^[j]^[0])= (  nav^[j]^[nn])) and (  nav^[j]^[0]<>0)
  239.           then begin  kk1:=nn/2; kk2:=nn/2 ;   end;            }
  240.               {   Writeln(('kk1='), kk1:5:3);}
  241.           kk22 := 5.4779*kk2*kk2*kk2-9.0739*kk2*kk2+5.1329*kk2;
  242.           kk11 := 5.4779*kk1*kk1*kk1-9.0739*kk1*kk1+5.1329*kk1;
  243.  
  244.        {          Writeln(('kk11='), kk11:5:3);} {    kk22:=1.0;}
  245.    {        Writeln(('aak='), aak:5:3);    Writeln(('aap='), aap:5:3);  }
  246.  
  247. {  kk1:=(1+0.55*(abs(aak)))/((1+0.55*(abs(aak)))-1.1*(abs(aak))*kk1);
  248.        kk2:=(1+0.55*(abs(aap)))/((1+0.55*(abs(aap)))-1.1*(abs(aap))*kk2);}
  249.           kk1 := (1+(abs(aak)))/((1+(abs(aak)))-{2.0*}(abs(aak))*kk11);
  250.           kk2 := (1+(abs(aap)))/((1+(abs(aap)))-{2.0*}(abs(aap))*kk22);
  251.           If aak<0 Then kk1 := 1.0;
  252.    {               if( aak>0) and (aak=aap) then kk1:=1.0;}
  253. {            Writeln(('kk1='), kk1:5:3);}
  254.           If aap>0 Then kk2 := 1.0;
  255.           If (tgdel > 0) And (aap>0)And(aak>0) Then kk1 := 1;
  256.  {?        if( aak=aap) then begin  kk1:=1+(aak)/2.0;  end;}
  257.                     {     kk1:=1.60;  kk2:=1.50; }
  258.           x1 := x1*kk1;
  259.           x2 := x2*kk2;
  260.  
  261.                                         {    goto   medel;}
  262.           If ( j=nn-(lnavp^[(v_+3) Div 4])) And( aap<0) Then tgdel := -0.0085;
  263.           If ( j=(lnavk^[(v_+3) Div 4]))And(aak>0) Then tgdel := 0.0085;
  264.           If (aak>0) And (aap>0) Then   tgdel := nav^[(v_+3) Div 4]^[j];
  265.  
  266.           If (abs (tgdel) > 0) Then
  267.             zidel1 := 1 -0.65* _Pw(abs(tgdel),0.3)
  268.           Else  zidel1 := 1;
  269.                           {   goto   medel;}
  270.  
  271. {               if( jp_=1) and( jh=40) and (ii=1)  then begin
  272.                 Writeln(('nav2='), nav^[(v_+3) div 4]^[j]:5:3);
  273.                Writeln(('tg='),abs(tgdel):5:3); Writeln(('tg1='),tgdel1:5:3);
  274.               Writeln(('k1='),zidel1:5:3);
  275.                                                              end;}
  276.           {    goto   medel;}
  277.           If ( j/nn<=0.5)  Then
  278.             Begin
  279.               If x1<1.0 Then
  280.                 Begin
  281.                   If  (tgdel >  0) And (aak>0) Then
  282.                     zidel3 := zidel1;
  283.                   If  (tgdel < 0) And (aak<0) Then
  284.                     zidel3 := 1/SQRT(zidel1);
  285.                   If  (tgdel = 0) And (aak<>0) Then
  286.                     zidel3 := zidel1;
  287.   {            if (tgdel > 0) and (aap=aak) then}
  288.                   If (tgdel > 0) And (aap>0)And (aak>0) Then
  289.  
  290.   {?}               zidel3 := zidel1+(1-zidel1)*x1*x1;
  291.  
  292.                 End;
  293.               If (x1>=1.0) Then zidel3 := 1.0;
  294.  
  295.               If x2<1.0 Then
  296.                 Begin       {  siga:=0.5;}
  297.                   If  (tgdel < 0) And (aap<0) Then
  298.                     Begin
  299.                       zidel4 := zidel1*(1+3.0*siga*siga);
  300.                       If zidel4>1.0 Then zidel4 := 1.0;
  301.                     End;
  302.                   If  (tgdel > 0) And (aap > 0) Then
  303.                     zidel4 := (1+2.0*tgdel);
  304.                   If  (tgdel = 0) And (aap<>0) Then
  305.                     zidel4 := 1.0;
  306.    {           if (tgdel > 0) and (aap=aak) then}
  307.                   If (tgdel > 0) And (aap>0)And(aak>0) Then
  308.                     zidel4 := 1+2*tgdel*(1-x2) ;
  309.  
  310.                 End;
  311.  
  312.               If x2>=1.0 Then zidel4 := 1.0;
  313.             End;
  314.  
  315.           If ( j/nn>0.5)  Then
  316.             Begin
  317.  
  318.               If x1 < 1.0 Then
  319.                 Begin
  320.                   If  (tgdel > 0) And (aak>0) Then
  321.                     zidel3 := zidel1;
  322.    {            if (tgdel > 0) and (aap=aak) then}
  323.                   If { (tgdel > 0) and} (aap>0)And(aak>0) Then
  324.   {?}               zidel3 := zidel1+(1-zidel1)*x1*x1;
  325.  
  326.  
  327.  
  328. {             if( jp_=1) and( jh=40) and (ii=1)  then begin
  329.        Writeln(('zidel2='),zidel2:5:3);  Writeln(('zidel4='),zidel4:5:3);
  330.               Writeln(('k2='),(1+3.0*siga*siga):5:3);
  331.                                                         end; }
  332.  
  333.                   If  (tgdel <  0) And (aak < 0) Then
  334.                     zidel3 := 1/zidel1;
  335.  
  336.                   If  (tgdel = 0) And (aak <> 0) Then
  337.                     zidel3 := 1.0;
  338.                 End;
  339.               If  (x1>=1.0)   Then zidel3 := 1.0;
  340.  
  341.  
  342. {          if( jp_=1) and( jh=40) and (ii=1)  then begin
  343.                Writeln(('tg='),tgdel:5:3);  Writeln(('tg2='),tgdel2:5:3);
  344.               Writeln(('k2='),(1+3.0*siga*siga):5:3);
  345.                                                              end;  }
  346.  
  347.               If (x2 < 1)  Then
  348.                 Begin        {  siga:=0.4;}
  349.  
  350.                   If (tgdel < 0) And (aap<0) Then
  351.                     Begin  { siga:=0.4;}
  352.                       zidel4 := zidel1*(1+3*siga*siga);
  353.                       If zidel4>1.0 Then zidel4 := 1.0;
  354.                     End;
  355.                   If (tgdel > 0) And (aap>0) Then
  356.                     zidel4 := 1+2*tgdel ;{1/SQRT(zidel4)*(1+3*siga*siga)};
  357.                   If (tgdel = 0) And (aap<>0) Then
  358.                     zidel4 := 1.0;
  359.    {         if (tgdel > 0) and (aap=aak) then}
  360.                   If (tgdel > 0) And (aap>0)And(aak>0) Then
  361.                     zidel4 := 1+2*tgdel*(1-x2) ;
  362.                 End;
  363.  
  364.               If (x2 >= 1)  Then   zidel4 := 1.0;
  365.             End;
  366.  
  367.  
  368.  
  369.            {     zik:=zik*zidel3* zidel4;}       {  x1:=x1/1.3;}
  370.  
  371.            {  medel:}
  372.  
  373. {            if( jp_=1) and( jh=nit) and (ii=1) then begin
  374.    Writeln(j:2,tgdel:8:3,tgdel2:6:3,zidel1:8:3,zidel2:6:3,zidel3:6:3,zidel4:6:3,
  375.    kk1:10:3,kk2:8:3,zik*100:8:2,x1:8:3,x2:8:3,aak:8:3,aap:8:3);
  376.    {   Writeln(('nav1='), navj^[kj]:5:3);}
  377.  
  378. {           Writeln(('lnavk='),lnavk^[(v_+3) div 4]:5);
  379.                Writeln(('lnavp='),lnavp^[(v_+3) div 4]:5);
  380.                Writeln(('nn='), nn:3);
  381.               Writeln(('kk1='), kk1:5:3);
  382.               Writeln(('kk2='), kk2:5:3);
  383.                Writeln(('siga='), siga:5:3);
  384.                                                       end; }
  385.                 {    x1:=x1/kk1; x2:=x2/kk2;{
  386.                              { x1:=x1/1.3; }
  387.         End;
  388.  
  389.       medel :
  390.               DKR8 := ZIK/P_P*(P_P-KP-BL_H)*(0.575-0.075*K);
  391.       I_KC := (BE1H-BE1P_)/TE/K*(1+COS(BE1));
  392.       F := 0;
  393.       If I_KC > 0 Then F := 68*_Pw_ri(I_KC,4)/(1+227*_Pw_ri(I_KC,4));
  394.       Z := _Pw_ri((LM1*Z5+LM2*Z4),2)*A[II,4];
  395.       If X1 >= 1 Then ZIKV := 0
  396.       Else
  397.         Begin
  398.           HIK := Z/(1+_Pw_ri((LM1*Z5/LM2/Z4),2));
  399.           If HIK <= 2 Then C3 := 0.07*HIK
  400.           Else C3 := (0.3564-0.108*HIK);
  401.           If C3 < 0 Then C3 := 0;
  402.           If C3 > 0.08 Then C3 := 0.08;
  403.           P_1 := 1/_Pw(A[II,3],(1/1.75));
  404.           P_2 := 1/(1+0.05*_Pw_ri((P_1-2),3));
  405.           C3 := C3*P_2;
  406.           P_1 := (RP_^[V_]-RK^[V_])/(2*NN*BK[II]);
  407.           C1 := (IDBE(X1+P_1)-IDBE(X1-P_1))/(2*P_1);
  408.           ZIKV := (ZIK+C3*ZIK/(ZIK+F))*(IZIK(X1+P_1)-IZIK(X1-P_1))/(
  409.                   2*P_1)+(F+C3*F/(ZIK+F))*C1;{ *(0.575-0.075*K)+(F+C3*F/(DKR8+F))*C1;}
  410.        { if (ii=1) then zikv:=zikv*exp(-3*nav^[(v_+3) div 4]^[j]);}
  411.       {  zikv:=0;  }
  412.         End;
  413.       If X2 < 1 Then
  414.         Begin
  415.           HIK := Z/A[II,7];
  416.           If HIK >= 0.7
  417.             Then FK := (1.15-HIK/2)
  418.           Else FK := (1.15-HIK/2+10*_Pw_ri((HIK-0.7),2));
  419.           P_1 := LM2*LM2*A[II,5];
  420.           If P_1 > 0.5 Then P_1 := 0.5;
  421.           C3 := FK*_Pw_ri((1+P_1),2)*A[II,6];
  422.           X1 := X2;
  423.           P_1 := (RP_^[V_]-RK^[V_])/(2*NN*BP_[II]);
  424.           C1 := (IDBE(X1+P_1)-IDBE(X1-P_1))/(2*P_1);
  425.           ZIKV := ZIKV+(ZIK+0.03*SQRT(ZIK/0.03)*C3)*(IZIK(X1+P_1)-IZIK(
  426.                   X1-P_1))/(2*P_1)+F*(0.0+1)*C1;
  427.                                      {  x1:=x1/kk1; x2:=x2/kk2;}
  428.              {  zikv:=0;}
  429.                {     tgdel:=nav^[(v_+3) div 4]^[j];}
  430.  
  431. { if (v_=2*np-3{ii=1) and (tgdel > 0) then zikv:=zikv*(1+5.0*tgdel);
  432.  
  433.              концевые потери на периферии для саблевидных лопаток:
  434.           if (ii=1) and (tgdel < 0) then zikv:=zikv*(1-1.0*tgdel)*0.0; }
  435.           {  zikv:=zikv*zidel3* zidel4; }
  436.  
  437. {      Writeln(('x1='),x1:5:3);   Writeln(('kk1='),kk1:5:3);
  438.                                        x1:=x1/kk1;
  439.              Writeln(('x1='),x1:5:3);   Writeln(('kk1='),kk1:5:3); }
  440.           DKR := (DKR8+0.03*SQRT(DKR8/0.03)*C3)*(IZIK(X1+P_1)-IZIK(X1-
  441.                  P_1))/(2*P_1)*(0.575-0.075*K)+F*C1;
  442.                         { if (v_=2*np-3) then dkr:=dkr*2.0;}
  443.         End;
  444.               {     Writeln(('zikv='),zikv*100:5:3);}
  445.       If ii=1 Then zikv := zikv*zidel3* zidel4;{  zikv:=0;}
  446.              {   Writeln(('zikv1='),zikv*100:5:3);    }
  447.     End;
  448.   E_: ZI := P_PB+ZIKV;
  449.   ZIP_P := 0;
  450.         { _WrFr('(2X,3Hzi=,1X,F7.4)'0);_Wr(zi);}
  451.  
  452.       {  потери в соплах с навалом  08.2001}
  453.                                                 {mark}
  454.      {  конец  учета потерь в соплах с навалом}
  455.  
  456.   If II = 2 Then
  457.     For J1:=1 To 3 Do
  458.       Begin
  459.         X1 := (R2-RP_P[J1])/BP_P[J1];
  460.         P_1 := (RP_^[V_]-RK^[V_])/(2*NN*BP_P[J1]);
  461.         P_2 := X1+P_1;
  462.         P_3 := X1-P_1;
  463.         If (P_2 < -0.5) Or (P_3 > 0.5) Then goto E_1;
  464.         If P_2 > 0.5 Then P_2 := 0.5;
  465.         If P_3 < -0.5 Then P_3 := -0.5;
  466.         P_4 := (SIN(P_I*P_2)-SIN(P_I*P_3))/(2*P_1);
  467.         P_6 := LM2;
  468.         P_5 := (LM1+P_6)/2*SIN(ALB_)/LM2;
  469.         ZIP_P := ZIP_P+1.209*DP_P[J1]/BP_P[J1]*_Pw_ri(P_5,2)*P_4;
  470.         E_1:
  471.       End { J1 };
  472.   ZI := ZI+ZIP_P;
  473.   bpr := zip_p;
  474.   If ZI > 0.7 Then ZI := 0.7;
  475.   KR := KR8+DKR;
  476.   If KR > 0.7 Then KR := 0.7;
  477.   P_1 := 0.050*(P_I-BE1H)*(1.0+3.18*BE1H)*SIN(BE1H);
  478.                                { p_1:=0;}
  479.   P_2 := BE1P_-BE1H-P_1;
  480.   p_4 := lm1/lm2;
  481.   If p_4<0.6 Then p_4 := 0.6;
  482.                            { if p_4>1.2 then p_4:=1.2;}
  483.  
  484.   aa := p_2/(p_i-be1h-p_1);
  485.   aa := aa*aa;
  486.   If p_2 < 0 Then aa := 0;
  487.   If P_2 > 0 Then
  488.     If LM1 < LM2 Then P_3 := _Pw_ri((P_2/(P_I-BE1H-P_1)),2)*(_Pw_ri((p_4),2))
  489.   Else P_3 := _Pw_ri((P_2/(P_I-BE1H-P_1)),2)*(1)
  490.   Else P_3 := 0;
  491.               { if ii=1 then p_3:=0;}
  492.   p_2 := be1h-be1p_-p_1;
  493.   If p_2>0 Then
  494.     Begin
  495.       p_2 := p_2/(be1h-p_1);
  496.       p_2 := p_2*p_2;
  497.       If lm1<lm2 Then p_3 := p_2*p_4*p_4
  498.       Else p_3 := p_2;
  499.     End;
  500.  
  501.    { KR:=KR+P_3*(0.575-0.075*K);}
  502.   If KR < 0.99 Then KR := SQRT(1-KR)
  503.   Else KR := 0.1;
  504.   If CYX < 1.04 Then
  505.     Begin
  506.       P_1 := (1-CYX)*100;
  507.       P_4 := 0;
  508.       P_2 := K-1;
  509.       If (K > 1) And (P_1 > 0) Then
  510.         P_4 := (1+1.614*_Pw_ri((P_1-1.5),2)/(1+(P_1-1.5)*(0.326+0.58*(P_1-1.5))
  511.                ))*0.5*SQRT(K-1);
  512.       If (K > 1) And (P_1 < 0) Then P_4 := (3+0.75*P_1)*0.5*SQRT(K-1);
  513.       If P_4 < 0 Then P_4 := 0;
  514.       P_5 := 1;
  515.       If M2T < 1 Then P_5 := M2T;
  516.       P_6 := _Pw_ri(P_5,4);
  517.       If P_1 > 0 Then P_6 := P_6+0.65*(1-EXP((P_5-1)*6))*(1-EXP(-(0.2+P_6*P_6)*P_1));
  518.       P_6 := P_4*P_6*0.012;
  519.       KR := KR+P_6;
  520.  
  521.     End;
  522.  { if II = 2 then ZI:=ZI+0.01 else ZI:=ZI+0.005;}
  523.   ZI := ZI+P_3;
  524.   bbe := p_3;
  525.   If ZI > 0.9 Then ZI := 0.9;
  526.   If aa>0.99 Then zi := zi+(1-zi)*0.99999*(jh-1)/(nit-1);
  527.   P_1 := SQRT(1-ZI);
  528.   If (KR/P_1 > 1.1) And (ZI > 0.21) Then KR := P_1*1.1;
  529.     { c1:=sin(be1h)/sin(be2e); c2:=0.3+0.5/16*(5-c1)*(5-c1);}
  530.   If aa > 0 Then kr := p_1*(1-aa{*c2}*{0.8}0.2*jh/nit);
  531.    {  if k < 1.0 then kr:=kr*(1+k)/2;}
  532.   kr8 := ddt;
  533.   kr8k := tp+kp+bl_h;
  534.  
  535.   If m2t < 0.15 Then kr := kr*m2t/0.15;
  536.  
  537. End;
  538.  
  539. End.
Advertisement
Add Comment
Please, Sign In to add comment