Руководство к решению задач по механике твердого деформируемого тела матричными методами. Бундаев В.В. - 60 стр.

UptoLike

Составители: 

119
end;
Procedure GRAN;
var i1,j1,k1,l1:integer;
begin
for i1:=1 to ndis do
begin
j1:=nsd[i1];
k1:=nsd[i1];
for l1:=1 to nuz do
begin
rez[l1]:=rez[l1]-sgl[l1,j1]*dis[i1];
sgl[l1,j1]:=0.0;
end;
for l1:=1 to nuz do sgl[k1,l1]:=0.0;
sgl[k1,k1]:=1.0;
rez[k1]:=dis[i1];
end;
end;
Procedure PRAV;
var k1,nq,ic:integer;
begin
repeat
write('Введите номер узла:'); readln(nq);
write('Введите компоненты усилия:');
read(r1[1]);
writeln;
rez[nq]:=rez[nq]+r1[1]
until nq>=nuz;
end;
Procedure SISTEM;
var i1,j1,k1,l1:integer;
x1:array[1..nuz] of real;
q1:real;
begin
for i1:=1 to nuz do
for j1:=i1+1 to nuz do
120
begin
sgl[j1,i1]:=-sgl[j1,i1]/sgl[i1,i1];
for k1:=i1+1 to nuz do
sgl[j1,k1]:=sgl[j1,k1]+sgl[j1,i1]*sgl[i1,k1];
rez[j1]:=rez[j1]+sgl[j1,i1]*rez[i1]
end;
x1[nuz]:=rez[nuz]/sgl[nuz,nuz];
for i1:=nuz-1 downto 1 do
begin
q1:=rez[i1];
for j1:=i1+1 to nuz do q1:=q1-x1[j1]*sgl[i1,j1];
x1[i1]:=q1/sgl[i1,i1];
end;
l1:=0;
for iel:=1 to nel do
begin
for j1:=1 to nue do
begin
l1:=l1+1;
rz[iel,j1]:=x1[l1];
end;
l1:=l1-1
end;
writeln('Массив перемещений, разделенный по узлам:');
for iel:=1 to nel do
begin
for j1:=1 to nue do
write(' ',rz[iel,j1]:5:3);
writeln;
end;
end;
Procedure STRESS;
var j1:integer;
begin
for iel:=1 to nel do
begin{1}
                                    119                                               120

end;                                                          begin
Procedure GRAN;                                                 sgl[j1,i1]:=-sgl[j1,i1]/sgl[i1,i1];
   var i1,j1,k1,l1:integer;                                     for k1:=i1+1 to nuz do
 begin                                                             sgl[j1,k1]:=sgl[j1,k1]+sgl[j1,i1]*sgl[i1,k1];
        for i1:=1 to ndis do                                       rez[j1]:=rez[j1]+sgl[j1,i1]*rez[i1]
         begin                                                end;
             j1:=nsd[i1];                                 x1[nuz]:=rez[nuz]/sgl[nuz,nuz];
             k1:=nsd[i1];                                 for i1:=nuz-1 downto 1 do
             for l1:=1 to nuz do                             begin
              begin                                            q1:=rez[i1];
                rez[l1]:=rez[l1]-sgl[l1,j1]*dis[i1];           for j1:=i1+1 to nuz do q1:=q1-x1[j1]*sgl[i1,j1];
                   sgl[l1,j1]:=0.0;                            x1[i1]:=q1/sgl[i1,i1];
              end;                                           end;
              for l1:=1 to nuz do sgl[k1,l1]:=0.0;           l1:=0;
                 sgl[k1,k1]:=1.0;                            for iel:=1 to nel do
                 rez[k1]:=dis[i1];                           begin
         end;                                                  for j1:=1 to nue do
end;                                                           begin
Procedure PRAV;                                                   l1:=l1+1;
  var k1,nq,ic:integer;                                           rz[iel,j1]:=x1[l1];
begin                                                          end;
  repeat                                                         l1:=l1-1
      write('Введите номер узла:'); readln(nq);              end;
      write('Введите компоненты усилия:');               writeln('Массив перемещений, разделенный по узлам:');
      read(r1[1]);                                       for iel:=1 to nel do
      writeln;                                           begin
       rez[nq]:=rez[nq]+r1[1]                              for j1:=1 to nue do
  until nq>=nuz;                                           write(' ',rz[iel,j1]:5:3);
end;                                                       writeln;
Procedure SISTEM;                                         end;
 var i1,j1,k1,l1:integer;                              end;
   x1:array[1..nuz] of real;                           Procedure STRESS;
   q1:real;                                               var j1:integer;
begin                                                   begin
  for i1:=1 to nuz do                                     for iel:=1 to nel do
   for j1:=i1+1 to nuz do                                 begin{1}