Uniwersytet Zielonogórski Rok akademicki
Wydział Inżynierii Lądowej i Środowiska 2013/2014
Budownictwo
METODY OBLICZENIOWE
Ćw. nr 2. Metoda elementów skończonych dla zadania jednowymiarowego.
Dominik Wasyłyk
Grupa 21B
1 . Sformułowanie teoretyczne problemu.
Metoda elementów skończonych (MES) jest obecnie powszechnie stosowanym narzędziem obliczeń inżynierskich. Rozwiązanie problemu za pomocą metody elementów skończonych można podzielić na następujące etapy:
Dyskretyzacja – konstrukcja zostaje myślowo podzielona na pewną liczbę elementów skończonych
Zakłada się, że te połączone są ze sobą w skończonej liczbie punktów znajdujących się na obwodach. Najczęściej są to punkty narożne. Noszą one nazwę węzłów. Poszukiwane wartości wielkości fizycznych stanowią podstawowy układ niewiadomych
Obiera się pewne funkcje jednoznacznie określające stan przemieszczeń analizowanej wielkości fizycznej wewnątrz elementów skończonych, w zależności od wartości tych wielkości fizycznych w węzłach. Funkcje te noszą nazwę funkcji węzłowych lub funkcji kształtu.
Przyjęte funkcje przemieszczeń definiują jednoznacznie stan odkształceń wewnętrznych elementu. Odkształcenia te łącznie z odkształceniami początkowymi i własnościami fizycznymi materiału określają stan naprężeń w całym elemencie
Zostaje określony układ sił skupionych w węzłach równoważący napięcia na brzegach elementu oraz wszelkie inne siły. Równoważne siły skupione są funkcjami przemieszczeń węzłowych i znanych obciążeń zewnętrznych działających na element
Zostaje utworzony podstawowy układ równań MES z przemieszczeniami węzłów dyskretyzowanej konstrukcji jako niewiadomymi
K • u = f
Gdzie:
K – macierz sztywności dla całej konstrukcji
u – macierz niewiadomych przemieszczeń węzłowych
f – macierz obciążeń węzłowych
Po rozwiązaniu układu równań obliczane są przemieszczenia, odkształcenia i naprężenia we wszystkich elementach skończonych.
2 . Przykład liczbowy bez użycia komputera (n=3) – zginanie belki (sześcienne funkcje kształtu)
Dane;
materiał – beton E = 30 000 MPa
przekrój
schemat
dyskretyzacja
przyjęcie elementu i funkcji kształtu
$$N_{1} = 2\frac{x^{3}}{l^{3}} - \ 3\frac{x^{2}}{l^{2}} + 1$$
$$N_{2} = \frac{x^{3}}{l^{2}} - \ 2\frac{x^{2}}{l} + x$$
$$N_{3} = - 2\frac{x^{3}}{l^{3}} + \ 3\frac{x^{2}}{l^{2}}$$
$$N_{4} = \frac{x^{3}}{l^{2}} - \ \frac{x^{2}}{l}$$
macierz sztywności pojedynczego elementu skończonego
$$K^{e} = \left| \begin{matrix}
\begin{matrix}
\frac{12EI}{l^{3}} & \frac{6EI}{l^{2}} \\
\frac{6EI}{l^{2}} & \frac{4EI}{l} \\
\end{matrix} & \begin{matrix}
- \frac{12EI}{l^{3}} & \frac{6EI}{l^{2}} \\
- \frac{6EI}{l^{2}} & \frac{2EI}{l} \\
\end{matrix} \\
\begin{matrix}
- \frac{12EI}{l^{3}} & - \frac{6EI}{l^{2}} \\
\frac{6EI}{l^{2}} & \frac{2EI}{l} \\
\end{matrix} & \begin{matrix}
\frac{12EI}{l^{3}} & - \frac{6EI}{l^{2}} \\
- \frac{6EI}{l^{2}} & \frac{4EI}{l} \\
\end{matrix} \\
\end{matrix} \right|$$
globalna macierz sztywności dla całego elementu skończonego i układ równań MES.
$$\frac{12EI}{l_{1}^{3}}$$ |
$$\frac{6EI}{l_{1}^{2}}$$ |
$$- \frac{12EI}{l_{1}^{3}}$$ |
$$\frac{6EI}{l_{1}^{2}}$$ |
0 | 0 | 0 | 0 | x | w1 |
= | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|
$$\frac{6EI}{l_{1}^{2}}$$ |
$$\frac{4EI}{l_{1}}$$ |
$$- \frac{6EI}{l_{1}^{2}}$$ |
$$\frac{2EI}{l_{1}}$$ |
0 | 0 | 0 | 0 | φ2 |
0 | ||
$$- \frac{12EI}{l_{1}^{3}}$$ |
$$- \frac{6EI}{l_{1}^{2}}$$ |
$$\frac{12EI}{l_{1}^{3}} + \frac{12EI}{l_{2}^{3}}$$ |
$$- \frac{6EI}{l_{1}^{2}} + \frac{6EI}{l_{2}^{2}}$$ |
$$- \frac{12EI}{l_{2}^{3}}$$ |
$$\frac{6EI}{l_{2}^{2}}$$ |
0 | 0 | w3 |
52,5 | ||
$$\frac{6EI}{l_{1}^{2}}$$ |
$$\frac{2EI}{l_{1}}$$ |
$$- \frac{6EI}{l_{1}^{2}} + \frac{6EI}{l_{2}^{2}}$$ |
$$\frac{4EI}{l_{1}} + \frac{4EI}{l_{2}}$$ |
$$- \frac{6EI}{l_{2}^{2}}$$ |
$$\frac{2EI}{l_{2}}$$ |
0 | 0 | φ4 |
26,25 | ||
0 | 0 | $$- \frac{12EI}{l_{2}^{3}}$$ |
$$\frac{6EI}{l_{2}^{2}}$$ |
$$\frac{12EI}{l_{2}^{3}} + \frac{12EI}{l_{3}^{3}}$$ |
$$- \frac{6EI}{l_{2}^{2}} + \frac{6EI}{l_{3}^{2}}$$ |
$$- \frac{12EI}{l_{3}^{3}}$$ |
$$\frac{6EI}{l_{3}^{2}}$$ |
w5 |
0 | ||
0 | 0 | $$- \frac{6EI}{l_{2}^{2}}$$ |
$$\frac{2EI}{l_{2}}$$ |
$$- \frac{6EI}{l_{2}^{2}} + \frac{6EI}{l_{3}^{2}}$$ |
$$\frac{4EI}{l_{2}} + \frac{4EI}{l_{3}}$$ |
$$- \frac{6EI}{l_{3}^{2}}$$ |
$$\frac{2EI}{l_{3}}$$ |
φ6 |
-26,25 | ||
0 | 0 | 0 | 0 | $$- \frac{12EI}{l_{3}^{3}}$$ |
$$\frac{6EI}{l_{3}^{2}}$$ |
$$\frac{12EI}{l_{3}^{3}}$$ |
$$- \frac{6EI}{l_{3}^{2}}$$ |
w7 |
70 | ||
0 | 0 | 0 | 0 | $$- \frac{6EI}{l_{3}^{2}}$$ |
$$\frac{2EI}{l_{3}}$$ |
$$- \frac{6EI}{l_{3}^{2}}$$ |
$$\frac{4EI}{l_{3}}$$ |
φ8 |
0 |
e) uwzględnienie warunków brzegowych
K | * | u | = | f |
---|---|---|---|---|
1 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 0 | 0 |
0 | 0 | $$\frac{12EI}{l_{1}^{3}} + \frac{12EI}{l_{2}^{3}}$$ |
$$- \frac{6EI}{l_{1}^{2}} + \frac{6EI}{l_{2}^{2}}$$ |
0 |
0 | 0 | $$- \frac{6EI}{l_{1}^{2}} + \frac{6EI}{l_{2}^{2}}$$ |
$$\frac{4EI}{l_{1}} + \frac{4EI}{l_{2}}$$ |
0 |
0 | 0 | 0 |
0 |
1 |
0 | 0 | $$- \frac{6EI}{l_{2}^{2}}$$ |
$$\frac{2EI}{l_{2}}$$ |
0 |
0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | * | 0 | = | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
0 | 0 | 26250 | -11250 | 0 | 9000 | 0 | 0 | w3 |
52,5 | ||
0 | 0 | -11250 | 45000 | 0 | 9000 | 0 | 0 | φ4 |
26,25 | ||
0 | 0 | -0 | 0 | 1 | 39600 | -12960 | 10800 | w5 |
0 | ||
0 | 0 | 9000 | 9000 | 0 | -12960 | 10368 | -12960 | φ6 |
-26,25 | ||
0 | 0 | 0 | 0 | 0 | 10800 | -12960 | 21600 | 0 | 70 | ||
0 | 0 | 0 | 0 | 0 | 4800 | -5760 | 9600 | 0 | 0 |
f) wyznaczenie nieznanych przemieszczeń węzłów wg wzoru
u = K−1 * f
u = | 0 |
---|---|
0 | |
-0,002597778 | |
-0,002198519 | |
0 | |
0,010662037 | |
0,053661265 | |
0,026865741 |
g) wyznaczenie sił wewnętrznych wg wzoru e1 = K1 * u1, e2 = K2 * u2, e3 = K3 * u3
Gdzie:
K1, K3, K3 – macierz sztywności dla poszczególnego elementu skończonego
u1, u2, u3 – macierz wyznaczonych przemieszczeń węzłowych dla poszczególnego elementu skończonego
K1 |
* | u1 |
= | T/M |
---|---|---|---|---|
20250 |
20250 | -20250 | 20250 | * |
20250 | 27000 | -20250 | 13500 | |
-20250 | -9000 | 20250 | -20250 | |
20250 | 13500 | -20250 | 27000 |
K2 |
* | u2 |
= | T/M |
---|---|---|---|---|
6000 | 9000 | -6000 | 9000 | * |
9000 | 18000 | -9000 | 9000 | |
-6000 | -9000 | 6000 | -9000 | |
9000 | 9000 | -9000 | 18000 |
K3 |
* | u3 |
= | T/M |
---|---|---|---|---|
10368 | 12960 | -10368 | 12960 | * |
12960 | 21600 | -12960 | 10800 | |
-10368 | -12960 | 10368 | -12960 | |
12960 | 10800 | -12960 | 21600 |
h) wykresy sił wewnętrznych
Momenty zginające [kNm]
Siły Tnące [kN]
3 . Program komputerowy
opis przygotowania danych do programu
Dane do programu są wprowadzane bezpośrednio w kodzie źródłowym programu
wektor długości elementów skończonych
l = (/2.0, 3.0, 2.5/)
wektor obciążeń
FG = (/0.0, 0.0, 52.5,26.25,0.0,−26.25,70.0,0.0/)
sztywność giętna dla danego przekroju betonowego
ej=13500
deklarowanie macierzy sztywności
Ke(1, :)=(/(12.0 * ej)/l(e)* * 3, (6.0 * ej)/l(e)* * 2, ( − 12.0 * ej)/l(e)* * 3, (6.0 * ej)/l(e)* * 2/)
Ke(2, :)=(/(6.0 * ej)/l(e)* * 2, (4.0 * ej)/l(e),(−6.0 * ej)/l(e)* * 2, (2.0 * ej)/l(e)/)
Ke(3, :)=(/(−12.0 * ej)/l(e)* * 3, ( − 6.0 * ej)/l(e)* * 2, (12.0 * ej)/l(e)* * 3, ( − 6.0 * ej)/l(e)* * 2/)
Ke(4, :)=(/(6.0 * ej)/l(e)* * 2, (2.0 * ej)/l(e),(−6.0 * ej)/l(e)* * 2, (4.0 * ej)/l(e)/)
deklarowanie warunków brzegowych
kg(1, :)=0.
kg(:, 1)=0.
kg(1, 1)=1.
kg(2, :)=0.
kg(:, 2)=0.
kg(2, 2)=1.
kg(5, :)=0.
kg(:, 5)=0.
kg(5, 5)=1.
fg(1)=0.
fg(2)=0.
fg(5)=0.
b) wydruk treści programu
MODULE ModMES
!------------------------
! modul ELF90
!------------------------
! SUBROUTINE agre(w1,w2,Ke,Kg)
! agreg. mac. Ke do Kg blokami odpowiadajacymiwezlom w1 i w2
! SUBROUTINE rozw(A,B)
! rozw. ukl. rownan A X = B i podstawienie B=X
!-----------------------------------------------------------
contains
SUBROUTINE agre(w1,w2,Ke,Kg)
! agreg. mac. Ke do Kg blokami odpowiadajacymiwezlom w1 i w2
IMPLICIT NONE
REAL, INTENT(IN) :: Ke(:,:)
REAL, INTENT(IN OUT):: Kg(:,:)
INTEGER, INTENT(IN) :: w1,w2
INTEGER:: i,j,lsw,nwg,nkg,nwe,nke,W(2)
lsw=UBOUND(Ke,1)/2
W(1)=w1
W(2)=w2
DO i=1,2
DO j=1,2
nwg= (W(i)-1)*lsw+1
nkg= (W(j)-1)*lsw+1
nwe= (i-1)*lsw+1
nke= (j-1)*lsw+1
Kg(nwg:nwg+lsw-1,nkg:nkg+lsw-1)= Kg(nwg:nwg+lsw-1,nkg:nkg+lsw-1)+&
Ke(nwe:nwe+lsw-1,nke:nke+lsw-1)
END DO
END DO
RETURN
END SUBROUTINE agre
!---------------------------------------
SUBROUTINE rozw(A,B)
IMPLICIT NONE
! argumenty
REAL, INTENT(IN OUT) :: A(:,:) ! macierz
REAL, INTENT(IN OUT) :: B(:) ! wek.prawych stron i rozw.
INTEGER:: i,j,n ! n -rzad macierzy A
LOGICAL:: ok
REAL :: element, Wiersz(SIZE(B,1)),pivtol
n=SIZE(B,1)
ok=SIZE(A,1)== n .AND. SIZE(A,2)== n
IF (.NOT.ok) THEN
WRITE(*,*)' ****** Niewlasciwe wymiary macierzy ****** '
STOP
END IF
pivtol=MAXVAL(A)*1e-10
DO j=1,n
DO i=1,j-1
A(i+1:n,j)=A(i+1:n,j)-A(i,j)*A(i+1:n,i)
END DO
i=MAXVAL(MAXLOC(ABS(A(j:n,j))))+j-1
IF (ABS(A(i,j)) <pivtol) THEN
ok=.FALSE.
RETURN
END IF
IF (i.NE.j) THEN
Wiersz=A(j,:)
A(j,:)=A(i,:)
A(i,:)=Wiersz
element=B(j)
B(j)=B(i)
B(i)=element
END IF
A(j+1:n,j)=A(j+1:n,j)/A(j,j)
END DO
DO i=1,n-1
B(i+1:n)=B(i+1:n)-B(i)*A(i+1:n,i)
END DO
DO j=n,1,-1
B(j)=B(j)/A(j,j)
B(1:j-1)=B(1:j-1)-B(j)*A(1:j-1,j)
END DO
RETURN
END SUBROUTINE rozw
!---------------------------------------
END MODULE ModMES
program belka
Use ModMES
IMPLICIT NONE
REAL:: Ke(4,4), Kg(8,8), Fg(8), p, EJ, l(3), qe(4), Q_0(4), s(4)
integer:: i
Kg=0.0
p=70.0
l=(/2.0,3.0,2.5/)
EJ =13500
Fg=(/0.0,0.0,52.5,26.25,0.0,-26.25,70.0,0.0/)
DO i=1,3
Ke(1,:)=(/12*EJ/l(i)**3,6*EJ/l(i)**2,-12*EJ/l(i)**3,6*EJ/l(i)**2/)
Ke(2,:)=(/6*EJ/l(i)**2,4*EJ/l(i),-6*EJ/l(i)**2,2*EJ/l(i)/)
Ke(3,:)=(/-12*EJ/l(i)**3,-6*EJ/l(i)**2,12*EJ/l(i)**3,-6*EJ/l(i)**2/)
Ke(4,:)=(/6*EJ/l(i)**2,2*EJ/l(i),-6*EJ/l(i)**2,4*EJ/l(i)/)
CALL agre (i,i+1,Ke,Kg)
end do
Kg(1,:)=0.0
Kg(:,1)=0.0
Kg(1,1)=1.0
Kg(2,:)=0.0
Kg(:,2)=0.0
Kg(2,2)=1.0
Kg(5,:)=0.0
Kg(:,5)=0.0
Kg(5,5)=1.0
CALL rozw ( Kg,Fg)
Write(*,*)'Przemieszczenia'
Write(*,*) Fg
write(*,*)'SilyPrzywezlowe'
Ke(1,:)=(/12*EJ/l(1)**3,6*EJ/l(1)**2,-12*EJ/l(1)**3,6*EJ/l(1)**2/)
Ke(2,:)=(/6*EJ/l(1)**2,4*EJ/l(1),-6*EJ/l(1)**2,2*EJ/l(1)/)
Ke(3,:)=(/-12*EJ/l(1)**3,-6*EJ/l(1)**2,12*EJ/l(1)**3,-6*EJ/l(1)**2/)
Ke(4,:)=(/6*EJ/l(1)**2,2*EJ/l(1),-6*EJ/l(1)**2,4*EJ/l(1)/)
qe= Fg(1:4)
Q_0=(/0,0,0,0/)
s= MATMUL(qe,Ke)- Q_0
write(*,*)'Numer elementu 1'
write(*,*)s
Ke(1,:)=(/12*EJ/l(2)**3,6*EJ/l(2)**2,-12*EJ/l(2)**3,6*EJ/l(2)**2/)
Ke(2,:)=(/6*EJ/l(2)**2,4*EJ/l(2),-6*EJ/l(2)**2,2*EJ/l(2)/)
Ke(3,:)=(/-12*EJ/l(2)**3,-6*EJ/l(2)**2,12*EJ/l(2)**3,-6*EJ/l(2)**2/)
Ke(4,:)=(/6*EJ/l(2)**2,2*EJ/l(2),-6*EJ/l(2)**2,4*EJ/l(2)/)
qe = Fg(3:6)
Q_0=(/52.5,26.25,52.5,-26.25/)
s= MATMUL(qe,Ke)- Q_0
write(*,*)'Numer elementu 2'
write(*,*)s
Ke(1,:)=(/12*EJ/l(3)**3,6*EJ/l(3)**2,-12*EJ/l(3)**3,6*EJ/l(3)**2/)
Ke(2,:)=(/6*EJ/l(3)**2,4*EJ/l(3),-6*EJ/l(3)**2,2*EJ/l(3)/)
Ke(3,:)=(/-12*EJ/l(3)**3,-6*EJ/l(3)**2,12*EJ/l(3)**3,-6*EJ/l(3)**2/)
Ke(4,:)=(/6*EJ/l(3)**2,2*EJ/l(3),-6*EJ/l(3)**2,4*EJ/l(3)/)
qe= Fg(5:8)
Q_0=(/0,0,0,0/)
s= MATMUL(qe,Ke)- Q_0
write(*,*)'Numer elementu 3'
write(*,*)s
Read(*,*)
End Program belka
3 . Rozwiązanie numeryczne zadania
PRZEMIESZCZENIA I KATY OBROTU
0.0000000 0.0000000 -2.59777601E-03 -2.19851732E-03 0.0000000
1.06620332E-02 5.36612533 E-02 2.68657357E-02
WARTOŚCI SIL WEWNETRZNYCH
1 8.0849895 22.924982 -8. 0849895 -6.7550025
2 8.0849876 6.7550011 -113.08499 174.99995
3 -70.000000 -174.99998 70.000000 2.43186951E-05
4 . Porównanie wyników
Bez użycia komputera | Rozwiązanie numeryczne | |
---|---|---|
Przemieszczenia | ||
w1 |
0 | 0.0000000 |
φ2 |
0 | 0.0000000 |
w3 |
-0,002597778 | -2.59777601E-03 |
φ4 |
-0,002198519 | -2.19851732E-03 |
w5 |
0 | 0.0000000 |
φ6 |
0,010662037 | 1.06620332E-02 |
w7 |
0,053661265 | 5.36612533 E-02 |
φ8 |
0,026865741 | 2.68657357E-02 |
Siły wewnętrzne | ||
e1 |
T1 |
8.085 |
M1 |
22.925 | |
T2 |
-8.085 | |
M2 |
-6.755 | |
e2 |
T2 |
8.085 |
M2 |
6.755 | |
T3 |
-113.085 | |
M3 |
175,00 | |
e3 |
T3 |
-70,00 |
M3 |
-175,00 | |
T4 |
70,00 | |
M4 |
0,00 |