ВУЗ:
Составители:
117
3.4. Программа реализации МКЭ на ЭВМ
Program MCE;
Uses crt;
const nue=2;
nel=4; {число конечных элементов}
nuz=5; {число узлов ансамбля элементов}
ndis=1;{число узлов,в которых заданы перемещения}
type mas1=array[1..nel] of real;
mas3=array[1..nel,1..nue] of integer;
mas5=array[1..nue,1..nue] of real;
mas7=array[1..nuz,1..nuz] of real;
mas8=array[1..nuz] of real;
mas9=array[1..ndis] of integer;
mas10=array[1..ndis] of real;
mas12=array[1..nue] of real;
mas14=array[1..nel,1..nue] of real;
var iel,i,j:integer;
ar,dl,ee,defor,sigma:mas1;
nug:mas3;
se:mas5; sgl:mas7;
rez:mas8; nsd:mas9; dis:mas10;
r1:mas12;
bb,rz:mas14;
const
kdl:mas1=(1.0,1.0,1.0,1.0);
kee:mas1=(1.0,1.0,1.0,1.0);
knug:mas3=((1,2),
(2,3),
(3,4),
(4,5));
knsd:mas9=(1);
kdis:mas10=(0.0);
kar:mas1=(2.0,2.0,1.0,1.0);
procedure MEL;
var j1,k1,l1:integer;
118
efl,q0,ps:real;
begin
efl:=ee[iel]*ar[iel]/dl[iel];
for j1:=1 to nue do
for k1:=1 to nue do se[j1,k1]:=0.0;
se[1,1]:=efl;
se[1,2]:=-efl;
se[2,1]:=-efl;
se[2,2]:=efl;
for j1:=1 to nue do
begin
writeln;
for k1:=1 to nue do
write(se[j1,k1]:5:1);
end;
readln;
readln(q0);
r1[1]:=0.5*q0*dl[iel];
r1[2]:=0.5*q0*dl[iel];
for j1:=1 to nue do
write(' ',r1[j1]:5:3);
readln;
end;
Procedure MGL;
var j1,k1,l1,m1,n1:integer;
begin
for j1:=1 to nue do
begin
l1:=nug[iel,j1];
rez[l1]:=rez[l1]+r1[j1];
for k1:=1 to nue do
begin
n1:=nug[iel,k1];
sgl[l1,n1]:=sgl[l1,n1]+se[j1,k1]
end
end;
117 118
3.4. Программа реализации МКЭ на ЭВМ efl,q0,ps:real;
begin
Program MCE; efl:=ee[iel]*ar[iel]/dl[iel];
Uses crt; for j1:=1 to nue do
const nue=2; for k1:=1 to nue do se[j1,k1]:=0.0;
nel=4; {число конечных элементов} se[1,1]:=efl;
nuz=5; {число узлов ансамбля элементов} se[1,2]:=-efl;
ndis=1;{число узлов,в которых заданы перемещения} se[2,1]:=-efl;
type mas1=array[1..nel] of real; se[2,2]:=efl;
mas3=array[1..nel,1..nue] of integer; for j1:=1 to nue do
mas5=array[1..nue,1..nue] of real; begin
mas7=array[1..nuz,1..nuz] of real; writeln;
mas8=array[1..nuz] of real; for k1:=1 to nue do
mas9=array[1..ndis] of integer; write(se[j1,k1]:5:1);
mas10=array[1..ndis] of real; end;
mas12=array[1..nue] of real; readln;
mas14=array[1..nel,1..nue] of real; readln(q0);
var iel,i,j:integer; r1[1]:=0.5*q0*dl[iel];
ar,dl,ee,defor,sigma:mas1; r1[2]:=0.5*q0*dl[iel];
nug:mas3; for j1:=1 to nue do
se:mas5; sgl:mas7; write(' ',r1[j1]:5:3);
rez:mas8; nsd:mas9; dis:mas10; readln;
r1:mas12; end;
bb,rz:mas14; Procedure MGL;
const var j1,k1,l1,m1,n1:integer;
kdl:mas1=(1.0,1.0,1.0,1.0); begin
kee:mas1=(1.0,1.0,1.0,1.0); for j1:=1 to nue do
knug:mas3=((1,2), begin
(2,3), l1:=nug[iel,j1];
(3,4), rez[l1]:=rez[l1]+r1[j1];
(4,5)); for k1:=1 to nue do
knsd:mas9=(1); begin
kdis:mas10=(0.0); n1:=nug[iel,k1];
kar:mas1=(2.0,2.0,1.0,1.0); sgl[l1,n1]:=sgl[l1,n1]+se[j1,k1]
procedure MEL; end
var j1,k1,l1:integer; end;
Страницы
- « первая
- ‹ предыдущая
- …
- 57
- 58
- 59
- 60
- 61
- …
- следующая ›
- последняя »
