16.01.2015 Views

Mathcad - krata3t

Mathcad - krata3t

Mathcad - krata3t

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Statyka kratownicy stalowej o 3 różnych przekrojach prętów obciążonej temperaturą<br />

ORIGIN := 1 - Ustawienie sposobu numeracji wierszy i kolumn macierzy<br />

E<br />

:= 69GPa - Moduł Younga aluminium<br />

α t := 5 ⋅ 10 − 5 - Współczynnik rozszerzalności cieplnej aluminium<br />

A1 := π ⋅ 4 ⋅ ( 50 − 4)<br />

mm 2 - Pole powierzchni przekroju elementów 1...3<br />

A2 := π ⋅ 3 ⋅ ( 40 − 3)<br />

mm 2 - Pole powierzchni przekroju elementów 4...8<br />

Parametry pomocnicze:<br />

Lss := 2 - Liczba stopni swobody węzła<br />

Le := 8 - Liczba elementów<br />

Lw := 5 - Liczba węzłów<br />

Lr<br />

:= Lss ⋅ Lw - Liczba równań<br />

K oLr := 0<br />

, Lr<br />

Deklaracja globalnej macierzy sztywności i wypełnienie jej zerami<br />

pT oLr := 0 Deklaracja globalnego wektora obciążeń termicznych i wypełnienie go zerami


Funkcja LBM - Lokuj Blok Macierzy, używana przy agregacji macierzy sztywności i wektora obciążeń termicznych<br />

LBM ( A , B , w , k)<br />

:=<br />

for i ∈ 0 .. rows( B) − 1<br />

for j ∈ 0 .. cols( B) − 1<br />

A w+ i , k+<br />

j ← B 1+ i , 1+<br />

j<br />

A


Współrzędne węzłów kratownicy<br />

X<br />

0<br />

3<br />

5<br />

7<br />

10<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

m<br />

:= Y<br />

0<br />

2<br />

0<br />

3<br />

0<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

m<br />

:=<br />

Numery węzłów początkowych (Wp) i<br />

końcowych (Wk) elementów<br />

Przyrost temperatury elementów<br />

Przekroje elementów<br />

Wp<br />

1<br />

2<br />

4<br />

1<br />

3<br />

2<br />

2<br />

3<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

:= Wk<br />

2<br />

4<br />

5<br />

3<br />

5<br />

3<br />

5<br />

4<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

:=<br />

T<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

50<br />

0<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

:= A<br />

A1<br />

A1<br />

A1<br />

A2<br />

A2<br />

A2<br />

A2<br />

A2<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

:=


e := 1 .. Le Pętla po wszystkich elementach kratownicy<br />

Rysunek elementów kratownicy pozwala kontrolować poprawność wprowadzonych danych<br />

⎡<br />

X Y<br />

( Wpe )<br />

Ex<br />

⎢<br />

( Wpe )<br />

e := Ey<br />

⎢<br />

e :=<br />

⎢ ⎥ Ex, Ey - współrzędne węzłów elementów kratownicy<br />

X ⎢Y Wke<br />

Wke<br />

Ey 1<br />

⎣<br />

( )<br />

⎤ ⎥<br />

⎥<br />

⎦<br />

4<br />

⎡<br />

⎣<br />

( )<br />

⎤<br />

⎥<br />

⎦<br />

Ey 2<br />

3<br />

Ey 3<br />

Ey 4<br />

2<br />

Ey 5<br />

Ey 6<br />

Ey 7<br />

1<br />

− 1 0 1 2 3 4 5 6 7 8 9 10 11<br />

Ey 8<br />

− 1<br />

Ex 1 , Ex 2 , Ex 3 , Ex 4 , Ex 5 , Ex 6 , Ex 7 , Ex 8


Macierze sztywności elementów kratownicy<br />

Lx e := X Wke<br />

− X Wpe<br />

Ly e := Y Wke<br />

− Y Wpe<br />

L e := Lx e<br />

( )<br />

( )<br />

( )<br />

( )<br />

( ) 2 + ( Ly e ) 2<br />

1<br />

1<br />

1<br />

1<br />

2<br />

3.000<br />

4.000<br />

1<br />

2<br />

2.000<br />

1.000<br />

1<br />

2<br />

3.606<br />

4.123<br />

Lx<br />

3<br />

4<br />

3.000<br />

= m<br />

Ly<br />

5.000<br />

5 5.000<br />

6 2.000<br />

3<br />

4<br />

-3.000<br />

= m<br />

L<br />

0.000<br />

5 0.000<br />

6 -2.000<br />

=<br />

3<br />

4<br />

5<br />

6<br />

4.243<br />

5.000<br />

5.000<br />

2.828<br />

m<br />

J e :=<br />

⎡<br />

( ) 2<br />

E ⋅ A e Lx<br />

⎢ e<br />

( L e ) 3 ⋅<br />

⎢<br />

Lx e ⋅ Ly e<br />

⎣<br />

Lx e ⋅ Ly e<br />

( Ly e ) 2<br />

⎤<br />

⎥<br />

⎥<br />

⎦<br />

7<br />

7.000<br />

7<br />

-2.000<br />

7<br />

7.280<br />

8<br />

2.000<br />

8<br />

3.000<br />

8<br />

3.606<br />

Mimo, że nie jest to potrzebne w dalczych obliczeniach, można pokazać bloki J macierzy sztywności wszystkich elementów<br />

⎛<br />

7658.5 5105.7<br />

9104.7 2276.2 kN<br />

4700.6<br />

J 1 = ⎜<br />

⋅<br />

J 2 = ⎜<br />

⎟ ⋅<br />

J 3 = ⎜<br />

5105.7 3403.8 m<br />

2276.2 569.0 m<br />

−4700.6<br />

⎝<br />

⎞ ⎟⎠<br />

kN<br />

⎛<br />

⎝<br />

⎞<br />

⎠<br />

⎛<br />

⎝<br />

−4700.6<br />

4700.6<br />

⎞<br />

⎟<br />

⎠<br />

⋅<br />

kN<br />

m<br />

⎛<br />

4812.3 0.0<br />

4812.3 0.0 kN<br />

4253.5<br />

J 4 = ⎜<br />

⋅<br />

J 5 = ⎜<br />

⎟ ⋅<br />

J 6 = ⎜<br />

0.0 0.0 m<br />

0.0 0.0 m<br />

−4253.5<br />

⎝<br />

⎞ ⎟⎠<br />

kN<br />

⎛<br />

⎝<br />

⎞<br />

⎠<br />

⎛<br />

⎝<br />

−4253.5<br />

4253.5<br />

⎞<br />

⎟<br />

⎠<br />

⋅<br />

kN<br />

m<br />

⎛<br />

3055.7 −873.0<br />

2053.4<br />

J 7 = ⎜<br />

⋅<br />

J 8 = ⎜<br />

−873.0 249.4 m<br />

3080.1<br />

⎝<br />

⎞ ⎟⎠<br />

kN<br />

⎛<br />

⎝<br />

3080.1<br />

4620.1<br />

⎞<br />

⎟<br />

⎠<br />

⋅<br />

kN<br />

m


Agregacja, czyli dodawanie bloków macierzy sztywności elementów do macierzy globalnej<br />

n e := Lss⋅ Wp e − 1 k e Lss⋅ Wk e − 1<br />

:=


Globalny wektor sił węzłowych<br />

Rzutowanie siły w węźle 6 na osie globalnego układu współrzędnych<br />

Fx 4 := −6kN⋅ sin ( 32deg)<br />

= −3.180⋅<br />

kN<br />

p<br />

:=<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

Fx 4<br />

Fy 4<br />

0<br />

0<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

p =<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

1<br />

0.000<br />

0.000<br />

0.000<br />

0.000<br />

0.000<br />

0.000<br />

-3.180<br />

-5.088<br />

0.000<br />

0.000<br />

⋅ kN<br />

Fy 4 := −6kN⋅ cos ( 32deg)<br />

= −5.088⋅<br />

kN


- siły węzłowe wywołane temperaturą w elemencie "e"<br />

t e :=<br />

α t ⋅ T e<br />

⋅<br />

E ⋅ A e<br />

L e<br />

⎛<br />

⎜<br />

⎜<br />

⎝<br />

Lx e<br />

Ly e<br />

⎞<br />

⎟<br />

⎟<br />

⎠<br />

Agregacja wektora obciążeń termicznych pT (metodą podobną do stosowanej w agregacji macierzy sztywności)<br />

pT :=<br />

LBM ( pT o , t e , n e , 1 ) − LBM pT o , t e , k e ,<br />

∑ ( ( 1)<br />

)<br />

e<br />

pT T =<br />

1 2 3 4 5 6 7 8 9 10<br />

1 0.000 0.000 57.839 -16.525 0.000 0.000 0.000 0.000 -57.839 16.525<br />

⋅ kN


Kopiowanie Macierzy K i wektora p przed modyfikacją uwzględniającą warunki brzegowe<br />

K o := K p o := p − pT<br />

Uwzględnienie warunków brzegowych<br />

Lwb := 5 - liczba warunków brzegowych<br />

s<br />

⎛<br />

⎜<br />

1<br />

⎜<br />

2<br />

⎟<br />

:= - globalne numery przemieszczeń węzłów<br />

⎜ 9 blokowanych na podporach<br />

⎜<br />

⎝<br />

10<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

i := 1 .. Lr j := 1 .. rows( s)<br />

K osj<br />

, i<br />

K oi<br />

, sj<br />

:= 0 zerowanie wierszy<br />

:= 0 zerowanie kolumn<br />

K osj<br />

, s j<br />

:=<br />

1 kN<br />

m<br />

wstawianie jedności na przekątną<br />

macierzy sztywności<br />

p o<br />

( sj )<br />

:= 0 zerowanie wartości w wektorze "prawej strony"


1 2 3 4 5 6 7 8 9 10<br />

1<br />

2<br />

3<br />

4<br />

K o =<br />

5<br />

1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0<br />

0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0<br />

0.0 0.0 24072.3 2255.3 -4253.5 4253.5 -9104.7 -2276.2 0.0 0.0<br />

0.0 0.0 2255.3 8475.8 4253.5 -4253.5 -2276.2 -569.0 0.0 0.0<br />

0.0 0.0 -4253.5 4253.5 15931.5 -1173.5 -2053.4 -3080.1 0.0 0.0<br />

6<br />

7<br />

8<br />

9<br />

10<br />

0.0<br />

0.0<br />

0.0<br />

0.0<br />

0.0<br />

0.0<br />

0.0<br />

0.0<br />

0.0<br />

0.0<br />

4253.5<br />

-9104.7<br />

-2276.2<br />

0.0<br />

0.0<br />

-4253.5<br />

-2276.2<br />

-569.0<br />

0.0<br />

0.0<br />

-1173.5<br />

-2053.4<br />

-3080.1<br />

0.0<br />

0.0<br />

8873.6<br />

-3080.1<br />

-4620.1<br />

0.0<br />

0.0<br />

-3080.1<br />

15858.6<br />

655.6<br />

0.0<br />

0.0<br />

-4620.1<br />

655.6<br />

9889.7<br />

0.0<br />

0.0<br />

0.0<br />

0.0<br />

0.0<br />

1.0<br />

0.0<br />

0.0<br />

0.0<br />

0.0<br />

0.0<br />

1.0<br />

⋅<br />

kN<br />

m<br />

K o ⋅ 1<br />

m<br />

kN<br />

= 7.548 × 10 23 - wyznacznik macierzy K o jest zawsze większy od zera, |K o |> 0<br />

T<br />

p<br />

1 2 3 4 5 6 7 8 9 10<br />

o =<br />

1 0.000 0.000 -57.839 16.525 0.000 0.000 -3.180 -5.088 0.000 0.000<br />

⋅ kN


( )<br />

Rozwiązanie układu równań: u := lsolve K o , p o<br />

u - wektor przemieszczeń węzłowych<br />

u T =<br />

1 2 3 4 5 6 7 8 9 10<br />

1 0.0000 0.0000 -4.9655 6.7195 -2.9459 4.7396 -1.5530 0.1290 0.0000 0.0000<br />

⋅ mm<br />

Rysunek przemieszczeń kratownicy pozwala kontrolować poprawność otrzymanych wyników<br />

skala := 100<br />

⎡<br />

u<br />

( 2 ⋅ Wpe −1)<br />

Dx e := Ex e + skala⋅<br />

⎢ ⎥<br />

Dy<br />

⎢<br />

e := Ey e + skala⋅<br />

u 2 ⋅ Wke −1<br />

⎣<br />

( )<br />

⎤<br />

⎥<br />

⎦<br />

⎡<br />

⎢<br />

⎢<br />

⎣<br />

u<br />

( 2 ⋅ Wpe )<br />

u<br />

( 2 ⋅ Wke )<br />

⎤<br />

⎥<br />

⎥<br />


4<br />

Ey 1<br />

Ey 2<br />

Ey 3<br />

Ey 4<br />

3<br />

Ey 5<br />

Ey 6<br />

Ey 7<br />

Ey 8<br />

2<br />

Dy 1<br />

Dy 2<br />

Dy 3<br />

Dy 4<br />

1<br />

Dy 5<br />

Dy 6<br />

Dy 7<br />

− 1<br />

0 1 2 3 4 5 6 7 8 9 10<br />

Dy 8<br />

− 1<br />

Ex 1 , Ex 2 , Ex 3 , Ex 4 , Ex 5 , Ex 6 , Ex 7 , Ex 8 , Dx 1 , Dx 2 , Dx 3 , Dx 4 , Dx 5 , Dx 6 , Dx 7 , Dx 8


Obliczenie reakcji podpór<br />

r<br />

:=<br />

K ⋅ u<br />

− p + pT<br />

r T =<br />

1 2 3 4 5 6 7 8 9 10 11 12 13 14<br />

1 17.897 2.480 -0.000 -0.000 -0.000 0.000 0.000 -0.000 -14.717 2.608<br />

⋅ kN<br />

Obliczenie sił wewnętrznych<br />

N e :=<br />

E ⋅ A e<br />

( L e ) 2 ⋅ ⎡ u 2 ⋅ Wke<br />

− u<br />

⎣ −1<br />

2 ⋅ Wpe −1<br />

( ) ⋅ Lx e<br />

+ ( u 2 ⋅ Wke<br />

− u 2 ⋅ Wpe ) ⋅ Ly e<br />

⎤<br />

⎦<br />

−<br />

α t ⋅ T e<br />

⋅ E ⋅ A e<br />

30<br />

N =<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

1<br />

-4.471<br />

16.562<br />

11.181<br />

-14.176<br />

14.176<br />

24.058<br />

-38.273<br />

-20.445<br />

⋅ kN<br />

N e<br />

kN<br />

20<br />

10<br />

0<br />

− 10<br />

− 20<br />

− 30<br />

− 40<br />

0 1 2 3 4 5 6 7 8 9<br />

e


Obliczenie naprężeń<br />

σ e :=<br />

( ) ⋅ Lx e<br />

E<br />

( L e ) 2 ⋅ ⎡ u 2 ⋅ Wke<br />

− u<br />

⎣ −1<br />

2 ⋅ Wpe −1<br />

+ ( u 2 ⋅ Wke<br />

− u 2 ⋅ Wpe ) ⋅ Ly e<br />

⎤<br />

⎦<br />

−<br />

α t ⋅ T e<br />

⋅ E<br />

80<br />

1<br />

60<br />

σ =<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

-7.735<br />

28.652<br />

19.343<br />

-40.653<br />

40.653<br />

68.990<br />

-109.753<br />

-58.630<br />

⋅ MPa<br />

σ e<br />

MPa<br />

40<br />

20<br />

0<br />

− 20<br />

− 40<br />

− 60<br />

− 80<br />

− 100<br />

− 120<br />

0 1 2 3 4 5 6 7 8 9<br />

e

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!