
- •1. Расчет напряжений растяжения в
- •1.1. Расчет напряжений в лопатке постоянного сечения
- •1.2. Расчет напряжений в лопатке переменного сечения
- •1.3. Пример программы расчета на прочность рабочей лопатки турбины
- •2 Расчет ротора турбины на критическое число оборотов
- •2.1. Аналитический метод расчета ротора на Nкp [4]
2 Расчет ротора турбины на критическое число оборотов
Критическое число оборотов ротора Nкп соответствует такой частоте его вращения, которая равна частоте собственных изгибных колебаний неподвижного ротора, скрепленного на тех же опорах Каждый ротор, как и любая система с распределенными массами, имеет множество форм и частот собственных колебаний и соответственно множество критических чисел оборотов. Однако практический интерес представляют первые два критических числа оборотов с наибольшими амплитудами собственных колебаний.
2.1. Аналитический метод расчета ротора на Nкp [4]
Этот способ основан на приближенном решении дифференциального уравнения динамического равновесия колеблющегося вала переменного сечения. Для приближенного расчета первого и второго критических чисел оборотов рекомендуется [4]
следующая формула, позволяющая определить искомые величины с достаточной степенью точности:
|
[об/мин] |
|
|
К =1, 2 - порядок критической угловой скорости;
l - расстояние между опорами ротора (осями подшипников) [м];
qi - погонный вес участка ротора [кг/м];
Ai - приращение функции Ф(ξ) при переходе от предыдущего перпендикулярного участка ротора к последующему:
|
|
х - расстояние от оси опоры до конца рассматриваемого участка [ м];
J0 = π(D04-d04)/64 - основной момент инерции [ м4],
D0, d0 - основные диаметры ротора [м];
Е - модуль нормальной упругости материала ротора,
(при 20°С Е20 = 2.1 х 1010 [кг/кв.м] );
Максимальный прогиб от собственного веса вала находят по приближенной формуле
yтах = 0.11(пкр/1000)2. [м]
Аналитический способ менее трудоемок, чем фафоаналитический К недостаткам аналитического метода следует отнес ги то, что он применим только для двухопорных роторов и не позволяет одновременно с критическим числом оборотов получить распределение изгибающих моментов по длине ротора, а также величины опорных реакций так, как это возможно при использовании графоаналитического метода.
Оба способа расчета дают близкие результаты при точности, достаточной для применения в инженерной практике
2.2. Пример программы расчета ротора турбины на критическое число оборотов
Образец файла исходных данных:
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
11. 6. 19.5 2.5 3.5 26.5 35. 10.5 17.5 3. 6.5 3. 7.5 3. 6.5 3 7 3.5 7. 3.5 7. 3.5 7. 3.5 5. 14. 15. 15. 19.5 15. 21.5 27.5 5. 3 22.5
23. 24. 26. 30. 30. 32. 45. 95. 50. 90. 50. 90.5 50. 90.5 50. 94. 50. 96. 50. 101.2 50. 104. 50 109 50 47. 46 46 45 44 43 32. 35. 35. 32.
.990 980 970 915 870 880 .888 900 .916 .927 .940 950 .958 .962 .964 965 966 .967 968 .968 .968 .969 .970 .971 .972 .972 .973 .973 .974 .975 .976 980 .987 .990 .990
1. I 1. 1. 1. 1 1. .74 I. .93 1. .93 1 93 1. .93 1. .93 1. .93 1 93 1. .93 1. 93 1. 93 I. 93 1. .93 1. .93 1.
Program EXTRON; { for EXTremal Rotation Number
РАСЧЕТ КРИТИЧЕСКОЙ ЧАСТОТЫ ВРАЩЕНИЯ РОТОРА ТУРБИНЫ АНАЛИТИЧЕСКИМ МЕТОДОМ
{ материал вала - сталь ЭИ-415, плотность - 7.79 г/см.куб. )
Const Npoint = 35; NamLenth = 64;
DNO = 3000.; D0 = 50; DV = 10.; GAMMA = 0.00779; PLS = 449.5; KR1 = 1.; TO = 4.29E+6;
VAR PM,GP,EJ, F, DTA, Z, PN, PL,D, PKE.LDA : Array [1. .Npoint] of Real; X, Q, SR, EJO, N, DN, DK, UM, R : Real;
FName : String[NamLenth];
InFile, OutFile : Text;
Function DataLoad(FileName:String):boolean;
var i : Integer;
Begin
Assign(InFILE,FileName); {$I-} Reset(InFile) {SI+};
If IOResult <> 0 then begin
WriteLn('- Файл ',FileName,' не найден.',Chr(7));
DataLoad:=False; Exit End;
For i: = 1 to Npoint do ReaddnFILE, PN[i]);
For i:=l to Npoint do ReaddnFILE, PL[i]);
For i: = 1 to Npoint do Read(InFILE, D[i]) ;
For i: = 1 to Npoint do Read(InFILE, PKE[i] );
For i: = 1 to Npoint do Read(InFILE,LDA[i]);
Close(InFile); DataLoad:=True; Exit End;
Procedure Exec; Var i : Integer; Begin
EJO:=PI* (D0*D0*D0*D0-DV*DVDV'DV)/64.;
X:=0; Q:=0; SR:=0;
For i:=1 to Npoint do Begin
PM[i]:=PI*GAMMA*PL[i]*(D[i]*D[i]-DV*DV)/4.;
GP[i]=PM[i]/PL[i];
EJ[i]:=PI*(D[i]*D[i]*D[i]*D[i]-DV*DV*DV*DV)/64.;
X:=X+PL[i]; Z[i]:=X/PLS;
F[i]:=Z[i]-Sin(2*PI*Z[i])/(2*PI);
If i:=1 Then DTA[i]:=F[i] Else DTA[i]:=F[i]-F[i-1];
Q:=Q+GP[I]*DTA[i];
SR:=SR+(DTA[i]*LDA[i]*EJO/EJ[i]/PKE[i])
End;
R:=SR/EJO; DN:=KR1*KR1**T0/(PLS*PLS*SQRT(Q*R));
DK:=100.*(DNO-DN)/DNO; UM:=0.11E+6/(DN*DN);
Exit End;
Function DataOut(FileName:String):Boolean;
Const StLength = 8O;
var DotTitle, TITLE : String[StLength];
i : Integer; Begin
Assign(OutFILE,FileName); {$I-} Rewrite(OutFile) {$I+};
If IOResult <> 0 then begin WriteLn(Chr(7));
WriteLn ('- He могу записать файл » ',FileName,'.') ; DataOut:=False;
Exit End;
WriteLn(OutFILE);WriteLn(OutFILE);
WriteLn(OutFile, ' R E S U L T E S’);
WriteLn(OutFile,' ********************');
WriteLn(OutFile);
Delete(DotTitle,1,Length(DotTitle)); DotTitle:=' -'; For i: = l to STLength-8 do DotTITLE:=DotTitle+ ' - ' ; WriteLn(OutFile,DotTitle);
Title: = ' N L(cm) D(cm) М(кг) GP (кг/см)'; Title:=Titie+' Z FZ DTA'; WriteLn(OutFile,Title); WriteLn(OutFile,DotTitle);
For i:=l to Npoint do Begin
Write(OutFile,' ',PN[i]:8:4,' ', PL[i]:8:4); Write(OutFile,' ' , D[i]:8:4, ' ',PM[i]:8:4);
Write(OutFile, ' ',GP[i]:8:4,' ', z[i]:8:4);
Write(OutFile,' ',F[i]:8:4,' ',DTA[i]:8:4); WriteLn(OutFile); End;
WriteLn(OutFile,DotTitle);
Write (OutFile, ' Критическая частота вращения ротора N = '); WriteLn (OutFile, DN: 8:2, ' об/мин'); WriteLn (OutFile, DotTitle) ; Write(OutFile,' Коэффициент запаса К = ');
WriteLn(OutFile, DK:6:2, ' % '); WriteLn(OutFile,DotTitle); Write(OutFile,' Максимальный прогиб U = ');
WriteLn(OutFile, UM:8:4, ' см'); WriteLn(OutFile,DotTitle); WriteLn(OutFile); WriteLn(OutFile); Close(OutFiie); DataOut:=True;
Exit End;
BEGIN
Repeat Write('- Введите имя файла данных << ');
ReadLn(Fname) until DataLoad(fname);
Exec;
Repeat Write ('- Введите имя файла результатов >> ');
Readln(Fname) until DataOut(FName);
HALT END.
RESULTES
|
|
|
|
|
|
|
|
|||||
N |
L(cm) |
D(cm) |
M(кг) |
GP(kt/cm) Z |
FZ |
DTА |
||||||
1.0000 |
11.0000 |
23.0000 |
28.8720 |
2.6247 |
0.0245 |
0.0001 |
0.0001 |
|||||
2.0000 |
6.0000 |
24.0000 |
17.4737 |
2.9123 |
0.0378 |
0.0004 |
0.0003 |
|||||
3.0000 |
19.5000 |
26.0000 |
68.7202 |
3.5241 |
0.0812 |
0.0035 |
0.0031 |
|||||
4.0000 |
2.5000 |
30.0000 |
12.2365 |
4.3946 |
O.O86S |
0.0042 |
0.0008 |
|||||
5.0000 |
3.5000 |
30.0000 |
17.1311 |
4.8946 |
0.0945 |
0.0055 |
0.0012 |
|||||
6.0000 |
26.5000 |
32.0000 |
149.8115 |
5.6533 |
0.1535 |
0.0227 |
0.0173 |
|||||
7.0000 |
35.0000 |
45.0000 |
412.2172 |
11.7776 |
0.2314 |
0.0733 |
0.0506 |
|||||
8.0000 |
10.5000 |
95.0000 |
573.3567 |
54.6054 |
0.2547 |
0.0956 |
0.0223 |
|||||
9.0000 |
17.5000 |
50.0000 |
256.9666 |
14.6838 |
0.2937 |
0.1405 |
0.0448 |
|||||
10.0000 |
3.0000 |
90.0000 |
146.8380 |
48.9460 |
0.3003 |
0.1491 |
0.0086 |
|||||
11.0000 |
6.5000 |
50.0000 |
95.4447 |
14.6838 |
0.3148 |
0.1686 |
0.0196 |
|||||
12.0000 |
3.0000 |
90.5000 |
148.4946 |
49.4982 |
С.3215 |
0.1781 |
0.0094 |
|||||
13.0000 |
7.5000 |
50.0000 |
110.1285 |
14.6838 |
0.3382 |
0.2028 |
0.0247 |
|||||
14.0000 |
3.0000 |
90.5000 |
148.4946 |
49.4982 |
0.3446 |
0.2131 |
0.0103 |
|||||
15.0000 |
6.5000 |
50.0000 |
95.4447 |
14.6838 |
0.3593 |
0.2362 |
0.0231 |
|||||
16.0000 |
3.0000 |
94.0000 |
160.3471 |
53.4490 |
0.3660 |
0.2472 |
0.0110 |
|||||
17.0000 |
7.0000 |
50.0000 |
102.7866 |
14.6838 |
0.3815 |
0.2737 |
0.0265 |
|||||
18.0000 |
3.5000 |
96.0000 |
195.2089 |
55.7740 |
0.3893 |
0.2874 |
о.0"Лб |
|||||
19.0000 |
7.0000 |
50.0000 |
102.7866 |
14.6838 |
0.4049 |
0.3153 |
0.0280 |
|||||
20.0000 |
3.5000 |
101.2000 |
217.1676 |
62.0479 |
0.4127 |
0.3297 |
0.0143 |
|||||
21.0000 |
7.0000 |
50.0000 |
102.7866 |
14.6838 |
0.4283 |
0.3589 |
0.0292 |
|||||
22.0000 |
3.5000 |
104.0000 |
229.4711 |
65.5632 |
0.4360 |
С.3738 |
0.0149 |
|||||
23.0000 |
7.0000 |
50.0000 |
102.7866 |
14.6838 |
0.4516 |
0.4040 |
0.0302 |
|||||
24.0000 |
3.5000 |
105.0000 |
252.2769 |
72.0791 |
0.4594 |
0.4192 |
0.0153 |
|||||
25.0000 |
5.0000 |
50.0000 |
73.4190 |
14.6838 |
0.4705 |
0.4412 |
0.0220 |
|||||
26.0000 |
14.0000 |
47.0000 |
180.6475 |
12.9034 |
0.5017 |
0.5033 |
0.0621 |
|||||
27.0000 |
15.0000 |
46.0000 |
185.0159 |
12.3344 |
0.5350 |
0.5698 |
0.0665 |
|||||
28.0000 |
15.0000 |
46.0000 |
185.0159 |
12.3344 |
0.5684 |
0.6347 |
0.0649 |
|||||
29.0000 |
19.5000 |
45.0000 |
229.6639 |
11.7776 |
0.6118 |
0.7146 |
0.0799 |
|||||
30.0000 |
15.0000 |
44.0000 |
168.4967 |
11.2331 |
0.6452 |
0.7710 |
0.0564 |
|||||
31.0000 |
21.5000 |
43.0000 |
230.0677 |
10.7008 |
0.6930 |
0.8420 |
0.0710 |
|||||
32.0000 |
27.5000 |
32.0000 |
155.4648 |
5.6533 |
0.7542 |
С.9133 |
0.С712 |
|||||
33.0000 |
5.0000 |
35.0000 |
34.4152 |
6.8830 |
0.7653 |
0.9237 |
0.0104 |
|||||
34.0000 |
3.0000 |
35.0000 |
20.6491 |
6.8830 |
0.7720 |
0.9296 |
0.0059 |
|||||
35.0000 |
22.5000 |
32.0000 |
127.1985 |
5.6533 |
0.8220 |
0.9652 |
0.0355 |
критическая частота вращения ротора |
N=2116.95 об/мин |
Коэффициент запаса |
К=29.44 % |
Максимальный прогиб |
U=0.0245 см |
3.1 Расчет напряжений в лиске газовой турбины, вызванных действием
инерционных сил и градиента температуры [3]
При расчете напряженно-деформированного состояния диска газовой турбины следует различать два типа дисков: 1) диск с центральным отверстием в ступице и 2) сплошной диск без центрального отверстия. В последнем случае граничные условия для решения поставленной задачи задаются следующим образом:
σRb=σRл, σR0=σT0 [Па] ( 1 )
Для дисков с центральным отверстием в первом расчете находят напряжения в различных сечениях, имея в виду, что радиальное напряжение на внутреннем радиусе известно : σRа = 0 . а тангенциальное напряжение на этом радиусе σTa неизвестно. Выбрав его произвольным образом и разбив диск по радиусу на несколько концентрических кольцевых участков, можно, переходя от одного соседнего участка к другому и используя совместимость граничных условий, последовательно рассчитать распределение радиальных и тангенциальных напряжений вдоль радиуса диска. Если участок диска турбины заменяется коническим диском, напряжения на этом участке определяются по формулам
σR=αr σR1+αθ σT1+αcTd , [Па] (1.1)
σT=βr σR1+βθ σT1+βcTd . [Па] (1.2)
В случае, когда участок диска турбины заменяется кольцевым элементом с гиперболическим профилем, возникающие напряжения определяются по аналогичным формулам:
σR=αr σR1+αθ σT1+αcT , [Па] (2.1)
σT=βr σR1+βθ σT1+βcT . [Па] (2.2)
В том случае, когда на некотором участке диска происходит резкое изменение его толщины, напряжения определяются следующим образом:
σ*R1=σR1+(b0/b1) , [ Па] ( 3 )
σ*T1=σT1+μ σR1(1-b0/b1). [ Па] (4)
Далее можно определить радиальные напряжения σR и тангенциальные напряжения σT вплоть до напряжений σRb и σTb , соответствующих наружному радиусу диска Rb.
Условимся в дальнейшем обозначать величины напряжений, относящихся к первой последовательности расчетов, символами σ’R и σ’T . Очевидно, что полученное значение радиального напряжения σ’Rb на внешней границе расчетной области (на радиусе Rb) не будет удовлетворять заданному граничному условию (1): σRb ≠ σRл т. к. радиальное напряжение σ’Ra на внутренней границе было выбрано произвольно
Величины радиальных и тантенциальных напряжений, которые будут получены на втором этапе расчетов, будем обозначать символами σ”R и σ”T. Аналогично первому этапу расчетов положим радиальные напряжения на внутренней границе диска равными нулю σ”Ra=0 и задав тангенциальное напряжение σ”Ta произвольно и считая диск неподвижным, т.е. n=0, определим значения напряжений в той же последовательности на всех расчетных участках. Для этого могут быть использованы формулы (1 1), (1.2) и (2.1), (2.2) с отброшенным последним слагаемым. На участках, имеющих резкое изменение толщины диска, расчет следует проводить по формулам ( 3 ) и(4)
Следует отметить, что при n = 0 центробежные силы в диске отсутствуют, а напряженное состояние в диске возникает за счет приложенного напряжения σ”Ta , заданного произвольно в качестве граничного условия.
После выполнения этих двух этапов расчета появляется возможность определить напряжения, действующие в диске турбины как линейную комбинацию полученных решений:
σR =σ’R - φσ”R [ Па] ( 5)
σT =σ’T - φσ”T [ Па) (6)
φ - постоянный коэффициент, который определяется из граничных условии на внешнем радиусе диска Rb: σRл=σRb=σ’Rb - φσ”Rb [Па], откуда следует
φ=( σ’Rb- σRл)/ σ”Rb. [Па] (7)
При вычислении напряжений, возникающих в сплошных дисках (без центрального отверстия), необходимо на первом и втором этапах расчетов произвольным образом задать граничные условия σ’R0 = σ’T0 и σR0 = σ”T0 . На втором этапе, как и на первом, расчет сплошного диска выполняется последовательно по участкам.
Для конических участков напряжения определяются по формулам (1.1) и (1.2), а Для гиперболических расчет проводится по формулам (2.1) и (2.2), причем предполагается, что диск не вращается ( n = 0 ), т.е. последнее слагаемое в формулах (1.1), (1.2) и (2.1), (22) не учитывается.
После того как оба этапа расчета выполнены для всех участков, появляется возможность по формулам (5), (6) и (7) найти действительные напряжения,
действующие в диске турбины Диск разбивается на участки следующим образом [3] Граница первого расчетного участка для диска с отверстием берется на радиусе отверстия, а для диска без отверстия на некотором небольшом расстоянии от центра диска так. чтобы на первом участке можно было считать толщину диска постоянной Такой выбор участков позволяет для дисков с отверстием и без отверстия задавать коэффициенты α и β конических и гиперболических участков одинаковым образом. Ступица диска и обод разбиваются на концентрические участки в соответствии с изменением профиля, а тело диска - на участки по 20-60 мм
Расчет диска проводится последовательно от участка к участку; расчетные коэффициенты, вспомогательные величины и результаты расчетов для каждого сечения следует заносить в таблицы. Это позволяет в ходе вычислений контролировать изменение расчетных величин, а в случае обнаружения ошибки продолжать расчеты не сначала, а с места ее обнаружения По полученным результатам строится график изменения радиальных и тангенциальных напряжений вдоль радиуса диска турбины.
Допустимые напряжения в дисках устанавливаются в зависимости от применяемых материалов с учетом действующих температурных напряжений. Основным результатом проведенных расчетов является коэффициент запаса местной прочности Кмп , определяемый для каждого участка диска по формуле Кмп=σв(Т) / σi где σв(Т) - предел длительной прочности материала, взятый с учетом температуры Т в том сечении диска, в котором определяется запас прочности; σi - максимальное напряжение (σR или σT) на данном радиусе лиска. В энергомашиностроении обычно используются элементы конструкций турбин (в том числе диски) с минимальным значением коэффициента запаса местной прочности Кмп = 1.3 - 1.5.
3 2 Пример программы расчета диска
газовой турбины на прочность
с учетом измеяения температуры
вдоль его радиуса
Образец файла исходных данных:
0 1. .74 .65 77.96 9 92 96
0. 0. .24 .48 .34 .05 .075 .07 .05
0. -93.5 -42. -2. -4. -10. -18. -15. -10
0. 0. .24 .44 .35 05 .075 .07 .05
0 I .74.6.7.96.9.92.96
0.-54.-21.-1.-2.-2.5-6 -4.5-2.5
0. . 15 .25 76.56 76.56 4 28 5 06 5 76 6 25
0.1. 1.5 2.5 30 10. 35 50 45.
0. -0.333 -0.1 -0.24 -0.18 -0.02 -0.04 -0.045 -0.02
0. -0.667 -0.89 -0.77 -0.83 -0.98 -0.98 -0.985 -0.98
0. 1.721е+6 1.72е+6 1.719е+6 1.718е+6 1.715е+6 1.71е+6 1 709е+6 1.70е+6
0 1.701е-5 1.702е-5 1.703е-5 1.706е-5 1.707е-5 1.708е-5 1.709е-5 1.71е-5
0. .78 1.27 I .6 I 66.9 75 1.
7400. 7390. 7380. 7320. 7300. 7300. 7280. 7230. 7020.
.3 .3 .3 .3 .3 .3 .3 .3 .3
1980.
1000. 0. 0. 0. 0 0. 0. 0. 0.
1000. 0 0 0 0. 0 0 0 0.
100. 0. 0. 0. 0. 0. 0. 0. 0.
100. 0. 0. 0. 0 0. 0 0. 0.
1000 0 0 0. 0. 0. 0. 0. 0.
1000.0.0.0.0.0.0.0.0.
100. 0. 0. 0 0 0 0. 0. 0.
100. 0. 0. 0. 0 0 0. 0. 0.
Program DiskSTRESS;
{ This program execute calculations for gas turbine disk stress caused Cy temperature and rotation mutual action along a disk radius. Rotation number is fixed as 11351 RPM; material of the disk made is steel EI-481, by russian steel grade notification; known extremal tension value of the disk material eq.to SRL=198 MPa (about 1980 kg per/sq.sm).
}
Const Npoint = 9; STLenth = 73 ; NamLenth = 64; VAR SR1,ST1,SR2,ST2,SRT1,STT1,
SRT2, STT2, SRD, STD, SRTD, STTD, SRS, STS, SRDK, STDK,SRTDK,STTDK,SRSK, STSK, QMR, QMT,AR,AQ,AC,BR, BQ, ВС, Т, DT, AT, ВТ, Е, A, SB, P, SRK1,STK1,SRK2,STK2,SRTK1,
STTK1,SRTK2,STTK2,N : ARRAY [1..Npoint] OF REAL; L : REAL; FName : String[NamLenthj; InFile, OutFile : Text;
Procedure DataLoad(FileName:String) ;
var Icount : Integer;
Begin
Assign (InFILE, FileName) ; {Sl-} ( Reset (InFile) {SI+};
If IOResult <> 0 then begin
WriteLn ('- Файл ', FileName, ' не найден. ',Chr(7)); Halt(l) End;
For icount: = l to Npoint do Read (InFILE,AR[Icount]);
For icount: = l to Npoint do Read (InFILE,Aq[Icount]);
For icount: = l to Npoint do Read (InFILE,Ac[Icount]);
For icount: = l to Npoint do Read (InFILE,BR[Icount]);
For icount: = l to Npoint do Read (InFILE,BQ[Icount]);
For icount: = l to Npoint do Read (InFILE,BC[Icount]);
For icount: = l to Npoint do Read (InFILE,T[Icount]);
For icount: = l to Npoint do Read (InFILE,DT[Icount]);
For icount: = l to Npoint do Read (InFILE,AT[Icount]);
For icount: = l to Npoint do Read (InFILE,BT[Icount]);
For icount: = l to Npoint do Read (InFILE,E[Icount]);
For icount: = l to Npoint do Read (InFILE,A[Icount]);
For icount: = l to Npoint do Read (InFILE,N[Icount]);
For icount: = l to Npoint do Read (InFILE,SB[Icount]);
For icount: = l to Npoint do Read (InFILE,P[Icount]);
Read (InFile, L);
For icount:1 to Npoint do Read (InFile, SRK1 [Icount]);
For icount:1 to Npoint do Read (InFile, STK1 [Icount]);
For icount:1 to Npoint do Read (InFile, SRK2 [Icount]);
For icount:1 to Npoint do Read (InFile, STK2 [Icount]);
For icount:1 to Npoint do Read (InFile, SRTK1 [Icount]);
For icount:1 to Npoint do Read (InFile, STTK1 [Icount]);
For icount:1 to Npoint do Read (InFile, SRTK2 [Icount]);
For icount:1 to Npoint do Read (InFile, STTK2 [Icount]);
Close(InFile); End;
Procedure Exec;
var I: Integer; F, FT : REAL;
Begin For I=2 to Npoint do begin
SR1[i]:=AR[i]*SRKl[i-l]+AQ[I]*STKl[i-l]+AC[i)*T[I]; ST1[i]:=BR[i]*SRK1[i-1]+BQ[i]* STK1[i-11+BC[i]*T[I]; SR2[i]:=AR[i]*SRK2[i-l]+AQ[i]*STK2[i-l]; ST2[i]:=BR[ii*SRK2[i-l]+BQ[i]*STK2[i-1];
SRT1[i]:=AR[i]*SRTKl[i-l]+AQ[i]*STTKl[i-1]+AT[i]*E[i]*A[i]*DT[i];
STT1[i]:=BR[i]*SRTK1[i-1]+BQ[i]*STTKl[i-1]+BT[i]*E[i]*A[i]*DT[i];
SRT2[i]:=AR[i]*SRTK2[i-1]+AQ[i]*STTK2[i-1];
STT2[i]:=BR[iJ*SRTK2[i-l]+BQ[i]*STTK2[i-1];
SRK1[i]:=SRl[i]*N[i];
STK1[i]:=ST1[i]-P[i]*SR1[i]*(1.-N[i]);
SRK2[i]:=SR2[i]*N[ij;
STK2[i]:=ST2[i]-P[i]*SR2[i]-(l.-N[i]);
SRTK1[i]:=SRTl[i]*N[i];
STTK1[i]:=STT1[i]-P[i]*SRTl[i]*(1.-N[i]);
SRTK2[i]:=SRT2[i]*N[i];
STTK2[i]:=STT2[i]-P[i]*SRT2[i)*(1.-N[i]) end;
F:=(SRl(Npoint]-L)/SR2[Mpoint]; FT:=SRT1[Npoint]/SRT2[Npoint];
For i:=2 to Npoint do begin
SRDti]:=SRl[i]-F*SR2[i];
STD[i]:=STl(i]-F*ST2[i];
SRTD[i]:=SRTl[i]-FT*SRT2[i];
STTD[i]:=STTl[i]-FT*STT2[i];
SRS[i]:=SRD[i]+SRTD[i];
STS[i]:=STD[i]+STTD[i];
SRDK[i]:=SRKl[i]-F*SRK2[i];
STDK[i]:=STK1[i]-F*STK2[i];
SRTDK[i]:-SRTK1[i]-FT«SRTK2[i];
STTDKIi]:=STTK1[i]-FT*STTK2[i];
SRSKIi]:=SRDK(i]+SRTDK[i];
STSK[i] :=STDK[i]+STTDK[i];
QMR[i]:=SB[i]/SRSK[i];
QMT[i]:=SB[i]/STSK[i] end;
END;
Function DataOut(Filename:String):Boolean;
var DotTitle, TITLE : String[80]; Icount : Integer;
Begin
Assign (OutFILE, FileName) ; {$I-} Rewrite (OutFile) ($I+};
If lOResult <> 0 then begin WriteLn(Chr(7));
WriteLn ('- He могу записать файл >> ', FileName,'.');
DataOut:=False; Exit End; WriteLn(OutFILE);WriteLn(OutFILE) ;
WriteLn(OutFile, ' R E S U L T E S');
WriteLn (OutFile, ' ****************');
WriteLn (OutFile); Title: = ' SRI ST1 SR2 ST2 SRTl'); Title:=Titlet+' STT1 SRT2 STT2'; WriteLn(OutFile,Title);
Delete(DotTitlo,l,StLenth); DotTitle:=' - ' ;
For Icount: = 3 to STLenth-3 do DotTITLE:=DotTitle+'-';
WriteLn(OutFile,DotTitle) ;
For Icount: =2 to Npoint do Begin
Write(OutFile, ' ', SRI[Icount]:8:1,' ',ST1[Icount]:8:1);
Write(OutFile,' ', SR2[Icount):8:1,' ', ST2 [Icount] :8:1);
Write(OutFile,' ', SRTl[IcountJ:8:1,' ', STT1[Icount]:8:1);
WritelOutFile,' ', SRT2 (Icount) :8 :1,' ', STT2 [Icount] :8 :1) ;
WriteLn(OutFile) ;
End; WriteLr, (OutFiJe); WriteLn (OutFile) ; Title: = ' SRK1 STK1 SRK2 STK2' ; Title:=Concat(Title,' SRTK1 STTKi SRTK2 STTK2') ; WriteLn (OutFile, Title) ; WriteLn (OutFile, DotTitle) ;
For Icount:=2 to Npoint do Begin
WritelOutFile,' ', SRK1 [Icount) :8 :1, ' ', STK1 [Icount] :8 :1) ;
WritelOutFile,' ',SRK2[Icount]:8:1,' ',STK2[Icount] :8 :1) ;
Write (OutFile, ' ', SRTK1 [Icount] :8:1, ' ',STTKI [Icount] :8:1) ;
WritelOutFile,' • ,SRTK2[Icount] :8:1, ' ', STTK2 [ Icount] :8:1) ;
WriteLn(OutFile) ;
End; WriteLn(OutFile); WriteLn(OutFile) ; Title:= ' SRD STD SRTD STTD';
Title:=Concat (Title, ' SRS STS SRDK'); WriteLn (OutFile, Title); Delete (DotTitle, 65,StLenth) ; WriteLn (OutFile, DotTitle) ;
For Icount:=2 to Npoint do Begin
Write(OutFile,' ', SRD[Icount]:8:1, ' ',STD[Icount] :8 :1) ;
Write(OutFile,' • , SRTD[Icount] :8 :1, ' ', STTD(Icount) :8:1) ;
Write(OutFile,' ',SRS[Icount]:8:1,' ',STS[Icount] :8:1) ;
Write(OutFile,' ', SRDK[Icount] :8:1) ;
WriteLn (OutFile) ; End; WriteLn (OutFile); WriteLn (OutFile) ; Title:=' STDK SRTDK STTDK SRSK';
Title:=Concat(Title, ' STSK QMR QMT');
WriteLn (OutFile, Title); WriteLn (OutFile, DotTitle) ;
For Icount:=2 to Npoint do Begin
Write (OutFile,' ',STDK[Icount]:8:l, ' ' , SRTDK[Icount]:8:1) ;
Write(OutFile,' ',STTDK[Icount]:8:1,' ',SRSK[Icount]:8:1);
Write(OutFile, ' ',STSK(Icount):8:1,QMR[Icount]:8:1);
Write(OutFile, ' ',QMT[Icount]:8:1); WriteLn(OutFile); End; WriteLn(OutFile); WriteLn(OutFile); Close(OutFile);
DataOut:=True;
END;
BEGIN
Write ('-Введите имя файла данных <<'); ReadLn (Fname);
DataLoad(Fname); Exec;
Repeat Write ('-Введите имя файла результатов >>'); ReadLn (Fname);
Until DataOut (Fname);
END.
RESULTES
********
SRI |
ST1 |
SR2 |
ST2 |
SRT1 |
STT1 |
SRT2 |
STT2 |
957.9 |
975.9 |
100.0 |
100.0 |
932.9 |
865.2 |
100.0 |
100.0 |
831.2 |
916.5 |
88.4 |
94.7 |
806.6 |
699.0 |
88.4 |
94.7 |
858.2 |
889.5 |
125.8 |
114.4 |
756.0 |
65.0 |
125.8 |
114.4 |
479.3 |
710.5 |
172.9 |
142.1 |
397.7 |
-1365.1 |
172.9 |
142.1 |
140.8 |
580.7 |
91.3 |
115.8 |
115.6 |
-1718.3 |
91.3 |
115.8 |
93.4 |
524.7 |
186.5 |
148.7 |
63.2 |
-2337.9 |
186.5 |
148.7 |
-95.3 |
428.3 |
139.6 |
135.0 |
-122.1 |
-2924.4 |
139.6 |
135.0 |
-148.8 |
391.5 |
128.3 |
132.0 |
-188.6 |
-3168.7 |
128.3 |
132.0 |
SRKL |
STK1 |
SRK2 |
STK2 |
SKTK1 |
STTK1 |
SRTK2 |
STTK2 |
840.1 |
940.5 |
87.7 |
96.3 |
818.1 |
830.8 |
87.7 |
96.3 |
947.6 |
951.4 |
100.8 |
98.4 |
919.5 |
732.9 |
100.8 |
98.4 |
858.2 |
889.5 |
125.8 |
114.4 |
756.0 |
65.0 |
125.8 |
114.4 |
249.2 |
641.5 |
89.9 |
117.2 |
206.8 |
-1422.3 |
89.9 |
117.2 |
292.8 |
626.3 |
189.8 |
145.4 |
240.5 |
-1680.9 |
189.8 |
145.4 |
70.0 |
517.7 |
139.9 |
134.7 |
47.4 |
-2342.6 |
139.9 |
134.7 |
-87.1 |
430.7 |
127.6 |
131.4 |
-111.6 |
-2921.3 |
127.6 |
131.4 |
-148.8 |
391.5 |
128.3 |
132.0 |
-188.6 |
-3168.7 |
128.3 |
132.0 |
SRD |
STD |
SKTU |
STTD |
SRS |
STS |
SRDK |
|
2617.1 |
2635.1 |
1079.9 |
1012.2 |
3696.9 |
3647.3 |
2295.2 |
|
2297.6 |
2487.9 |
936.5 |
838.3 |
3234.2 |
3326.1 |
2619.3 |
|
2944.8 |
2787.9 |
940.9 |
233.2 |
3885.7 |
3021.1 |
2944.8 |
|
3348.1 |
3067.6 |
651.8 |
-1156.2 |
3999.9 |
1911.4 |
1741.0 |
|
1655.1 |
2502.0 |
249.8 |
-1548.1 |
1904.9 |
953.9 |
3442.6 |
|
3187.9 |
2992.1 |
337.4 |
-2119.3 |
3525.3 |
872.8 |
2390.9 |
|
2220.4 |
2668.7 |
83.0 |
-2725.9 |
2303.4 |
-57.3 |
2029.5 |
|
1980.0 |
2581.5 |
0.0 |
-2974.7 |
1980.0 |
-393.2 |
1980.0 |
|
STDK |
SRTDK |
STTDK |
SRSK |
STSK |
QMR |
QMT |
2538.5 |
947.0 |
972.4 |
3242.2 |
3510.9 |
2.3 |
2.1 |
2584.4 |
1067.6 |
877.6 |
3687.0 |
3461.9 |
2.0 |
2.1 |
2787.9 |
940.9 |
233.2 |
3885.7 |
3021.1 |
1.9 |
2.4 |
2585.5 |
338.9 |
-1250.1 |
2079.9 |
1335.4 |
3.5 |
5.5 |
3038.3 |
519.6 |
-1467.2 |
3962.2 |
1571.1 |
1.8 |
4.6 |
2753.0 |
253.0 |
-2144.6 |
2644.0 |
608.4 |
2.8 |
12.0 |
2611.4 |
75.9 |
-2728.1 |
2105.3 |
-116.7 |
3.4 |
-61.9 |
2581.5 |
0.0 |
-2974.7 |
1980.0 |
-393.2 |
3.5 |
-17.9 |