• Nie Znaleziono Wyników

Rozwiązanie ramy przy pomocy pakietu CALFEM

N/A
N/A
Protected

Academic year: 2021

Share "Rozwiązanie ramy przy pomocy pakietu CALFEM"

Copied!
28
0
0

Pełen tekst

(1)

Rozwiązanie ramy przy pomocy pakietu CALFEM

Piotr Pluciński

Instytut Technologii Informatycznych w Inżynierii Lądowej

Politechnika Krakowska

marzec 2009

(2)

Temat zadania

(3)

Dyskretyzacja

(4)

Skrypt - rama.m

function rama()

% definicja macierzy stopni

% swobody dla elementów Edof=[1 1 2 3 4 5 6 ;

2 4 5 6 7 8 9; 3 7 8 9 10 11 12];

% macierz współrzędnych

% węzłów

Coord=[0 0; 1.5 2; 3 4; 6 0];

% macierz stopni swobody Dof=[1 2 3; 4 5 6;

7 8 9; 10 11 12];

% obliczenie wektorów współ-

% rzędnych dla elementów

[Ex,Ey]=coordxtr(Edof,Coord,Dof,2);

(5)

Skrypt - rama.m

function rama()

% definicja macierzy stopni

% swobody dla elementów Edof=[1 1 2 3 4 5 6 ;

2 4 5 6 7 8 9;

3 7 8 9 10 11 12];

% macierz współrzędnych

% węzłów

Coord=[0 0; 1.5 2; 3 4; 6 0];

% macierz stopni swobody Dof=[1 2 3; 4 5 6;

7 8 9; 10 11 12];

% obliczenie wektorów współ-

% rzędnych dla elementów

[Ex,Ey]=coordxtr(Edof,Coord,Dof,2);

(6)

Skrypt - rama.m

function rama()

% definicja macierzy stopni

% swobody dla elementów Edof=[1 1 2 3 4 5 6 ;

2 4 5 6 7 8 9;

3 7 8 9 10 11 12];

% macierz współrzędnych

% węzłów

Coord=[0 0; 1.5 2; 3 4; 6 0];

% macierz stopni swobody Dof=[1 2 3; 4 5 6;

7 8 9; 10 11 12];

% obliczenie wektorów współ-

% rzędnych dla elementów

[Ex,Ey]=coordxtr(Edof,Coord,Dof,2);

(7)

Skrypt - rama.m

function rama()

% definicja macierzy stopni

% swobody dla elementów Edof=[1 1 2 3 4 5 6 ;

2 4 5 6 7 8 9;

3 7 8 9 10 11 12];

% macierz współrzędnych

% węzłów

Coord=[0 0; 1.5 2; 3 4; 6 0];

% macierz stopni swobody Dof=[1 2 3; 4 5 6;

7 8 9; 10 11 12];

% obliczenie wektorów współ-

% rzędnych dla elementów

[Ex,Ey]=coordxtr(Edof,Coord,Dof,2);

(8)

Skrypt - rama.m

function rama()

% definicja macierzy stopni

% swobody dla elementów Edof=[1 1 2 3 4 5 6 ;

2 4 5 6 7 8 9;

3 7 8 9 10 11 12];

% macierz współrzędnych

% węzłów

Coord=[0 0; 1.5 2; 3 4; 6 0];

% macierz stopni swobody Dof=[1 2 3; 4 5 6;

7 8 9; 10 11 12];

% obliczenie wektorów współ-

% rzędnych dla elementów

[Ex,Ey]=coordxtr(Edof,Coord,Dof,2);

(9)

Skrypt - rama.m

% stałe materiałowe E=2e7;

I=1e-4;

A=0.03;

ep=[E,A,I];

K=zeros(12); F=zeros(12,1);

% uwzględnienie sił węzłowych F(4)=100;

F(9)=50;

(10)

Skrypt - rama.m

% stałe materiałowe E=2e7;

I=1e-4;

A=0.03;

ep=[E,A,I];

K=zeros(12);

F=zeros(12,1);

% uwzględnienie sił węzłowych F(4)=100;

F(9)=50;

(11)

Skrypt - rama.m

% stałe materiałowe E=2e7;

I=1e-4;

A=0.03;

ep=[E,A,I];

K=zeros(12);

F=zeros(12,1);

% uwzględnienie sił węzłowych F(4)=100;

F(9)=50;

(12)

Zastępnik

eq=[4.8,-3.6]

(13)

Skrypt - rama.m

% wykonanie rysunku ramy eldraw2(Ex,Ey, [1,2,2]);

% obliczenie macierzy sztywności dla elementów Ke1=beam2e(Ex(1,:),Ey(1,:),ep);

Ke2=beam2e(Ex(2,:),Ey(2,:),ep);

[Ke3,Fe3]=beam2e(Ex(3,:),Ey(3,:),ep,eq);

% agregacja macierzy sztywności i wektora obciążenia K=assem(Edof(1,:),K,Ke1);

K=assem(Edof(2,:),K,Ke2);

[K,F]=assem(Edof(3,:),K,Ke3,F,Fe3);

% uwzględnienie warunków brzegowych bc=[ 1 0; 2 0; 3 0; 10 0; 11 0; 12 0];

(14)

Skrypt - rama.m

% wykonanie rysunku ramy eldraw2(Ex,Ey, [1,2,2]);

% obliczenie macierzy sztywności dla elementów Ke1=beam2e(Ex(1,:),Ey(1,:),ep);

Ke2=beam2e(Ex(2,:),Ey(2,:),ep);

[Ke3,Fe3]=beam2e(Ex(3,:),Ey(3,:),ep,eq);

% agregacja macierzy sztywności i wektora obciążenia K=assem(Edof(1,:),K,Ke1);

K=assem(Edof(2,:),K,Ke2);

[K,F]=assem(Edof(3,:),K,Ke3,F,Fe3);

% uwzględnienie warunków brzegowych bc=[ 1 0; 2 0; 3 0; 10 0; 11 0; 12 0];

(15)

Skrypt - rama.m

% wykonanie rysunku ramy eldraw2(Ex,Ey, [1,2,2]);

% obliczenie macierzy sztywności dla elementów Ke1=beam2e(Ex(1,:),Ey(1,:),ep);

Ke2=beam2e(Ex(2,:),Ey(2,:),ep);

[Ke3,Fe3]=beam2e(Ex(3,:),Ey(3,:),ep,eq);

% agregacja macierzy sztywności i wektora obciążenia K=assem(Edof(1,:),K,Ke1);

K=assem(Edof(2,:),K,Ke2);

[K,F]=assem(Edof(3,:),K,Ke3,F,Fe3);

% uwzględnienie warunków brzegowych bc=[ 1 0; 2 0; 3 0; 10 0; 11 0; 12 0];

(16)

Skrypt - rama.m

% wykonanie rysunku ramy eldraw2(Ex,Ey, [1,2,2]);

% obliczenie macierzy sztywności dla elementów Ke1=beam2e(Ex(1,:),Ey(1,:),ep);

Ke2=beam2e(Ex(2,:),Ey(2,:),ep);

[Ke3,Fe3]=beam2e(Ex(3,:),Ey(3,:),ep,eq);

% agregacja macierzy sztywności i wektora obciążenia K=assem(Edof(1,:),K,Ke1);

K=assem(Edof(2,:),K,Ke2);

[K,F]=assem(Edof(3,:),K,Ke3,F,Fe3);

% uwzględnienie warunków brzegowych bc=[ 1 0; 2 0; 3 0; 10 0; 11 0; 12 0];

(17)

Skrypt - rama.m

% wyliczenie wektora przemieszczeń i reakcji [Q,R ]=solveq(K,F,bc)

%przemieszczenia węzłów dla poszczególnych elementów Qe=extract(Edof,Q);

% powrót do elementu - obliczenie sił przywęzłowych f1=beam2s(Ex(1,:),Ey(1,:),ep,Qe(1,:))

f2=beam2s(Ex(2,:),Ey(2,:),ep,Qe(2,:)) f3=beam2s(Ex(3,:),Ey(3,:),ep,Qe(3,:),eq)

% wykonanie rysunku odkształconej ramy eldisp2(Ex,Ey,Qe,[1,4,1]);

(18)

Skrypt - rama.m

% wyliczenie wektora przemieszczeń i reakcji [Q,R ]=solveq(K,F,bc)

%przemieszczenia węzłów dla poszczególnych elementów Qe=extract(Edof,Q);

% powrót do elementu - obliczenie sił przywęzłowych f1=beam2s(Ex(1,:),Ey(1,:),ep,Qe(1,:))

f2=beam2s(Ex(2,:),Ey(2,:),ep,Qe(2,:)) f3=beam2s(Ex(3,:),Ey(3,:),ep,Qe(3,:),eq)

% wykonanie rysunku odkształconej ramy eldisp2(Ex,Ey,Qe,[1,4,1]);

(19)

Skrypt - rama.m

% wyliczenie wektora przemieszczeń i reakcji [Q,R ]=solveq(K,F,bc)

%przemieszczenia węzłów dla poszczególnych elementów Qe=extract(Edof,Q);

% powrót do elementu - obliczenie sił przywęzłowych f1=beam2s(Ex(1,:),Ey(1,:),ep,Qe(1,:))

f2=beam2s(Ex(2,:),Ey(2,:),ep,Qe(2,:)) f3=beam2s(Ex(3,:),Ey(3,:),ep,Qe(3,:),eq)

% wykonanie rysunku odkształconej ramy eldisp2(Ex,Ey,Qe,[1,4,1]);

(20)

Skrypt - rama.m

% wyliczenie wektora przemieszczeń i reakcji [Q,R ]=solveq(K,F,bc)

%przemieszczenia węzłów dla poszczególnych elementów Qe=extract(Edof,Q);

% powrót do elementu - obliczenie sił przywęzłowych f1=beam2s(Ex(1,:),Ey(1,:),ep,Qe(1,:))

f2=beam2s(Ex(2,:),Ey(2,:),ep,Qe(2,:)) f3=beam2s(Ex(3,:),Ey(3,:),ep,Qe(3,:),eq)

% wykonanie rysunku odkształconej ramy eldisp2(Ex,Ey,Qe,[1,4,1]);

(21)

Wyniki

Q= R= f1=

0 -69.3890 43.7836 -53.8986 -73.2148

0 -2.6878 43.7836 -53.8986 61.5316

0 73.2148

0.0355 0.0000 f2=

-0.0264 -0.0000

-0.0073 -0.0000 -16.2164 26.1014 61.5316

0.0003 0.0000 -16.2164 26.1014 -3.7219

-0.0001 0.0000

0.0288 0.0000 f3=

0 -30.6110

0 32.6878 -20.5168 -22.8761 -53.7219

0 15.6586 -44.5168 -4.8761 15.6586

(22)

Znakowanie sił w ES

klasyczny MES CALFEM

(23)

Skrypt - rama.m - wykresy

% powrót do elementu - obliczenie sił przywęzłowych f1=beam2s(Ex(1,:),Ey(1,:),ep,Qe(1,:),[0,0],7) f2=beam2s(Ex(2,:),Ey(2,:),ep,Qe(2,:),[0,0],7) f3=beam2s(Ex(3,:),Ey(3,:),ep,Qe(3,:),eq,21)

% rysunek okształconej ramy figure(1)

eldraw2(Ex,Ey, [1,2,2]); eldisp2(Ex,Ey,Qe,[1,4,1]); axis([-1 7 -1 5]);

title(’przemieszczenia’) plotpar=[2 1];

(24)

Skrypt - rama.m - wykresy

% powrót do elementu - obliczenie sił przywęzłowych f1=beam2s(Ex(1,:),Ey(1,:),ep,Qe(1,:),[0,0],7) f2=beam2s(Ex(2,:),Ey(2,:),ep,Qe(2,:),[0,0],7) f3=beam2s(Ex(3,:),Ey(3,:),ep,Qe(3,:),eq,21)

% rysunek okształconej ramy figure(1)

eldraw2(Ex,Ey, [1,2,2]);

eldisp2(Ex,Ey,Qe,[1,4,1]);

axis([-1 7 -1 5]);

title(’przemieszczenia’) plotpar=[2 1];

(25)

Skrypt - rama.m - wykresy

% Siły podłużne figure(2)

scal=scalfact2(Ex(3,:),Ey(3,:),f3(:,1),0.35);

eldia2(Ex(1,:),Ey(1,:),f1(:,1),plotpar,scal);

eldia2(Ex(2,:),Ey(2,:),f2(:,1),plotpar,scal);

eldia2(Ex(3,:),Ey(3,:),f3(:,1),plotpar,scal);

axis([-1 7 -1 5]) title(’sily podluzne’)

% Siły poprzeczne figure(3)

scal=scalfact2(Ex(1,:),Ey(1,:),f1(:,2),0.35); eldia2(Ex(1,:),Ey(1,:),f1(:,2),plotpar,scal); eldia2(Ex(2,:),Ey(2,:),f2(:,2),plotpar,scal); eldia2(Ex(3,:),Ey(3,:),f3(:,2),plotpar,scal); axis([-1 7 -1 5]);

title(’sily poprzeczne’)

(26)

Skrypt - rama.m - wykresy

% Siły podłużne figure(2)

scal=scalfact2(Ex(3,:),Ey(3,:),f3(:,1),0.35);

eldia2(Ex(1,:),Ey(1,:),f1(:,1),plotpar,scal);

eldia2(Ex(2,:),Ey(2,:),f2(:,1),plotpar,scal);

eldia2(Ex(3,:),Ey(3,:),f3(:,1),plotpar,scal);

axis([-1 7 -1 5]) title(’sily podluzne’)

% Siły poprzeczne figure(3)

scal=scalfact2(Ex(1,:),Ey(1,:),f1(:,2),0.35);

eldia2(Ex(1,:),Ey(1,:),f1(:,2),plotpar,scal);

eldia2(Ex(2,:),Ey(2,:),f2(:,2),plotpar,scal);

eldia2(Ex(3,:),Ey(3,:),f3(:,2),plotpar,scal);

axis([-1 7 -1 5]);

title(’sily poprzeczne’)

(27)

Skrypt - rama.m - wykresy

% Momenty figure(4)

scal=scalfact2(Ex(1,:),Ey(1,:),f1(:,3),0.35);

eldia2(Ex(1,:),Ey(1,:),f1(:,3),plotpar,scal);

eldia2(Ex(2,:),Ey(2,:),f2(:,3),plotpar,scal);

eldia2(Ex(3,:),Ey(3,:),f3(:,3),plotpar,scal);

axis([-1 7 -1 5]);

title(’momenty’);

(28)

Wykresy

Cytaty

Powiązane dokumenty

Uwaga: kierunek napięcia wyjściowego u 3 , a tym samym sposób dołączenia kondensatora (+,-) zależy od kierunku włączenia diody prostowniczej.. Uwaga: kierunek napięcia

Несмотря на все попытки Настасьи Филипповны хоть как-то „обра­ зить” Рогожина (она составляет ему реестрик для чтения), он не меняется ни

Institute for Computational Civil Engineering Cracow University of Technology.

User can have a single .octaverc file in his home directory (for me it is C:\Users\putanowr) or it is possible to have many such files, each for a directory we keep Octave

Rozwiązanie ramy przy pomocy pakietu CALFEM.

Na końcu tego ramienia zawieszony jest mały walec szklany, zaś na końcu drugiego ramienia wagi znajduje się walec metalowy z ostrzem, który równoważy masę

Określając stany łańcucha Markowa jako odpowiednio dobrane przedziały, w których może znaleźć się stopa zwrotu, poszukujemy takiego modelu, w którym prawdopodo-