Guest User

Untitled

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