Руководство к решению задач по механике материалов и конструкций. Егодуров Г.С - 255 стр.

UptoLike

Рубрика: 

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