Tải bản đầy đủ (.docx) (32 trang)

Thực Hành Phương Pháp Phần tử hữu hạn (FEM) + DE 459 + (code matlab) dai hoc mo tphcm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (694.5 KB, 32 trang )

TRƯỜNG ĐẠI HỌC MỞ TPHCM

KHOA XÂY DỰNG & ĐIỆN

Cộng hòa xã hội chủ nghĩa Việt Nam
Độc lập - Tự do - Hạnh phúc
---oOo---

PHIẾU GIAO NHIỆM VỤ

THỰC HÀNH PHƯƠNG PHÁP SỐ PHẦN TỬ HỮU
HẠN
Họ và tên học viên : Lưu Văn Nhựt
Sinh năm : 1996

Lớp : XD41

Mã số sinh viên : 1451020106

Khóa học : 2014

Đề Bài tập số : 4 5 9

1. Nhiệm vụ & nội dung thực hiện
- Tính toán kết cấu dàn phẳng và dầm theo PPPTHH
- Tự động hóa tính toán kết cấu sử dụng ngôn ngữ Matlab.
- Ứng dụng 01 phần mềm PTHH
- So sánh kết quả tính toán

2. Ngày giao nhiệm vụ :
3. Ngày hoàn thành nhiệm vụ :


Nội dung nhiệm vụ Bài Tập đã được giáo viên hướng dẫn thông qua.

TpHCM, ngày 10 tháng 1 năm 2017
Giáo viên hướng dẫn

Trần Trung Dũng

1


1. Nội dung
(1) Tính kết cấu dàn phẳng và dầm theo PPPTHH, giải tay.
(2) Tự động hóa tính toán bằng ngôn ngữ Matlab, giải bằng chương trình
Matlab
(3) Ứng dụng phần mềm có sẵn, giải bằng phần mềm SAP2000 hoặc Etabs…
(4) So sánh kết quả đạt được của (1), (2) và (3).
2. Số liệu tính toán
Mã đề: gồm 03 kí tự (ví dụ 123)

459
Sơ đồ tính

Số liệu hình học

Số liệu tải trọng

Sơ đồ tính 4

2



3


Số liệu hình học (theo mã đề): lấy theo Bảng số liệu hình học

Đề hệ giàn
Stt

A (cm2)

L (m)

5

9

1.5

Số liệu tải trọng (theo mã đề): lấy theo Bảng số liệu tải trọng

Bảng số liệu tải trọng
Stt

P (kN)

9

30


Số liệu dùng chung:
Môđun đàn hồi E

:

2.1 × 104 kN/cm2

Diện tích mặt cắt các thanh dàn:
Thanh ngang và đứng

:

A

Thanh xiên

:

A 2.

3. Thuyết minh tính toán
3.1 Giải tay theo phương pháp PTHH
Bước 1: Rời rạc hóa kết cấu
+ Phân chia hệ kết cấu thành các phần tử.
+ Tiến hành đánh số theo hệ thống chỉ số phần tử và hệ thống chỉ số tổng thể.
+ Lập ma trận chỉ số [ b ] và các cosin chỉ phương để biến đổi tọa độ. (có thể áp
điều kiện biên nếu giải tay)
4



Bước 2: Chọn hàm xấp xỉ thích hợp
+ Tùy theo loại phần tử mà chọn hàm xấp xỉ thích hợp
+ Nội suy hàm xấp xỉ theo vectơ các bậc tự do của phần tử

{ q} e

+ Tìm ma trận hàm dạng [ N ] , tính biến dạng [ B] , tính ứng suất [ S] .
Chú ý: sử dụng thư viện phần tử đã thiết lập để đưa vào tính toán

{ P'} e
Bước 3: Thiết lập ma trận cứng phần tử [ K '] e và vectơ tải phần tử
 c 2 cs − c 2 − cs 
0


0
2
− s2 
 
[ K '] e = EA  s − cs
{
}
P
'
=
 
e
2

L

c
cs
0

2 
0
s 
dx
Phần tử thanh dàn :
;

Phần tử thanh dầm :
6L 
 12 6L − 12

2
4L − 6L 2L2 
EJ 
T
T
[ K ] e = ∫ [ B] [ D][ B] dV = E ∫ ∫ [ B] [ B] dF dx = 3
12 − 6L 
L 
Ve
L F


4L2 
dx


Bước 4: Ghép nối các phần tử

{}

[ ]

+ Tiến hành ghép nối ma trận cứng tổng thể K ' và vectơ tải tổng thể P' theo

[ ]

{ }

hệ thống ma trận chỉ số [ b] , cuối cùng đi đến hệ phương trình: K ' { q '} = P ' .
+ Áp đặt điều kiện biên của bài toán, kết quả nhận được hệ phương trình:

[K ] {q } = {P }
*

*

*

Đây chính là hệ thống phương trình để giải

[ ]{ } { }

*
'*
*
Bước 5: Giải hệ phương trình đại số tuyến tính K ' q = P '


{ }

*
Kết quả nhận được là vectơ chuyển vị nút tổng thể q '

5


Bước 6: Tìm lực dọc tất cả các phần tử (đề hệ dàn), hoặc mômen và lực cắt (đề
dầm liên tục)

3.2 Tự động hóa tính toán PTHH - Lập trình Matlab

Sinh viên tham khảo chương trình trong tài liệu [2, 4] để điều chỉnh cho phù hợp với
bài toán. Code chương trình sau khi đã điều chỉnh phải được đưa vào thuyết minh để
kiểm tra.

3.3 Sử dụng phần mềm
Sinh viên giải lại bài toán bằng một phần mềm PTHH đang được sử dụng (có thể tham
khảo phần mềm SAP2000 và tài liệu [5] để sử dụng).

3.4 So sánh kết quả
Bảng so sánh kết quả được thành lập như sau:

ĐỀ HỆ DÀN
Kết quả chuyển vị nút
Kết quả tính toán chuyển vị nút (cm)
Nút
Giải tay


Matlab

SAP2000

Sai số
(%)

UX
i
UY
Bảng kết quả nội lực
Kết quả tính toán lực dọc (kN)
Phần tử
Giải tay

Matlab

SAP2000

Sai số
(%)

i
6


Bài làm
Số liệu hình học:
A = 9 cm2

L=150 cm
Số liệu tải trọng:
P = 30 kN
Số liệu dùng chung:
Diện tích mặt cắt: 1. Thanh ngang và đứng: A
2. Thanh xiên: A 2
Mođun đàn hồi E: 2.1x104 kN/cm2

I. Giải Tay:
Bước 1: Rời rạc hóa kết cấu:

7


Đánh số nút, số chuyển vị nút, số phần tử như hình vẽ. Tại mỗi nút có 2 bậc tự
do là chuyển vị thành phần nút theo 2 trục hệ tọa độ tổng thể.
Áp dụng điều kiện biên từ ban đầu tại các nút 1 và 5, ta có q1=q2=q9=q10=0

Thiết lập ma trận chỉ số [b]:
Phần tử

Nút i

Nút j

Chiều Tiết diện
dài (L)
(A)

E.A/L


1

0

0

3

4

0o

1

0

L

A

E.A/L

2

3

4

5


6

0o

1

0

L

A

E.A/L

3

5

6

7

8

0o

1

0


L

A

E.A/L

4

0

0

0

0

− 90o

0

-1

L

A

E.A/L

5


0

0

3

4

− 45o

2
2

2

2

L 2

A 2

E.A/L

6

11

12


3

4

− 90o

0

-1

L

A

E.A/L

7

3

4

13

14

45o

2
2


2
2

L 2

L 2

E.A/L

8

13

14

5

6

− 90o

0

-1

L

A


E.A/L

9

13

14

7

8

− 45o

2
2

L 2

L 2

E.A/L

10

0

0

11


12

0o

1

0

L

A

E.A/L

11

11

12

13

14

0o

1

0


L

A

E.A/L



2
2

Bước 2: chọn hàm xấp xỉ
Đã thực hiện

8


Bước 3: Thiết lập các ma trận cứng phần tử [K’]e và vecto tải phần tử {P’}e:
1

0
0

-1
0
1

0
0

0
0

2 EA
[K’]1= 2 L

0
0

-1
0
1

0
0
0
0

2 EA
[K’]2= 2 L

0
0

-1
0
1

0
0

0
0

2 EA
[K’]3= 2 L

đx

1
đx

1
đx

9


0

0
1

0
0
0

0
-1
0
1


2 EA
[K’]4= 2 L

-1
1

-1
1
1

1
-1
-1
1

EA
[K’]5= 2 L

0
1

0
0
0

0
-1
0
1


2 EA
[K’]6= 2 L

-1
1

-1
1
1

1
-1
-1
1

EA
[K’]7= 2 L

đx

1
đx

0
đx

1
đx


10


0

0
1

0
0
0

0
-1
0
1

2 EA
[K’]8= 2 L

-1
1

-1
1
1

1
-1
-1

1

EA
[K’]9= 2 L

0
0

-1
0
1

0
0
0
0

2 EA
[K’]10= 2 L

0
0

-1
0
1

0
0
0

0

2 EA
[K’]11= 2 L

đx

1
đx

1
đx

1
đx

11


Hệ đã cho là hệ dàn => không có tải đặt trên phần tử
 Vecto tải phần tử {P’}e

Bước 4: ghép nối các phần tử:
Loại bỏ dòng và cột: 1,2,9,10 => q’1=q’2=q’9=q’10={0}
Ma trận độ cứng tổng thể:
6

0

-2


0

0

0

0

0

-1

-1

0

4

0

0

0

0

0

-2


-1

-1

-2

0

4

0

-2

0

0

0

0

0

0

0

0


2

0

0

0

0

0

-2

0

0

-2

0

3

-1

0

0


-1

1

0

0

0

0

-1

1

0

0

=
1 [K*']-1

0

0

0


0

0

0

4

0

-2

0

0

-2

0

0

0

0

0

2


0

0

-1

-1

0

0

-1

1

-2

0

4

0

-1

-1

0


-2

1

-1

0

0

0

4

3

0

-1

0

0

0

0

0


-0.5

-0.5

0

2

0

0

0

0

0

-1

-0.5

-0.5

-1

0

2


0

-1

0

0

0

0

0

0

0

0

1

0

0

0

0


0

-1

0

0

-1

0

1.5

-0.5

0

0

-0.5

0.5

0

0

0


0

-0.5

0.5

0

0

0.5

-0.5

0

0

0

0

0

2

0

-1


0

0

-1

0

0

0

0

0

1

0

0

-0.5

-0.5

0

0


-0.5

0.5

-1

0

2

0

-0.5

-0.5

0

-1

0.5

-0.5

0

0

0


2

EA
[K*'] = 0
L

EA
2L

Bước 5: Giải hệ phương trình
đại số tuyến tính:

[K*'].{q *'} = {P *'}

 q '3   0 
 q '   −30 
 4 

 q '5   0 

 

 q '6   −30 

 0 

q' 
 
X  7=


 q '8   −60 
 q '11   0 

 

 q '12   0 
q '   0 
 13  

 0 

 q '14 
 


12


 q '3   −9 
 q '   −17 
 4 

 q '5   −11 

 

 q '6   −43 

 −13 
q' 

 
 PL
{q *'} =  7  = 
×
 q '8   −69  EA
 q '11  5 

 

 q '12   −17 
 q '  10 
 13  

 −4 2 

 q '14 
 


Giá trị chuyển vị nút:
q '3 = −0.21428571(cm)
 q '3 
q' 
q '4 = −0.4047619(cm)
 4
 q '5 
q '5 = −0.26190476(cm)
 
q '6 = −1.02380952(cm)
 q '6 

 q '7  30 ×150
q ' = −0.30952381(cm)
→ 7
 ×
4
q '8 = −1.64285714(cm)
 q '8  2.1×10 × 9
 q '11 
q '11 = 0.119047619(cm)
 
q '12 = −0.4047619(cm)
 q '12 
q ' 
q '13 = 0.238095238(cm)
 13 
q '14 = −1(cm)
 q '14 

Bước 6: Tính lục dọc trong các thanh: N e = [S']e × {q'}e
 0 
 0 
EA
 × PL = −270(kN)
N1 = [S']1 × {q'}1 =
× [−1 0 1 0] × 
 −9  EA
L


 −17 

 −9 
 −17 
EA
 × PL = −60(kN)
N 2 = [S']2 × {q'}2 =
× [ −1 0 1 0] × 
 −11 EA
L


 −43

13


 −11
 −43
EA
 × PL = −60(kN)
N3 = [S']3 × {q'}3 =
× [−1 0 1 0] × 
 −13 EA
L


 −69
0 
0 
EA
PL

N 4 = [S']4 × {q'}4 =
× [0 1 0 −1] ×   ×
= 0(kN)
0  EA
L
 
0 

N 5 = [S']5 × {q'}5 =

EA
2
× [−
L
2

2
2

2
2

 0 


2  0  PL
− ]×
×
= 169.706(kN)
2  −9  EA



 −17 

 5 
 −17 
EA
 × PL = 0(kN)
N 6 = [S']6 × {q'}6 =
× [0 1 0 −1] × 
 −9  EA
L


 −17 

N 7 = [S']7 × {q'}7 =

EA
2
× [−
L
2



2
2

2

2

 −9 


2  −17  PL

×
= −127.279(kN)
2  10  EA


 −42 

 10 
 −42
EA
 × PL = 30(kN)
N8 = [S']8 × {q'}8 =
× [0 1 0 −1] × 
 −11 EA
L


 −43

N9 = [S']9 × {q'}9 =

EA
2

× [−
L
2

2
2

2
2

 10 
 −42 
2
 × PL = 84.853(kN)
− ]× 
2  −13 EA


 −69 

14


 0 
 0 
EA
 × PL = 150(kN)
N10 = [S']10 × {q'}10 =
× [−1 0 1 0] × 
 5  EA

L


 −17 
 5 
 −17 
EA
 × PL = 150(kN)
N11 = [S']11 × {q'}11 =
× [−1 0 1 0] × 
 10  EA
L


 −42 

15


II. Giải bằng matlab:

Code giải hệ:
clear all
clc
disp('========================================================
=======')
disp('CHUONG TRINH 2DTRUSS - PHAN TICH KET CAU DAN PHANG - MA
DE: 459')
disp('========================================================
=======')

%-------------%Nhap du lieu ve ket cau
%------------N=11; %Tong so phan tu
r=2; %So nut cho moi phan tu
s=2; %So bac tu do cua mot nut
R=7; %Tong So nut cua he
S=R*s; %Tong So bac tu do cua he
% Nhap du lieu toa do nut
toadoxy(1,1)=0; toadoxy(1,2)=0;
toadoxy(2,1)=150; toadoxy(2,2)=0;
toadoxy(3,1)=300; toadoxy(3,2)=0;
toadoxy(4,1)=450; toadoxy(4,2)=0;
toadoxy(5,1)=0; toadoxy(5,2)=150;
toadoxy(6,1)=150; toadoxy(6,2)=150;
toadoxy(7,1)=300; toadoxy(7,2)=150;
% Dac trung vat lieu va hinh hoc
for i=1:N
F(i)=9;% F(i) la dien tích tiet dien cua thanh i (cm2)
end
F(5)=9*sqrt(2);
F(7)=9*sqrt(2);
16


F(9)=9*sqrt(2); %Modul dan hoi cua vat lieu (KN/cm2)
E=2.1e4;% E la modul dan hoi
% Ket noi cac phan tu theo cac diem nut
ketnoiphantu(1,1)=1; ketnoiphantu(1,2)=2;
ketnoiphantu(2,1)=2; ketnoiphantu(2,2)=3;
ketnoiphantu(3,1)=3; ketnoiphantu(3,2)=4;
ketnoiphantu(4,1)=1; ketnoiphantu(4,2)=5;

ketnoiphantu(5,1)=5; ketnoiphantu(5,2)=2;
ketnoiphantu(6,1)=2; ketnoiphantu(6,2)=6;
ketnoiphantu(7,1)=2; ketnoiphantu(7,2)=7;
ketnoiphantu(8,1)=7; ketnoiphantu(8,2)=3;
ketnoiphantu(9,1)=7; ketnoiphantu(9,2)=4;
ketnoiphantu(10,1)=5; ketnoiphantu(10,2)=6;
ketnoiphantu(11,1)=6; ketnoiphantu(11,2)=7;
% Dieu kien bien
dieukienbien(1)=1;
giatridieukienbien(1)=0;
dieukienbien(2)=2;
giatridieukienbien(2)=0;
dieukienbien(3)=9;
giatridieukienbien(3)=0;
dieukienbien(4)=10;
giatridieukienbien(4)=0;
% Dat mang luu tru vecto va ma tran ban dau la zero
P=zeros(S,1);
K=zeros(S,S);
b=zeros(r*s,1);
Pe=zeros(r*s,1);
qe=zeros(r*s,1);
Ke=zeros(r*s,r*s);
Se=zeros(1,r*s);
lucdoc=zeros(N,1);
% nhap du lieu tai nut
P(4)=-30;
P(6)=-30;
P(8)=-60;
% Lap he thong phuong trinh de giai FEM

for i=1:N
nd(1)=ketnoiphantu(i,1);
nd(2)=ketnoiphantu(i,2);
x1=toadoxy(nd(1),1);
y1=toadoxy(nd(1),2);
x2=toadoxy(nd(2),1);
y2=toadoxy(nd(2),2);
L=sqrt((x2-x1)^2+(y2-y1)^2);
l=(x2-x1)/L;
m=(y2-y1)/L;
area=F(i);
disp(['chi so cua phan tu thu ',num2str(i),':'])
b=matranchiso(nd)
disp(['ma tran do cung cua phan tu thu ',num2str(i),':'])
17


[Ke]=matrancungphantu(E,L,area,l,m)
K=lapghep(K,Ke,b);
end
% Khu dieu kien bien va giai he phuong trinh dai so
[K,P]=khudieukienbien(K,P,dieukienbien,giatridieukienbien);
q=K\P;
% Tinh luc doc trong cac thanh dan
for iel=1:N
nd(1)=ketnoiphantu(iel,1);
nd(2)=ketnoiphantu(iel,2);
x1=toadoxy(nd(1),(1));
y1=toadoxy(nd(1),(2));
x2=toadoxy(nd(2),(1));

y2=toadoxy(nd(2),(2));
L=sqrt((x2-x1)^2+(y2-y1)^2);
l=(x2-x1)/L;
m=(y2-y1)/L;
area=F(iel);
b=matranchiso(nd);
for i=1:(r*s)
qe(i)=q(b(i));
end
Se=matrantinhlucdoc(E,area,L,l,m);
for j=1:(r*s)
lucdoc(iel)=lucdoc(iel)+Se(j)*qe(j);
end
end
disp(['VECTO CHUYEN VI NUT TONG THE'])
q
disp(['LUC DOC TRONG CAC PHAN TU'])
lucdoc
% Ve do thi chuyen vi nut
figure(1)
scale=1000; %ty le de hien thi dang chuyen vi cua ket cau for
i=1:N
for i=1:N
nd(1)=ketnoiphantu(i,1);
nd(2)=ketnoiphantu(i,2);
b=matranchiso(nd);
x1=toadoxy(nd(1),1); %toa do x ban dau cua nut i
x1c=x1+scale*q(b(1)); %toa do x sau khi chuyen vi nut thu
i
y1=toadoxy(nd(1),2); %toa do y ban dau cua nut i

y1c=y1+scale*q(b(2)); %toa do y sau khi chuyen vi nut thu
i
x2=toadoxy(nd(2),1);
x2c=x2+scale*q(b(3));
y2=toadoxy(nd(2),2);
y2c=y2+scale*q(b(4));
hold on
axis equal
18


plot([x1 x2],[y1 y2],'b');
end
pause
for i=1:N
nd(1)=ketnoiphantu(i,1);
nd(2)=ketnoiphantu(i,2);
b=matranchiso(nd);
x1=toadoxy(nd(1),1);
x1c=x1+scale*q(b(1));
y1=toadoxy(nd(1),2);
y1c=y1+scale*q(b(2));
x2=toadoxy(nd(2),1);
x2c=x2+scale*q(b(3));
y2=toadoxy(nd(2),2);
y2c=y2+scale*q(b(4));
hold on
axis equal
plot([x1c x2c],[y1c y2c],'r--');
end

disp('========================================================
=======')
disp('========================Ket thuc chuong
Trinh==================')
disp('========================================================
=======')
Code phụ giải hệ:
-

Hàm ma trận khu điều kiện:

function [K,P]=khudieukienbien(K, P, dieukienbien,
giatridieukienbien)
n=length(dieukienbien);
sdof=size(K);
for i=1:n
c=dieukienbien(i);
for j=1:sdof
K(c,j)=0;
end
K(c,c)=1;
P(c)=giatridieukienbien(i);
End
-

Hàm lắp ghép:

function [K]=lapghep(K,Ke,b)
edof = length(b);
for i=1:edof

ii=b(i);
for j=1:edof
jj=b(j);
K(ii,jj)=K(ii,jj)+Ke(i,j);
19


end
end
-

Hàm ma trận chỉ số:

function [b]=matranchiso(nd)
b(1)=2*nd(1)-1;
b(2)=2*nd(1);
b(3)=2*nd(2)-1;
b(4)=2*nd(2);
-

Hàm ma trận cứng phần tử:

function [Ke]=matrancungphantu(E,L,area,l,m)
Ke=(E*area/L)*[l*l l*m -l*l -l*m; l*m m*m -l*m -m*m; -l*l
-l*m l*l l*m; -l*m -m*m l*m m*m];
-

Hàm tính ma trận lực dọc:

function [Se]=matrantinhlucdoc(E,area,L,l,m)

Se= (E*area/L)*[-l -m l m];



Kết quả chạy matlab:

=====================================================
CHUONG TRINH 2DTRUSS - PHAN TICH KET CAU DAN PHANG MA DE: 459
=====================================================
chi so cua phan tu thu 1:

b=

1

2

3

4

ma tran do cung cua phan tu thu 1:

Ke =
20


1260

0


0

0

0

-1260

0

0

-1260

0

0
0

1260
0

0
0

chi so cua phan tu thu 2:

b=


3

4

5

6

ma tran do cung cua phan tu thu 2:

Ke =

1260
0

0
0

-1260
0

0
0

0

-1260

0
0


1260
0

0
0

chi so cua phan tu thu 3:

b=

21


5

6

7

8

ma tran do cung cua phan tu thu 3:

Ke =

1260

0


0

0

-1260

0
0

0

-1260

0

0
0

1260
0

0
0

chi so cua phan tu thu 4:

b=

1


2

9

10

ma tran do cung cua phan tu thu 4:

Ke =

0

0

0

1260

0

0

0

-1260

0

0
0


0

-1260
0

0

1260
22


chi so cua phan tu thu 5:

b=

9

10

3

4

ma tran do cung cua phan tu thu 5:

Ke =

630 -630 -630 630
-630 630 630 -630

-630 630 630 -630
630 -630 -630 630

chi so cua phan tu thu 6:

b=

3

4

11

12

ma tran do cung cua phan tu thu 6:

Ke =
23


0

0

0

0

1260


0

0

0

-1260

0
0

0

-1260
0

0

1260

chi so cua phan tu thu 7:

b=

3

4

13


14

ma tran do cung cua phan tu thu 7:

Ke =

630 630 -630 -630
630 630 -630 -630
-630 -630 630 630
-630 -630 630 630

chi so cua phan tu thu 8:

b=

24


13

14

5

6

ma tran do cung cua phan tu thu 8:

Ke =


0

0

0

0

1260

0

0

0

-1260

0
0

0

-1260
0

0

1260


chi so cua phan tu thu 9:

b=

13

14

7

8

ma tran do cung cua phan tu thu 9:

Ke =

630 -630 -630 630
-630 630 630 -630
-630 630 630 -630
630 -630 -630 630
25


×