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