Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
book.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
372.22 Кб
Скачать

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 неизвестно. Выбрав его произвольным образом и разбив диск по радиусу на несколько концен­трических кольцевых участков, можно, переходя от одного соседнего участка к другому и используя совместимость граничных условий, последовательно рассчитать распределение радиальных и тангенциальных напряжений вдоль радиуса диска. Если участок диска турбины заменяется коническим диском, напряжения на этом участке определяются по формулам

σRr σR1+αθ σT1+αcTd , [Па] (1.1)

σTr σR1θ σT1+βcTd . [Па] (1.2)

В случае, когда участок диска турбины заменяется кольцевым элементом с гиперболическим профилем, возникающие напряжения определяются по аналогичным формулам:

σRr σR1+αθ σT1+αcT , [Па] (2.1)

σTr σ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

22

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]