ВУЗ:
Составители:
Рубрика:
255
{Вычисление толщины в зависимости от радиуса}
Function TH(x:real):real;
Begin
If Ns=1 then TH:=0.052;
If Ns=2 then TH:=0.03-0.006*(x-0.0358)/0.0521;
If Ns=3 then TH:=0.022; TH:=0.06;
End;
{Вычисление модуля упругости в зависимости от радиуса}
Function E(x:real):real;
Begin
E:=1.8E11-1.25E8*(T(x)-150); E:=2e11;
End;
{Процедура вычисления правых частей системы дифференциальных уравнений}
Procedure FCT(x:real; Y:wect; var P: wect);
Var
OM,ALT,CPP,CPM,TE,XX,A11,A12,A21,A22,G1,G2,SG:real;
Begin
OM:=3.1416*RN/30;
ALT:=AL*T(x);
CPP:=1+CP;
CPM:=1-CP;
TE:=E(x)*TH(x);
XX:=1/x;
A11:=CPP*XX;
A12:=A11*CPM/TE;
A21:=TE*XX;
A22:=CPM*XX;
G1:=A11*ALT;
G2:=A21*A1t+RO*TH(x)*OM*OM*x;
SG:=1;
If NI=1 then SG:=0;
P[1]:=-A11*Y[1]+A12*Y[2]+SG*G1;
P[2]:=A21*Y[1]-A22*Y[2]-SG*G2;
End;
{Процедура интегрирования системы дифференциальных уравнений методом Рунге-
Кутта}
Procedure RK(var z:real; var Y:wect; H:real);
Var
I:byte;
Y1,P0,P1,P2,P3:wect;
Begin
FCT(x,Y,P0);
For I:=1 to N do
Y1[i]:=Y[i]+H*P0[i]/2;
FCT(x+h/2,Y1,P1);
For I:=1 to N do
Y1[i]:=Y[i]+H*P1[i]/2;
FCT)x+H/2,Y1,P2);
For i:=1 to N do
Y1[i]:=Y[i]+H*P2[i];
FCT(x+H,Y1,P3);
For I:=1 to N do
{Вычисление толщины в зависимости от радиуса} Function TH(x:real):real; Begin If Ns=1 then TH:=0.052; If Ns=2 then TH:=0.03-0.006*(x-0.0358)/0.0521; If Ns=3 then TH:=0.022; TH:=0.06; End; {Вычисление модуля упругости в зависимости от радиуса} Function E(x:real):real; Begin E:=1.8E11-1.25E8*(T(x)-150); E:=2e11; End; {Процедура вычисления правых частей системы дифференциальных уравнений} Procedure FCT(x:real; Y:wect; var P: wect); Var OM,ALT,CPP,CPM,TE,XX,A11,A12,A21,A22,G1,G2,SG:real; Begin OM:=3.1416*RN/30; ALT:=AL*T(x); CPP:=1+CP; CPM:=1-CP; TE:=E(x)*TH(x); XX:=1/x; A11:=CPP*XX; A12:=A11*CPM/TE; A21:=TE*XX; A22:=CPM*XX; G1:=A11*ALT; G2:=A21*A1t+RO*TH(x)*OM*OM*x; SG:=1; If NI=1 then SG:=0; P[1]:=-A11*Y[1]+A12*Y[2]+SG*G1; P[2]:=A21*Y[1]-A22*Y[2]-SG*G2; End; {Процедура интегрирования системы дифференциальных уравнений методом Рунге- Кутта} Procedure RK(var z:real; var Y:wect; H:real); Var I:byte; Y1,P0,P1,P2,P3:wect; Begin FCT(x,Y,P0); For I:=1 to N do Y1[i]:=Y[i]+H*P0[i]/2; FCT(x+h/2,Y1,P1); For I:=1 to N do Y1[i]:=Y[i]+H*P1[i]/2; FCT)x+H/2,Y1,P2); For i:=1 to N do Y1[i]:=Y[i]+H*P2[i]; FCT(x+H,Y1,P3); For I:=1 to N do 255
Страницы
- « первая
- ‹ предыдущая
- …
- 253
- 254
- 255
- 256
- 257
- …
- следующая ›
- последняя »