- Chương trình tính toán gần đúng cốt thép bố trí đều theo chu vi cấu kiện
bê tông cốt thép chịu nén lệch tâm xiên được xây dựng dựa theo PHƯƠNG PHÁP
GÂN ĐÚNG TÍNH CỐT THÉP, phù hợp với tiêu chuẩn Việt Nam TCXDVN
5574:2012
- Phương pháp gần đúng dựa trên việc biến đổi trường hợp nén lệch tâm
xiên thành nén lệc tâm phẳng tương đương để tính cốt thép. Nguyên tắc dựa trên
tiêu chuẩn nước anh BS8110 và của Mỹ ACI 318.
- Việc xây dựng chương trình tính toán gần đúng diện tích cốt thép của
cấu kiện bê tông cốt thép chịu nén lệch tâm xiên để cho ra kết quả chính xác hơn
là cần thêm nhiều nghiên cứu. Tuy nhiên, trong tính toán thiết kế thực hành, ta có
thể dùng công thức tính gần đúng để tính ra diện tích cốt thép, bố trí cốt thép và
kiểm tra lại bằng chương trình xây dựng biểu đồ tương tác. Hệ số k được nhập từ
trong chương trình, và sau quá trình tính toán, người sử dụng sẽ chọn được hệ số
k cho mình với độ an toàn và sai số cho phép phù hợp. Quá trình này cũng sẽ cho
ra được kết quả tính toán chính xác.
50 trang |
Chia sẻ: tienthan23 | Lượt xem: 4348 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Đề tài Ứng dụng matlab để xây dựng một số chương trình tính toán kết cấu bê tông cốt thép (btct) theo tcvn 5574-2012, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
c tiết diện và sự bố trí cốt thép. Khi M tương đối lớn, tiết diện làm việc gần
với trường hợp chịu uốn, có vùng nén và vùng kéo rõ rệt. Nếu cốt thép chịu kéo As
không quá lớn thì sự phá hoại sẽ bắt đầu từ vùng kéo, ta có trường hợp nén lệch tâm lớn.
Ngược lại, khi N tương đối lớn, phần lớn tiết diện chịu nén, sự phá hoại bắt đầu từ bê
tông phía bị nén nhiều, có trường hợp nén lệch tâm bé.
Tuy nhiên, trong tính toán thực hành, điều kiện để phân biệt các trường hợp nén
lệch tâm chỉ là tương đối. Có một số trường hợp, với tiết diện và điểm đặt lực N đã cho,
khi thay đổi cốt thép có thể chuyển sự làm việc của tiết diện từ nén lệch tâm lớn sang
nén lệch tâm bé và ngược lại. Khi chuyển như vậy thì giá trị lực dọc tới hạn mà tiết diện
chịu được Ngh thay đổi theo.( Tham khảo Tính Toán Tiết Diện Cột Bê Tông Cốt Thép
của GS.Nguyễn Đình Cống )
Đề tài tốt nghiệp Trang 11
Chương I: Tổng quan
Giáo viên hướng dẫn: Ths. Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
1.6. THEO TIÊU CHUẨN VIỆT NAM TCXDVN 5574:2012
Theo tiêu chuẩn TCXDVN 5574:2012 [2], việc tính toán tiết diện tổng quát cần
kiểm tra từ điều kiện:
M (RbSb - siSsi)
Trong đó:
- M: mômen trong cấu kiện chịu nén lệch tâm, là mômen do lực dọc N đối với
trục song song với đường thẳng giới hạn vùng chịu nén và đi qua trọng tâm tiết diện các
thanh cốt thép dọc chịu kéo nhiều nhất hoặc chịu nén ít nhất khi cấu kiện chịu nén lệch
tâm.
- Sb: mômen tĩnh của tiết diện vùng bê tông chịu nén đối với trục
- Ssi: mômen tĩnh của diện tích thanh cốt thép dọc thứ i đối với trục
- si: ứng suất trong thanh cốt thép dọc thứ i
Chiều cao vùng chịu nén x và ứng suất si được xác định từ việc giải đồng thời các
phương trình:
RbAb - siAsi – N = 0
si =
1
1.1
1
,
i
usc
Ứng suất si kèm theo dấu được tính toán theo các công thức trên, khi đưa vào tính
toàn cần thoả mãn điều kiện:
Rsi si Rsci (Rsci: mang dấu âm)
Ngoài ra, để xác định vị trí biên vùng chịu nén khi uốn xiên, phải tuân theo điều
kiện bổ sung về sự song song của mặt phẳng tác dụng của mômen do nội lực và ngoại
lực, còn khi nén và kéo lệch tâm xiên, phải tuân thủ thêm điều kiện: các điểm đặt của
ngoại lực tác dụng dọc trục, của hợp lực nén trong bê tông và cốt thép chịu nén, và của
hợp lực trong cốt thép chịu kéo (hoặc ngoại lực tác dụng dọc trục, hợp lực nén trong bê
tông và hợp lực trong toàn bộ cốt thép) phải nằm trên một đường thẳng (Hình 1.6).
Với:
- Asi: diện tích tiết diện thanh cốt thép dọc thứ i
- i: chiều cao tương đối vùng chịu nén của bê tông, i =
ih
x
0
, trong đó h0i là
khoảng cách từ trọng tâm cốt thép thứ i đến trục đi qua điểm xa nhất của vùng chịu nén
song song với đường thẳng giới hạn vùng chịu nén (Hình 1.6).
- : đặt trưng vùng bê tông chịu nén, được xác định theo công thức:
= - 0.008Rb ( = 0.85 đối với với bê tông nặng)
- chỉ số i là sô thứ tự của thanh cốt thép đang xét (i = 1,2,...,n).
Đề tài tốt nghiệp Trang 12
Chương I: Tổng quan
Giáo viên hướng dẫn: Ths. Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
R
As5 s5
As6 s6
As7 s7
As4 s4
As8 s8
Ab b
As3 s3
As2 s2
s1s1A
C
B
A
I
I
0
5
0
6
0
7
0
4
0
8
0
3
0
2
h
h
h
h
h
h
h
0
1
h
5
6
7
4
8
3
2
1
Hình 1.6. Sơ đồ nội lực và biểu đồ ứng suất trên tiết diện thẳng góc với trục dọc cấu
kiện bê tông cốt thép trong trường hợp tổng quát tính toán tiết diện theo độ bền
(Trong đó:
I-I: là mặt phẳng song song với mặt phẳng tác dụng của mômen uốn, hoặc mặt phẳng
đi qua điểm đặt của lực dọc và hợp của các nội lực kéo, nén
A: điểm đặt hợp lực trong cốt thép chịu nén và trong bê tông vùng chịu nén
B: điểm đặt của hợp lực trong cốt thép chịu kéo
C: điểm đặt ngoại lực)
1.7. THEO TIÊU CHUẨN VIỆT NAM TCVN 5574-1991
Tiêu chuẩn Việt Nam TCVN 5574-1991 [3] chia ra 2 trường hợp lệch tâm để tính
toán.
- Trường hợp lệch tâm lớn:
+ Điều kiện lệch tâm lớn: khi chiều cao vùng nén x 0h0B (Với 0 = 0.4
0.62 phụ thuộc cường độ tính toán về kéo của cốt thép và mác chịu nén của
bê tông nặng)
+ Cấu kiện được tính toán theo 2 điều kiện:
M RnFbZb + ’aiZ’aif’ai - aiZaifai
RnFb + ’aif’ai - aifai – N = 0
Với M là mômen của lực dọc đặt lệch tâm N lấy đối với trục biên, trục này song
song với đường thẳng giới hạn vùng nén và đi qua trọng tâm cốt thép chịu kéo xa nhất.
Ngoài 2 điều kiện trên thì việc bố trí cốt thép, hình dáng và kích thước hình vùng
bê tông chịu nén được xác lập từ điều kiện sau: điểm đặt lực dọc lệch tâm N, điểm đặt
hợp lực vùng nén và điểm đặt hợp lực cốt thép vùng kéo phải nằm trên một đường thẳng
- Các điểm N, B, A trên hình 1.7 (Giống TCXDVN 5574:2012).
Đề tài tốt nghiệp Trang 13
Chương I: Tổng quan
Giáo viên hướng dẫn: Ths. Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
fai
aif '
a
i
b
Z
11
a
i
A
B
N
Z
' h
Z
x
0B
t'
t
i
i
Trôc biªn
Hình 1.7. Sơ đồ tính toán cột chịu nén xiên (TCVN 5574-1991).
Trong đó:
0: tương tự khi tính cấu kiện chịu uốn phẳng, được tra bảng phụ thuộc vào mác
bê tông và cường độ tính toán về kéo của cốt thép.
h0B: khoảng cách từ điểm xa nhất của vùng kéo đến trục biên
Zb: khoảng cách từ trọng tâm diện tích vùng bê tông chịu lực nén Fb đến trục biên
Zai và Z’ai: khoảng cách từ cốt thép chịu kéo và chịu nén thứ i đến trục biên
Ứng suất trong cốt thép chịu kéo ai và trong cốt thép chịu nén ’ai lấy phụ thuộc khoảng
cách ti, t’i tính từ trọng tâm của mỗi cốt thép đến đường thẳng giới hạn của vùng nén.
Với cốt thép chịu kéo:
+ Khi ti 0.6(h0B – x) thì ai = Ra
+ Khi ti 0.6(h0B – x) thì ai = aB
i R
xh
t
'06.0
Với cốt thép chịu nén:
+ Khi t’i 0.6x thì ’ai = R’a
+ Khi t’i 0.6x thì ’ai = a
i R
x
t
'
6.0
'
- Trường hợp lệch tâm bé:
Cấu kiện chịu nén lệch tâm xiên trường hợp lệch tâm bé với tiết diện có 2 trục đối
xứng x và y được tính toán kiểm tra theo điều kiện:
N
0
111
1
NNN yx
Trong đó:
N: lực dọc tính toán khi tổng hợp tất cả các yếu tố tác động
Nx, Ny: khả năng chịu lực của tiết diện khi xét riêng về nén lệch tâm trong phương
x và y (nén lệch tâm phẳng)
N0: khả năng chịu lực khi nén đúng tâm
Đề tài tốt nghiệp Trang 14
Chương I: Tổng quan
Giáo viên hướng dẫn: Ths. Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
1.8. THEO TIÊU CHUẨN MỸ ACI 318
Tính toán cột bê tông cốt thép chịu nén lệch tâm xiên có thể tiến hành theo 3 quy
trình sau:
1.8.1 Tính cột lệch tâm theo một phương với độ lệch tâm tương đương:
Độ lệch tâm ex và ey của lực dọc trục được thay thế bằng độ lệch tâm tương đương
e0x. Khi đó, cột chịu nén lệch tâm xiên được thiết kế như cột chịu nén lệch tâm 1 phương
gồm lực dọc và độ lệch tâm e0x.
Muy = Pu.ex và Mux = Pu.ey
y
x
y
x
ex
ye
§iÓm ®Æt t¶i
Hình 1.11. Xác định các số hạng: cột chịu tải hai trục.
- Nếu
x
ex
y
ey
thì cột được thiết kế với lực dọc tính toán Pu và mômen uốn tính toán
M0y = Pu.e0x, trong đó: e0x = ex + x
y
ey
(*)
Giá trị được xác định như sau:
+ Nếu
gc
u
Af
P
'
0.4 thì =
100000
40000
5.0
'
y
gc
u
f
Af
P
0.6
+ Nếu
gc
u
Af
P
'
> 0.4 thì =
100000
40000
3.1
'
y
gc
u
f
Af
P
0.5
Trong đó:
Pu: lực dọc tính toán, lb
Mu: mômen uốn tính toán, lb.in
ex, ey, e0x: độ lệch tâm của lực dọc, in
f’c: độ bền nén của bê tông, psi
fy: giới hạn chảy của cốt thép, psi
Ag: diện tích của toàn bộ tiết diện, in2
x,y: kích thước các cạnh của tiết diện chữ nhật, in
Đề tài tốt nghiệp Trang 15
Chương I: Tổng quan
Giáo viên hướng dẫn: Ths. Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
- Nếu phương trình
x
ex
y
ey
không thoả mãn các giá trị x và y, ex và ey trong biểu
thức (*) được thay thế cho nhau tương ứng.
Quy trình này chỉ được dùng trong trường hợp tiết diện cột đối xứng theo hai
phương và tỷ lệ kích thước của tiết diện
y
x
nằm trong khoảng từ 0.52.0. Cốt thép dọc
trong cột bố trí trên cả 4 mặt cột.
1.8.2 Phương pháp đường bao tải trọng:
nynxnP - M -M
MÆt cong tu¬ng t¸c
§õ¬ng bao
t¶i träng
Mx0
My0
nMÆt ph¼ng P
nP
(b)
(c)
(a)
y
xM
M
P
Hình 1.12. Mặt cong tương tác Pn – Mnx – Mny và điểm mômen tính toán
Quy trình này dùng phương pháp đường bao tải trọng để tính toán cột chịu nén lệch
tâm xiên. Theo đó, mặt phẳng trung gian làm thành một góc với mặt phẳng POMx, cắt
mặt cong tương tác Pn – Mnx – Mny tại đường cong (c). Mặt phẳng là mặt phẳng phá
hoại và (c) là đường phá hoại đối với cột chịu nén đồng thời với mômen uốn.
= arctg
y
x
e
e
= arctg
nx
ny
M
M
Đường bao tải trọng là đường tạo thành giao diện giữa mặt phẳng Mnx – Mny tại
cao độ Pn và mặt cong tương tác. Khi đó, phương trình tương tác của đường bao tải trọng
như sau:
1
2
0
1
0
ny
ny
nx
nx
M
M
M
M
Trong đó:
Mnx = Pney (uốn phẳng) và Mnx0 = Mnx khi Mny = 0 (nén lệch tâm phẳng)
Mny = Pnex (uốn phẳng) và Mny0 = Mny khi Mnx = 0 (nén lệch tâm phẳng)
Đề tài tốt nghiệp Trang 16
Chương I: Tổng quan
Giáo viên hướng dẫn: Ths. Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
Giá trị 1 và 2 phụ thuộc vào kích thước cột, đường kính và sự phân bố cốt thép
cột, đặc trưng ứng suất – biến dạng của vật liệu thép và bê tông, chiều dày lớp bê tông
bảo vệ, kích cở và loại cốt thép đai.
Khi 1 = 2 = , phương trình trên được viết thành:
1
00
ny
ny
nx
nx
M
M
M
M
Theo các kết quả nghiên cứu của Bresler, giá trị = 1.15 1.55 đối với tiết diện
chữ nhật, giá trị càng gần với giá trị thấp thì càng an toàn.
1.8.3 Phương pháp dùng phương trình tương tác Bresler:
Độ bền của cột chịu nén lệch tâm xiên có thể tính toán và kiểm tra theo phương
trình:
0
1111
nnynxu PPPP
Trong đó:
Pu: lực dọc tính toán
Pnx: độ bền thiết kế theo lực nén dọc trục tương ứng với độ lệch tâm ex (với ey = 0)
Pny: độ bền thiết kế theo lực nén dọc trục tương ứng với độ lệch tâm ey (với ex = 0)
Pn0: độ bền thiết kế theo lực nén dọc trục tương ứng với độ lệch tâm ey = 0 và độ lệch
tâm ey = 0
Phương trình này cũng tương tự như tính toán đối với cấu kiện lệch tâm bé trong
TCVN 5574-1991, và tiêu chuẩn Trung Quốc GB 50010-2002.
1.9. CÁC YÊU CẦU ĐẶT RA ĐỐI VỚI VẤN ĐỀ TÍNH TOÁN CẤU KIỆN
BTCT CHỊU NÉN LỆCH TÂM XIÊN:
- Phải có sự kiểm tra lại đối với chương trình xây dựng mặt biểu đồ tương tác.
Trong đề tài luận văn này, đường lối để kiểm tra là cũng xây dựng mặt biểu đồ tương
tác nhưng đi theo một hướng khác trong việc định ra các biến để từ đó xác định vùng
chịu nén.
- Xây dựng sơ đồ khối chương trình tính gần đúng cốt thép để có thể áp dụng
trong tính toán thực hành, để từ đó có thể xây dựng được một chương trình máy tính
mang tính ứng dụng cao hơn (có thể tính gần đúng cốt thép và sau đó có thể kiểm tra lại
cốt thép đã bố trí bằng các biểu đồ tương tác được vẽ ra bởi chương trình máy tính).
- Một số đề xuất góp ý về các hệ số hiệu chỉnh trong công thức gần đúng để có
thể áp dụng trong thực tế tính toán cấu kiện bê tông cốt thép chịu nén lệch tâm xiên.
Đề tài tốt nghiệp Trang 17
Chương II: Nghiên cứu cách đọc dữ liệu vào chương trình MATLAB từ kết quả phân tích nội lực của phần mềm ETABS
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
CHƯƠNG II:
NGHIÊN CỨU CÁCH ĐỌC DỮ LIỆU VÀO CHƯƠNG
TRÌNH MATLAB TỪ KẾT QUẢ PHÂN TÍCH NỘI LỰC CỦA
PHẦN MỀM ETABS
2.1 NỘI LỰC ĐỂ TÍNH TOÁN NÉN LỆCH TÂM XIÊN:
- Khi tổ hợp nội lực để tính toán thông thường mỗi cột được xét it nhất hai tiết
diện, mỗi tiết diện có khoảng 9 trường hợp tính toán, như vậy mỗi cột có ít nhất 18
trường hợp tính toán. Ngoài ra còn có các cặp tổ hợp đặc biệt.
- Theo nguyên tắc thiết kế thì tiết diện cần phải đủ khả năng chịu tất cả các cặp
nội lực có thể xảy ra.Tuy vậy, khi dùng công thức để tính toán thì khối lượng tính toán
tăng lên nhiều. Để giảm nhẹ khối lượng cần tìm cách bỏ bớt một số cặp, chỉ chọn ra một
số cặp thuộc loại bất lợp nhất để tính toán. Khi tiết diện đủ khả năng chịu được các cặp
thuộc loại bất lợi nhất thì nó đủ khả năng chịu các cặp còn lại.
- Việc chọn bao nhiêu cặp để tính toán không có quy định cụ thể, có thể là 2,3,4
hoặc nhiều hơn. Nói chung dùng càng nhiều cặp để tính toán thì độ tin cậy càng cao.
2.2 VIẾT CHƯƠNG TRÌNH ĐỂ ĐỌC NỘI LỰC VÀO ETABS.
Tìm hiểu ngôn ngữ: Sử dựng các lênh hay nhóm lệnh để tiến hành đọc dữ liệu
từ etabs mà mathlab.
Lệnh load:
a. Chức năng: nạp file từ đĩa vào vùng làm việc
b. Câu lệnh: load filename
c. Giải thích: tập tin phải có dạng ma trận có nghĩ là số cột của hàng dưới
phải bằng của hàng trên. Kết quả ta được một ma trận có số cột và số hàng
chính là số cột và số hàng của tập tin văn bản trên
Lệnh Size:
a. Chức năng: Cho biết số dồng và số cột của ma trận
b. Cú pháp: d = size (x)
[m,n] = size (x)
m = size (x,1)
n = size (x,2)
c. Giải thích: x: tên miền
d: tên vectơ có 2 phần tử, phần tử thứ nhất là số dòng , phần tử còn lại là số cột.
m,n: biến m chứa số dòng, biến n chứa số cột
Đề tài tốt nghiệp Trang 18
Chương II: Nghiên cứu cách đọc dữ liệu vào chương trình MATLAB từ kết quả phân tích nội lực của phần mềm ETABS
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
Lệnh For
a. Chức nắng: Dùng để thực hiện 1 công việc cần lặp đi lặp lại theo một quy luật
với số bước lặp xác định trước
b. Cú pháp: For biến điều khiển=giá trị ban đầu:giá trị cuối,
Thực hiện công việc;
End
c. Giải thích: Công việc chính của các câu lệnh cần thi hành, có thể có nhiều lệnh,
kết thúc tệnh phải có dầu ‘;’
Lệnh IF ELSEIFELSE:
a. Cộng dụng: thực hiện lệnh thỏa điều kiện
b. Cú pháp: if biểu thức luận lý 1
Thực hiện công việc 1;
Elseif biểu thức luận lý 2
Thực hiện công việc 2
Else
Thực hiện công việc 3;
End
c. Giải thích: Khi biểu thức luận lý 1 đúng thì thực hiện công việc 1 tương tự cho
biểu thức 2. Nếu 2 biểu thức sai thì thực hiên công việc sau lệnh else
Biểu thức luân lý là các phép so sánh ==, , = công việc chính là các
lệnh cần thi hành, có thể có nhiều lệnh, kết thúc lệnh phai có dấu ‘;’
Sử dụng cấu trúc Handles:
a. Chức năng: là một cấu trúc mà các trường của nó chính là các handle của
các điều khiển trong GUIDE. Chúng ta vẫn dùng cấu trúc này để thiết lập
các thuộc tính của các điều khiển trong GUI.
Lệnh Xlsread:
a. Chức năng: Đọc file dữ liệu có đuôi ‘.xls, .xlsx’.
b. Cú pháp:
xlsread(C,'Column Forces','A3:N100000')
c. Giải thích:
c: đường dần
‘colum forces’: tên của sheet cần load
'A3:N100000': vùng dũ liệu trong sheet load
- Và sử dụng một số lệnh cơ bản khác như: Abs, mod, max để tiến hành lọc và sử
lý số liệu.
Đề tài tốt nghiệp Trang 19
Chương II: Nghiên cứu cách đọc dữ liệu vào chương trình MATLAB từ kết quả phân tích nội lực của phần mềm ETABS
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
- Sơ đồ quá trình đọc và xuất dữ liệu từ Etabs vào Mathlab:
CODE CHƯƠNG TRÌNH:
- [NL,DD] = uigetfile('*.xlsx;*xls');% Load nội lực từ file
excel
- C=fullfile(DD,NL);%lấy đường dẫn và tên file gán vào biến C
- handles.unit_NL=xlsread(C,'Column Forces','A3:N100000')
% Lưu vào Handles
- guidata(hObject,handles) %luu vào thu mục chung
- set(handles.C,'string',C);%hiển thị đường dẫn trên giao diện
Đề tài tốt nghiệp Trang 20
Chương III: Nghiên cứu cách tổ hợp nội lực cột tự động theo tiêu chuẩn hiện hành.
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
CHƯƠNG III:
NGHIÊN CỨU CÁCH TỔ HỢP NỘI LỰC CỘT TỰ ĐỘNG
THEO TIÊU CHUẨN HIỆN HÀNH.
3.1 CÁCH TỔ HỢP NỘI LỰC KHUNG THEO TIÊU CHUẨN:
- Nội lực để tính tóan nén lệch tâm xiên được lấy từ kết quả tổ hợp tải trọng,
trong đó cần chú ý đến các bộ ba nội lực (N, Mx, My) sau:
Nmax và Mx, My tương ứng
Mxmax và N, My tương ứng
Mymax và N, Mx tương ứng
Mx&My đều lớn và N tương ứng
Có độ lệch tâm e1x =
N
M x hoặc e2x =
N
M y lớn.
- Trong mỗi bộ ba nội lực, cần xét đến độ lệch tâm ngẫu nhiên ea theo mỗi
phương và ảnh hưởng uốn dọc theo từng phương. Hệ số uốn dọc theo từng phương i
được tính theo công thức sau:
i =
criN
N
1
1
;
- Với vật liệu đàn hồi, Ncri = 2
2
oi
i
l
EJ
. Với bê tông cốt thép , Ncr tính theo công
thức thực nghiệm.
- Sơ đồ nội lực tính tính toán được đưa về thành lực N đặt tại điểm D có toạ độ
là xeox và yeoy (Hình 1.2). Điểm E có thể nằm bên trong hoặc bên ngoài tiết diện, ở
góc phần tư nào là phụ thuộc vào chiều tác dụng của Mx và My.
- Sau khi xét độ lệch tâm ngẫu nhiên và uốn dọc thì mômen tác dụng theo 2
phương được tăng lên thành *xM và
*
yM :
*
xM = Nxeox ;
*
yM = Nyeoy .
x
e
o x
o y
e
y
x
y
C x
yC C y
xC
y
x
y
e
o y
o x
e
x
EE
Hình 1.2. Sơ đồ nội lực với độ lệch tâm
Đề tài tốt nghiệp Trang 21
Chương III: Nghiên cứu cách tổ hợp nội lực cột tự động theo tiêu chuẩn hiện hành.
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
- Tổ hợp nội lực cho cột khung không gian cần xét đến các trường hợp sau:
Nmax và Mx, My tương ứng
Mxmax và N, My tương ứng
Mymax và N, Mx tương ứng
- Trong quá trình tính toán nội lực cần quy định dấu của Mx,My; khi tổ hợp cần
chú ý đến dấu, Tuy vậy cột khung không gian thường được bố trí cốt thép đối xứng do
đó khi tổ hợp chỉ cần tìm Mxmax và Mymax là những mômen lớn nhất về giá trị tuyệt đối
mà không cần tìm giá trị lớn nhất của M dương và M âm. Nếu có dự kiến đặt cốt thép
không đối xứng thì bắt buộc phải tổ hợp để tìm được các bộ ba nội lực với Mx, My có
giá trị dương lớn nhất và giá trị âm nhỏ nhất
3.2 LẬP TRÌNH CÁCH TỔ HỢP NỘI LỰC CỘT TỰ ĐÔNG:
- Sơ đồ quá trình tổ hợp nội lực trong Mathlab:
Đề tài tốt nghiệp Trang 22
Chương III: Nghiên cứu cách tổ hợp nội lực cột tự động theo tiêu chuẩn hiện hành.
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
Code chương trình:
- data=handles.unit_NL % Gán dữ liệu vào handles
- l=size(data,1) % Đọc kích thước file load vào
- for k=1:l
- for n=2:1:k+1
- if mod(data(n,2),data(k,2))~=0,break,end %Tìm số trường hợp cột
- A(k)=data(k,2); % Số trường hợp tổ hơp cho một cột
- break
- end
- end
- t=size(A,2); %Đọc kích thước số trường hợp
- z=l/t; %Tất cả số cột của dự án
- for j=1:1:z
- h=((t*(j-1)+1):t*j);
- G=data(h,1); % Tến tầng
- F=data(h,3); %Tên Cột
- C=data(h,6); %Lực P
- D=data(h,10);%Mômen M2
- E=data(h,11); %Mômen M3
- C_x0=data(h,12); %Chiều rộng Cx
- C_y0=data(h,13); %Chiều cao Cy
- L1=data(h,14); %Chiều cao cột
- M=[C D E C_x0 C_y0 L1 G F]; % Ma trận M
- M=abs(M);
- Pmax(j)=max(abs(C)); % Giá trị Pmmax
- Mxmax(j)=max(abs(D)); %Giá trị Mxmax
- Mymax(j)=max(abs(E)); % Giá trị Mymax
- for x=1:1:t %Duyệt tìm Cx,Cy,L,Tầng,Tên cột từ Pmax,Mxmax,Mymax
- if M(x,1)==Pmax(j)
- Mx(j)=M(x,2);
- My(j)=M(x,3);
- Cx(j)=M(x,4);
- Cy(j)=M(x,5);
- L2(j)=M(x,6);
- G1(j)=M(x,7);
- F1(j)=M(x,8);
- Pmax=Pmax(:);
- Mx=Mx(:);
- My=My(:);
- Cx=Cx(:);
- Cy=Cy(:);
- L2=L2(:);
- G1=G1(:);
Đề tài tốt nghiệp Trang 23
Chương III: Nghiên cứu cách tổ hợp nội lực cột tự động theo tiêu chuẩn hiện hành.
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
- F1=F1(:);
- end
- if M(x,2)==Mxmax(j)
- Px1(j)=M(x,1);
- My1(j)=M(x,3);
- Cx1(j)=M(x,4);
- Cy1(j)=M(x,5);
- L3(j)=M(x,6);
- Mxmax=Mxmax(:);
- Px1=Px1(:);
- My1=My1(:);
- Cx1=Cx1(:);
- Cy1=Cy1(:);
- L3=L3(:);
- end
- if M(x,3)==Mymax(j)
- Px2(j)=M(x,1);
- Mx2(j)=M(x,2);
- Cx2(j)=M(x,4);
- Cy2(j)=M(x,5);
- L4(j)=M(x,6);
- Mymax=Mymax(:);
- Px2=Px2(:);
- Mx2=Mx2(:);
- Cx2=Cx2(:);
- Cy2=Cy2(:);
- L4=L4(:);
- end
- end
- end
- Tohop1=[Pmax Mx My Cx Cy L2
- Px1 Mxmax My1 Cx1 Cy1 L3
- Px2 Mx2 Mymax Cx2 Cy2 L4] % Tổ hơp nội lực lấy ra
Đề tài tốt nghiệp Trang 24
Chương IV: Xây dựng chương trình thiết kế cốt thép cột
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
CHƯƠNG IV:
XÂY DỰNG CHƯƠNG TRÌNH THIẾT KẾ CỐT THÉP CỘT
4.1. CÔNG THỨC GẦN ĐÚNG TÍNH TOÁN CẤU KIỆN BTCT CHỊU NÉN
LỆCH TÂM XIÊN:
Phương pháp gần đúng dựa trên việc biến đổi trường hợp nén lệch tâm xiên thành
nén lệch tâm phẳng tương đương để tính cốt thép. Nguyên tắc của phương pháp này
được trình bày trong tiêu chuẩn thiết kế của nước Anh BS:8110 và của Mỹ ACI:318,
dựa vào nguyên tắc đó để lập ra các công thức và điều kiện tính toán phù hợp với tiêu
chuẩn Việt Nam TCXDVN 5574:2012.
Xét tiết diện có cạnh Cx, Cy. Điều kiện để áp dụng phương pháp gần đúng là:
0.5
y
x
C
C
2, cốt thép được đặt theo chu vi, phân bố đều hoặc mật độ cốt thép trên
cạnh b có thể lớn hơn.
Tiết diện chịu lực nén N, moment uốn Mx, My, độ lệch tâm ngẫu nhiên eax, eay. Sau
khi xét uốn dọc theo hai phương, tính được hệ số x, y. Moment đã gia tăng Mx1; My1.
Mx1= ye0yN ; My1= xe0xN
Tùy theo tương quan giữa hai giá trị Mx1, My1 với kích thước các cạnh mà đưa về một
trong hai mô hình tính toán (theo phương x hoặc y). Điều kiện và ký hiệu theo bảng sau:
Mô hình Theo phương Mx Theo phương My
Điều kiện
y
x
C
M 1 >
x
y
C
M 1
x
y
C
M 1
>
y
x
C
M 1
Ký hiệu
h=Cy; b=Cx
M1= Mx1; M2= My1
ea= eax+0.2eay
h= Cx; b= Cy
M1= My1; M2= Mx1
ea= eay+0.2eax
Giả thiết chiều dày lớp đệm a, tính h0= h–a; Z = h–2a; chuẩn bị các số liệu Rb; Rs;
Rs’; R như đối với trường hợp nén lệch tâm phẳng.
Tiến hành tính toán theo trường hợp đặt cốt thép đối xứng:
x1 =
bR
N
b
Hệ số chuyển đổi m0
Khi:
x1 h thì m0 = 1 –
h
x6,0
Đề tài tốt nghiệp Trang 25
Chương IV: Xây dựng chương trình thiết kế cốt thép cột
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
x1 > h thì m0 = 0.4
Tính mômen tương đương (đổi nén lệch tâm xiên ra nén lệch tâm phẳng)
M= M1+ m0M2
b
h
Độ lệch tâm:
e1=
N
M
; e0= e1+ea
e= e0+
2
h
– a
Tính toán độ mảnh theo hai phương:
x=
x
x
i
l0 ; y=
y
y
i
l0
= max(x;y)
Dựa vào độ lệch tâm e0 và giá trị x1 để phân biệt các trường hợp tính toán.
a) Trường hợp 1: Nén lệch tâm rất bé khi =
0
0
h
e
0.3, tính toán gần như nén đúng tâm.
Hệ số ảnh hưởng độ lệch tâm
e =
)2)(5.0(
1
Hệ số uốn dọc phụ thêm khi xét nén đúng tâm:
e = +
3.0
)1(
Khi 14 lấy = 1
Khi 14 < < 104 lấy theo công thức sau:
= 1.028 – 0.00002882 – 0.0016
Diện tích toàn bộ cốt thép dọc As:
Ast
bs
b
e
RR
bhR
N
Cốt thép được chọn đặt đều theo chu vi (mật độ cốt thép trên cạnh b có thể lớn
hơn).
b) Trường hợp 2: Khi x1> Rh, tính toán theo trường hợp nén lệch tâm bé.
Đề tài tốt nghiệp Trang 26
Chương IV: Xây dựng chương trình thiết kế cốt thép cột
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
Ta phải lập chương trình để xác định chiều cao vùng nén x.
Từ 2 điều kiện cân bằng, kết hợp với phương trình tính s đối với bê tông có cấp
độ bền B30, cốt thép Rs 365 MPa, ta có phương trình bậc 3 xác định x. Với mức độ
gần đúng, có thể tính x theo công thức (2-10) được viết lại như sau:
= +
1 −
1 + 50
ℎ
=
ℎ
Diện tích cốt thép As tính theo công thức:
Ast=
zkR
x
hbxRNe
sc
b )
2
( 0
Hệ số k < 0.5 là hệ số xét đến vấn đề đặt cốt thép phân bố theo chu vi cho toàn bộ
tiết diện. Quy định lấy k=0.4.
c) Trường hợp 3: Khi x1 Rh0, tính toán theo trường hợp nén lệch tâm lớn.
Khi 2a’ x1 Rh0, lấy x = x1 và tính As theo công thức sau:
Ast =
ZkR
x
hbxRNe
sc
b
2
0
Trường hợp Rs = Rsc, dùng công thức:
Ast=
ZkR
hxeN
s
)5.0( 01
Khi xảy ra x1 < 2a’, giả thiết để tính x1 là không đúng, không thể dùng giá trị x1,
sử dụng công thức:
Ast =
ZkR
ZeN
ZkR
Ne
ss
)('
Cốt thép được đặt theo chu vi, trong đó cốt thép đặt theo cạnh b có mật độ lớn
hơn hoặc bằng mật độ theo cạnh h.
Đề tài tốt nghiệp Trang 27
Chương IV: Xây dựng chương trình thiết kế cốt thép cột
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
4.2. VIẾT CHƯƠNG TRÌNH TÍNH TOÁN CỐT THÉP LỆCH TÂM XIÊN:
a. SƠ ĐỒ TÍNH TOÁN:
Đề tài tốt nghiệp Trang 28
Chương IV: Xây dựng chương trình thiết kế cốt thép cột
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
Đề tài tốt nghiệp Trang 29
Chương IV: Xây dựng chương trình thiết kế cốt thép cột
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
CODE CHƯƠNG LỆCH TÂM XIÊN TRÌNH:
- Rb=str2double(get(handles.Rb1,'string'));%Cấp độ bền BT
- Rs=str2double(get(handles.Rs1,'string'));%Cường độ thép
- Rsc=str2double(get(handles.Rsc1,'string'));% Cường độ thép
- Eb=str2double(get(handles.Eb1,'string'));%Modul đàn hồi BT
- csi=str2double(get(handles.csi1,'string'));% Csi
- a=str2double(get(handles.a1,'string'));%Lớp bảo vệ BT
- v=size(Tohop1,1)%Số trường hợp tính toán
- for i=1:1:v;
- M_x(i)=Tohop1(i,2);%Momen theo phương x
- M_y(i)=Tohop1(i,3);%Momen theo phuong y
- N(i)=Tohop1(i,1);%Lực dọc
- C_x(i)=Tohop1(i,4);%Chiều rộng
- C_y(i)=Tohop1(i,5);%Chiều cao
- L(i)=Tohop1(i,6);%chiều dài cột
- l0_x=L(i)*0.7;%chiều dài tính toán theo phương x
- landa_x=l0_x/(0.288*C_x(i));
Đề tài tốt nghiệp Trang 30
Chương IV: Xây dựng chương trình thiết kế cốt thép cột
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
- l0_y=L(i)*0.7;%Chiều dài tính toán theo phương y
- landa_y=l0_y/(0.288*C_y(i));
- e01_x=M_x(i)/N(i);% Độ lệch tâm tĩnh học theo phương x
- e_ax=max(L(i)/600,C_x(i)/30);%Độ lêch tâm ngẫu nhiên theo phương x
- e0_x=max(e01_x,e_ax);%Giá trị lệch tâm ban đầu
- e01_y=M_y(i)/N(i);% Độ lệch tâm tĩnh học theo phương y
- e_ay=max(L(i)/600,C_y(i)/30);% Độ lêch tâm ngẫu nhiên theo phương y
- e0_y=max(e01_y,e_ay);% Độ lệch tâm ban đầu
- if landa_x>28
- zeta_x=(0.2*e0_x+1.05*C_x(i))/(1.5*e0_x+C_x(i));
- I=(C_y(i)*C_x(i)^3)/12;%Momen quán tính theo phương x
- N_cr=(2.5*zeta_x*Eb*10^3*I)/(l0_x^2);%Lực nén tới hạn x
- nx=1/(1-N(i)/N_cr);%Độ mảnh
- elseif landa_x<=28
- nx=1;
- end
- M1_x=M_x(i)*nx;%Momen x
- if landa_y>28
- zeta_y=(0.2*e0_y+1.05*C_y(i))/(1.5*e0_y+C_y(i));
- I=(C_x(i)*C_y(i)^3)/12;% Momen quán tính theo phương x
- N_cr=(2.5*zeta_y*Eb*10^3*I)/(l0_y^2);% Lực nén tới hạn x
- ny=1/(1-N(i)/N_cr); % Độ mảnh theo phương y
- elseif landa_y<=28
- ny=1;
- end
- M1_y=M_y(i)*ny;%Momen theo y
- if M1_x/C_x(i)>M1_y/C_y(i)
- h=C_x(i);%Chiều cao
- b=C_y(i);%Chiều rộng
- M1=M1_x;%Momen theo phương x
- M2=M1_y;%Momen theo phương y
- e_a=e_ax+0.2*e_ay;%Độ lệch tâm ngẫu nhiên
- else M1_x/C_x(i)<=M1_y/C_y(i)
- h=C_y(i);%Chiều cao
- b=C_x(i);%Chiều rộng
- M1=M1_y;%Momen theo phương y
- M2=M1_x;%Momen theo phuong x
- e_a=e_ay+0.2*e_ax;%Độ lệch tâm ngẫu nhiên
- end
- h0=h-a;%Chiều cao làm việc của BT
- Z_a=h-2*a; %Khoảng cách giữa trọng tâm As và As’
- X_1=N(i)/(Rb*1000*b);%chiều cao vùng chịu nén
- if X_1<=h0;
- m_0=1-(0.6*X_1)/h0 ;
- else X_1<=h0
- m_0=0.4
- end
- M=M1+m_0*M2*h/b;%Momen
- e_01=M/N(i);%Độ lệch tâm tính đổi
Đề tài tốt nghiệp Trang 31
Chương IV: Xây dựng chương trình thiết kế cốt thép cột
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
- e_0=max(e_a,e_01);%độ lệch tâm ban đầu
- e=e_0+0.5*h-a;% Độ lệch tâm
- epxilon=e_0/h0;%Biến dạng
- if epxilon<=0.3 %Theo đk lệch tâm bé xem như đúng tâm
- landa=max(landa_x,landa_y)%độ mảnh
- if 14<landa<104
- phi_0=1,028-0.0000288*(landa)^2-0.0016*landa
- else landa<=14
- phi_0=1
- end
- gama_e=1/((0.5-epxilon)*(2+epxilon))
- phi_e=phi_0+(1-phi_0)*epxilon/0.3
- Ast(i)=((gama_e*N(i)*10^3/phi_e-Rb*10^6*b*h)/(Rsc*10^6-
Rb*10^6))*10^4;%Diện tích cốt thép
- else epxilon>0.3
- if X_1<=csi*h0;%Điều kiện lệch tâm lớn
- X=X_1;
- As(i)=((N(i)*(e-h0+(X)/2))*10/(Rsc*Z_a));%Diện tích cốt thép
- Ast(i)=2.5*As(i);%Cốt thép toàn chu vi
- elseif X_1>csi*h0;%Điều kiện lệch tâm bé
- e_0=M/N(i);
- X=(csi+(1-csi)/(1+50*epxilon^2))*h0;
- As(i)=((N(i)*10^3*e-(Rb*10^6*b*X*(h0-
X/2)))*10^4/(Rsc*10^6*Z_a))%Diện tích cốt thép
- Ast(i)=2.5*As(i);%Cốt thép toàn chu vi
- end
- end
- b=Ast(1:1:i/3);
- c=Ast((i/3+1):1:2*i/3);
- d=Ast((2*i/3+1):1:i);
- K=[b(:) c(:) d(:)];
- end
- for y=1:1:i/3
- Q(y)=max(K(y,:));
- end
- Q=Q(:)
- U=[G1 F1 Q]
- [filename, pathname] = uiputfile('*.xlsx');%Chọn vị trí lưu
- path_file=fullfile(pathname,filename);%đường dẫn của file
- xlswrite(path_file,U,'Thep');%lưu file
CODE CHƯƠNG TRÍNH LÊCH TÂM PHẲNG:
- Rb=str2double(get(handles.Rb1,'string'))% Cấp độ bền BT
- Rs=str2double(get(handles.Rs1,'string'))% Cường độ thép
- Rsc=str2double(get(handles.Rsc1,'string'))% Cường độ thép
- Eb=str2double(get(handles.Eb1,'string'))% Modul đàn hồi BT
- csi=str2double(get(handles.csi1,'string'))% Csi
- M=str2double(get(handles.M1,'string'))% Momen
- N=str2double(get(handles.N1,'string'))% Lực dọc
- L=str2double(get(handles.L1,'string'))% chiều dài cột
- b=str2double(get(handles.b1,'string'))% Chiều rộng
Đề tài tốt nghiệp Trang 32
Chương IV: Xây dựng chương trình thiết kế cốt thép cột
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
- h=str2double(get(handles.h1,'string'))% Chiều cao
- a=str2double(get(handles.a1,'string'))% Lớp bảo vệ BT
- gama_b=str2double(get(handles.gama_b1,'string'))% Điều kiện làm việc
- l0=L*0.7;%Chiều dài cột tính toán
- landa=l0/(0.288*h);
- ea=max(l/600,h/30)
- e0=max(e01,ea)
- if landa<28
- disp('Khong tinh Ncr')
- nxi=1;
- e=nxi*e0+0.5*h-a;
- e_1=nxi*e0-0.5*h+a_1;
- x=N/(gamma_b*Rb*b);
- elseif lamda>28;
- disp('tinh Ncr')
- eta=(0.2*e0+1.05*h)/(1.5*e0+h);
- Ncr=2.5*eta*Eb*I/l0^2;
- nxi=1/(1-N/Ncr);
- e=nxi*e0+0.5*h-a;
- e_1=nxi*e0-0.5*h+a_1;
- x=N/(gamma_b*Rb*b);
- end
- if 2*a_1<x<xi_r*h0;
- As=N*(e-h0+x/2)/[Rsc*(h0-a_1)]; %Diện tích cốt thép
- elseif x<2*a_1;
- As=N*e_1/[Rs*(h0-a_1)]; %Diện tích cột thép
- elseif x>xi_r*h0;
- exi=e0/h;
- x1=[xi_r+(1-xi_r)/(1+5*exi^2)]*h0;
- As=[N*e-gamma_b*Rb*b*x1*(h0-0.5*x1)]/[Rsc*(h0-a_1)]%Diện tích cốt thép
- end
Đề tài tốt nghiệp Trang 32
Chương V: Xây dựng giao diện chương trình thiết kế
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
CHƯƠNG V:
XÂY DỰNG GIAO DIỆN CHƯƠNG TRÌNH THIẾT KẾ
5.1. SƠ LƯỢC VỀ LẬP TRÌNH GIAO DIỆN NGƯỜI DÙNG (GUIDE)
TRONG MATLAB:
I. GUIDE LÀ GÌ
- GUI (Graphical User Interface) là giao diện đồ họa có điều khiển bởi nhiều
thanh công cụ được người lập trình tạo sẵn, cho tương tác giữa người dùng là giao
diện chương trình, Mỗi chương trình được người lập trình tạp sẵn giao diện thực
hiện một vài chức năng được người lập tình tạo sẵn và giao tiếp với người sử dụng.
- Ứng dụng của Matlab lập trình giao diện rất mạnh và dễ thực hiện, nó có
thể tạo ra giao diện người dùng tương tự VBB, C++
- GUI bao gồm đầy đủ các chương trình hỗ trợ như thực hiện phép toán
LOGIC, mô phỏng không gian 2D,3D, đọc hiển thị dữ liệu, liên kết đa phương
tiện.Giao tiếp với người dùng thông qua hình ảnh, các nút nhấn thực thi ...
- Hầu hết GUI chỉ thực hiện (trả lời) lệnh người dùng thông qua các tác
động của người dùng lên giao diện, người sử dụng không cần biết cấu trúc chương
trình vẫn có thể thực hiện được. GUI được thực hiện thông qua các hàm
CALLBACK. Khi người dùng tác động lên giao diện bằng các cách khác nhau, hàm
CALLBACK sẽ được gọi để thực thi.
II. BẮT ĐẦU VỚI GUI:
- Có 2 phương pháp để lập trình GUI
Cách đơn giản nhất là sử dụng công cụ có sẵn trong GUI Matlab để lập trình.
Ưu điểm của cách này là dễ thực hiện và các hàm FUNCTION được GUI tự tạo sẵn.
+ Cách này được lập trình từ siêu tệp Mfile bằng các hàm FUNCTION do
người lập trình tự viết, nó có ưu điểm là tùy biến cao. Tuy nhiên cách này khó hơn
và đòi hỏi người lập trình phải có hiểu biết sâu và trình độ.
- Ở đây với những bài tập đơn giản về giao diện, ta thực hiện cách thứ nhất để
lập trình giao diện với nhưng công cụ được hỗ trợ sẵn trong Matlab
- Khi thao tác trên giao diện chúng ta không thể thay đổi các hàm trong nó.
III. CÁC BƯỚC CẦN THỰC HIỆN TRƯỚC KHI BẮT ĐẦU
- Trước tiên để bắt đầu lập trình ta cần phải xác định mục đích của chương
trình là gì?
- Sau đó tiến hành xác định các bước thực hiện để mo phỏng giao diện người
dùng sao cho hợp lí và chính xác
Đề tài tốt nghiệp Trang 33
Chương V: Xây dựng giao diện chương trình thiết kế
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
- Bước cuối cùng là viết chương trình và thực thi.
Sơ đồ khối mô tả cách thức hoạt động của GUI khi thao tác trên giao diện
- Khi bắt đầu với GUI, GUI tự động tạo ra các mã tập tin được thực thi bởi
hàm Callback function. GUI thao tác trên những kí tự mà người dùng nhập vào vào
chuyển sang dạng số học, nói cách khác, giao diện GUI tương tự như những lệnh thực
thi trong Comment Windowns.
- Tất cả các hàm callback thực thi những lệnh chứa trong nó.
- Chúng ta nên sử dụng chức năng HELP của Matlab để tìm hiểu them tất cả
cách hàm thực thi trong GUI, cách tạo và thao tác với GUI
5.2. BẮT ĐẦU THAO TÁC VỚI GUI:
Đây là phiên bản Matlab R2010B, các phiên bản khác cũng có thể thao tác tương tự.
I. KHỞI ĐỘNG GUI
- Thực hiện khởi động Matlab đến GUI theo hình sau:
+ Khởi động Matlab từ biểu tượng Matlab trên màn hình desktop
+ Trong cửa sổ Comment Windowns gõ lệnh “guide” và enter: ta được giao diện
màn hình như sau:
Đề tài tốt nghiệp Trang 34
Chương V: Xây dựng giao diện chương trình thiết kế
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
- Chọn: Dòng “Blank GUI (Default)”: để tao một giao diện gui bắt đầu với
giao diện trống.
- Các dòng còn lại để khởi động GUI với một giao diện được tạo sẵn.
+ Chú ý: Trong Matlab GUI hỗ trợ sẵn hộp thoại công cụ “Modal Question
Dialog” để tạo ra giao diện với 2 nút tùy chọn “yes no question” để thực thi lệnh. Ta
có thể ứng dụng để tọa lệnh thoát khỏi chương trình bằng nút nhấn Exit.
- Nhấp chọn OK để tạo một giao diện bắt đầu với giao diện trống. ta được hình
ảnh giao diện trong GUI như sau:
- Trước khi tạo giao diện ta lưu File lại, Matlab sẽ tự động lưu 2 file, một file
đuôi .m và một file đuôi .fig. hoặc ta có thể nhấn F5, Matlab sẽ chuyển đường dẫn đến
thư mục lưu file, chọn nơi cần lưu và nhấn Save.
Đề tài tốt nghiệp Trang 35
Chương V: Xây dựng giao diện chương trình thiết kế
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
II. MÔ TẢ CHỨC NĂNG CÁC CÔNG CỤ TRONG GIAO DIỆN GUI
- Trong giao diện trên chúng ta có thể thao tác để tùy biến các thanh công cụ phù
hợp với mục đích sử dụng.
Mô tả chức năng các công cụ cơ bản:
1) Nhấp chuột vào để thay đổi độ rộng của giao diện
2) Là nơi để cân chỉnh các nút, biểu tượng trên giao diện.
3) Là nơi để tạo giao diện con liên kết với giao diện chính.
4) Nút Play (Run) để thực thi chương trình.
- Phía bên trái là nhóm các biểu tượng được Matlab GUI hỗ trỡ sẵn:
+ Push Button: là nút nhấn, khi nhấn vào sẽ thực thi lệnh trong cấu trúc hàm
callback của nó
+ Slider: là thanh trượt cho phép người dùng di chuyển thanh trượt để thục thi
lệnh.
+ Radio Button: Nó giống như Check Box nhưng thường được sử dụng để tạo
sự lựa chọn duy nhất, tức là 1 lần chỉ được chọn 1 trong số các nhóm nhiều nút. Khi
một ô được chọn thì các ô còn lại trong nhóm bị bỏ chọn.
+ Check box: Sử dụng để đánh dấu tích (thực thi) vào và có thể check nhiều ô để
thực thi
+ Edit Text: là nơi các kí tự được nhập vào từ người dùng, người dùng có thể
thay đổi được.
+ Static Text: Là các kí tự được hiển thị thông qua các callback, hoặc thông
thường để viết nhãn cho các biểu tượng, người dùng không thể thay đổi nội dung.
Pop-up Menu: mở ra danh sách các lực chọn khi người dùng nhấp chuột vào.
Chỉ chọn được 1 mục trong danh sách các mục.
+ List Box: hộp thoại danh sách cách mục, cho phép người dùng chọn một hoặc
nhiều mục.
+ Toggle Button: là nút nhấn có 2 điều khiển, khi nhấp chuột và nhả ra, nút nhấn
được giữ và lệnh thực thi, khi nhấp chuột vào lần thứ 2, nút nhấn nhả ra, hủy bỏ lệnh
vừa thực thi.
+ Table: tạo ra một bảng tương tự trong Excel.
+ Axes: Đây là giao diện đồ họa hiển thị hình ảnh, nó có nhiều thuộc tính bao
gồm: không gian 2D (theo trục đứng và trục ngang), 3D (hiển thị không gian 3 chiều)
Đề tài tốt nghiệp Trang 36
Chương V: Xây dựng giao diện chương trình thiết kế
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
+ Panel: Tạo ra một mảng nhóm các biểu tượng lại với nhau giúp ta dễ kiểm soát và
thao tác khi di chuyển.
+ Button Group: quản lí sự lựa chọn của nút Radio Button.
+ Active Control: Quản lí một nhóm các bút hoặc các chương trình liên quan với
nhau trong Active.
III. GIỚI THIỆU HỘP THOẠI INSPECTOR
- Tất cả các hộp thoại bên trái vừa nêu trên để sử dụng, chúng ta nhấp chọn và
kéo thả vào vùng cần thiết kế, mỗi hộp thoại có các thông số chỉnh riêng, để chỉnh các
thông số liên quan đến hộp thoại nào ta nhấp đôi vào hộp thoại đó (hoặc click chuột
phải chọn Property Inspector) hộp thoại Inspector hiện ra như sau, dùng thanh trượt
kéo xuống để xem hết chức năng:
- Phía bên trái của Menu Inspector là tên thuộc tính, có thể gọi thực thi các thuộc
tính này bằng các lệnh.
- Phía bên phải là giá trị của thuộc tính, giá trị này do người dùng đặt, có thể
thay đổi thông qua các lệnh gọi (callback), hoặc được thiết lập trước.
5.3. THIẾT KẾ GIAO DIỆN (GUI):
I. THIẾT KẾ GIAO DIỆN
- Nhấn tổ hợp phím Ctrl + S để thực hiện lưu file, sau khi chọn đường dẫn để
lưu file (Chú ý không lưu file với các biến đặc biệt hoặc bằng các con số khởi đầu),
nhấn save Matlab sẽ tự động tạo ra 2 file gồm một file .m và một file .fig, trong đó
file .m là Mfile chứa các hàm Matlab đã tạo sẵn hỗ trợ giao diện.
Đề tài tốt nghiệp Trang 37
Chương V: Xây dựng giao diện chương trình thiết kế
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
- Lần lượt kéo thả các nút như hình sau:
String: Giá trị trong mọi ô String đều được hiển thị lên giao diện, nó thường
được dùng để làm nhãn chỉ dẫn.Nó hiển thị khi được gọi bởi hàm, hoặc được thiết lập
trước từ người lập trình. Hình ảnh chi tiết minh họa bên dưới:
Tag: là giá trị của thuộc tính. Thuộc tính Tag cực kì quan trọng, nó là nhãn của
một đối tượng, được sử dụng để gọi thuộc tính của đối tượng thông qua các hàm để
thay đổi giá trị của thuộc tính giá trị của Tag có phân biệt chữ in hoa, chữ
thường,không được đặt tên Tag trùng với tên file đã lưu hay trùng với bất cứ các kí tự
đặc biệt nào...Mỗi hộp thoại chỉ có một Tag duy nhất và độc quyền.
- Chỉnh sửa các tag và string:
- Sau khi viết xong, nhấn OK để lưu lại
- Sau khi chỉnh sửa các thông số ta dùng chuột để di chuyển các hộp thoại, bố trí
hộp thoại theo mong muốn, ta được giao diện như sau:
Đề tài tốt nghiệp Trang 38
Chương V: Xây dựng giao diện chương trình thiết kế
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
II. MỘT VÀI CHỨC NĂNG MỞ RỘNG
- Chú ý, để tạo sự thẳng hàng, cột của các hộp thoại cho đẹp mắt ta làm như sau:
Nhấn giữ phím Ctrl và nhập vào các hộp thoại muốn chỉnh sửa, Trên Menu chọn
.Hộp thoại Align hiện ra như sau: Align Objects
- Trong hộp thoại trên ta có thể cân chỉnh các nút, nhóm nút sao cho chúng
thẳng hàng, thẳng cột và đều nhau. Sau khi cân chỉnh nhấn nút Apply để lưu thay đổi.
- Bây giờ ta thiết lập thuộc tính chung cho giao diện (toàn bộ vùng thiết kế hay
nền giao diện)
+ Nhấp đúp chuột vào bất cứ vị trí nào trên nền giao diện để vào hộp thoại
Inspector
(hoặc trên menu chọn View -> Property Inspector), hộp thoại Inspector hiện ra
như sau:
+ Thiết lập Tag là “exit”
Đề tài tốt nghiệp Trang 39
Chương V: Xây dựng giao diện chương trình thiết kế
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
- Tiếp tục tùy chọn nâng cao , vào Menu Tools -> GUI Options
Hộp thoại hiện ra như sau:
- Trên hộp thoại Resize behavior chọn dòng số 2 (Proportional), dòng này cho
phép người dùng thay đổi khích thước của giao diện và các đối tượng cũng tự động
thay đổi kích thước phù hợp với nền giao diện, nhấn OK để lưu thay đổi.
5.4. THỰC HIỆN HÀM TRONG GUIDE:
I. GIAO DIỆN TRONG MFILE:
- Khi đã cân chỉnh xong toàn bộ giao diện trong GUI, nhấn F5 (hoặc nhân tổ
hợp phím Ctrl + T hoặc nhấp vào biểu tượng trên thanh Menu).
- Khi Run, Matlab sẽ tự chạy file .m và hiển thị doa diện đồ họa lên màn hình.
ở đây ta bắt đầu thao tác với file .m
- Khi ta chưa thao tác trong Trong file .m xuất hiện như trên hình, trong đó, tất
cả các hàm function đều được Matlab hỗ trợ tạo sẵn các hàm chức năng có liên quan,
ta chỉ việc thao tác trên đó
Đề tài tốt nghiệp Trang 40
Chương V: Xây dựng giao diện chương trình thiết kế
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
- Mỗi sau một hàm bất kì đều có các chú thích bên dưới (sau dấu %), ta có thể
xóa toàn bộ chúng đi đễ dễ nhìn cũng không ảnh hưởng đến các hàm.
- Trong Mfile có sẵn các hàm callback, ta có thể tìm trong Mfile các hàm liên
quan để viết câu lệnh, tuy nhiên, để nhanh hơn chúng ta có thể làm như sau:
+ Quay lại màn hình giao diện GUI vừa thiết kế, nhấp vào hộp thoại muốn thực
thi hàm callback, nhấp chuột phải chọn View Callbacks -> Callback, Như hình sau:
- Sau đó hàm callback sẽ tự động được gọi và con trỏ chuột sẽ tìm đến vị trí của
nó trong Mfile.
- Bây giờ khi muốn gọi một hàm nào ta cũng có thể thực hiện như trên. Sau đó
tiến hành viết câu lệnh cho nó.
Đề tài tốt nghiệp Trang 41
Chương V: Xây dựng giao diện chương trình thiết kế
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
II. MỘT SỐ HÀM TRONG GUI:
- Hàm callback được lập trình cho các nút button, checkbox, edit text nhưng
static text và axes thì không có hàm callback.
- Mỗi một callback được viết với cấu trúc như sau:
function Tag_Callback(hObject, eventdata, handles)
- Với Tag chính là giá trị của Tag mà ta đã đặt khi tạo giao diện. Các hàm
chứa bên trong callback bao gồm hObject, evendata,handles
+ hObject là hàm truy cập nội bộ của mỗi function riêng lẽ
+ Evendata là hàm xác đinh thuộc tính của function
+ Handles là hàm truy cập liên kết giữa các function, nó bao gồm tất cả các cấu
trúc của người dùng, được sử dụng để truy xuất qua các điều khiển khác.
- Hàm Get cho phép ta gọi thuộc tính của đối tượng.
- Hàm Set cho phép ta đặt giá trị cho thuộc tính của đối tượng
III. KHÁI NIỆM BIẾN HỆ THỐNG:
- Để dễ dàng trong việc tạo sự liên kết giữa các hàm callback với nhau, Matlab
GUI hỗ hợ một biến chung gọi là biến hế thống giúp các hàm callback đều sử dụng
được, sau đây là cách sử dụng:
- Trước khi bắt đầu lập trình ta tìm dòng sau trong Mfile và them một dòng mới
như sau: (hình mình họa):
- Giải thích: handles.unit_NL lúc này là biến trung gian trong hệ thống, bất cứ
hàm callback nào cũng có thể sử dụng nó, ban đầu ta gán cho nó giá trị =0. Chúng ta
phải đặt nó ở hàm function OpeningFcn (xem hình) để biến này có thể được khởi
động ngay khi chương trình bắt đầu chạy.
Đề tài tốt nghiệp Trang 42
Chương V: Xây dựng giao diện chương trình thiết kế
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
Để lấy giá trị của nó ta chỉ việc viết câu lệnh tương tự như sau:
data=handles.unit_NL; % gia tri dược lưu vào biến data
- Biến hệ thống được lưu lại với lệnh: guidata(hObject,handles)
- Đặt lệnh trên ngay khi kết thúc hàm function mà ta đặt biến hệ thống
- Biến hệ thống có thể có nhiều tùy ý nhưng không được trùng tên.
5.5. LẬP TRÌNH CÁC ĐỐI TƯỢNG CHÍNH:
I. CÁC NÚT GỌI:
1. Lập trình nút chọn BT (Pop-up Menu):
- a=get(handles.cuongdo,'value')
- switch a
- case 1
- set(handles.Rb') 1,'string','8.5)
- set(handles.Eb1,'string','23000')
- set(handles.muy1,'string','1.97')
- case 2
- end
Cấu trúc switch-case:
Switch biểu thức điều kiện
Case giá trị 1
Khối lệnh 1
Case{giá trị 2, giá trị 3, giá trị 4}
Đề tài tốt nghiệp Trang 43
Chương V: Xây dựng giao diện chương trình thiết kế
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
Khối lệnh 2
End
- Giải thích:
Giá trị của biểu thức điều kiện đem so sánh với giá trị thử 1, nếu chúng bằng
nhau thì khối lệnh 1 được thức hiện mà các khối lệnh tiếp theo đến trạng thái end
được bỏ qua, nếu chúng không bằng nhau thìu tiếp tục so sánh với các giá trị thứ
2, 3, 4 nếu 1 trong các gia trị này bằng thì thực hiện khối lệnh 2. Chú ý cấu trúc
switch-case phái có ít nhất 1 nhóm lệnh được thực hiện.
• Giải thích:
- a=get(handles.cuongdo,'value'): lấy giá trị từ ô thuộc tính cuongdo
- set(handles.Rb') 1,'string','8.5): hiển thị giá trị ra ô string có tag Rb
- Các Pop-up Menu còn lại thì tương tự
2. Lập trình nút LoadNL và LoadVL:
Đề tài tốt nghiệp Trang 44
Chương V: Xây dựng giao diện chương trình thiết kế
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
Mô hình khối:
- Thực hiện thao tác như bước vừa nói trên (minh họa trong hình), hàm callback
sẽ tự động gọi:
- Lần lượt viết các câu lệnh sau vào bên dưới:
[VL,DD1]=uigetfile(’*xlsx,*xls’);
C1=fuilfile(VL,DD1);
Handles.unit_VL=xlsread(C1,‘SOLIEU’,’D3:N11’);
guidata(hObject, handles) ;
set(handles.C1, 'string',C1);
- Giải thích:
Câu lệnh 1: [VL,DD1]=uigetfile(’*xlsx,*xls’);
C1=fuilfile(VL,DD1);
- Load những file có đuôi là xlsx và xls
+ [VL,DD1]: ở đây là một biến được gán.
C1:gán [VL,DD1] bằng biến C1
Câu lệnh 2: Handles.unit_VL=xlsread(C1,‘SOLIEU’,’D3:N11’);
+ handles.unit_VL : là một biến chung có thể được sử dụng giữa các hàm
callback khác nhau.
Xlsread: là hàm load file xlsx,xls.
(C1,‘SOLIEU’,’D3:N11’): tên sheet và vùng load dữ liệu
Câu lệnh 3: guidata(hObject, handles)
+ Câu lệnh trên để lưu handles (biến) của handles.unit_input vào hệ thống dữ
liệu chung.
+ guidata: lưu biến (handles.unit_input)
Câu lệnh 4: set(handles.C1, 'string',C1);
Hiển thị đường dẫn C1 ra màn hình giao diện.
Đề tài tốt nghiệp Trang 45
Chương V: Xây dựng giao diện chương trình thiết kế
Giáo viên hướng dẫn: Ths.Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
3. Lập trình nút Tính Thép ( Push Button ):
- Lần lượt viết các câu lệnh sau:
[filename, pathname]=uigetfile(‘*xlsx’);
Path_file=fuilfile(filename, pathname);
Xlswrite(path_file, U, ‘Thep’)
- Giải thích:
Cấu lệnh 1 và câu lệnh 2: như phần trên
Câu lệnh 3: Xlswrite(path_file, U, ‘Thep’)
Viết file thép và luu file đã xuất ra ngoài
- Chủ yếu dùng nhóm lệnh và cấu trúc như trên và ta có kết quả như sau :
Đề tài tốt nghiệp Trang 46
Chương VI: Kết luận
Giáo viên hướng dẫn: Ths. Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
CHƯƠNG VI: KẾT LUẬN
6.1 VỀ CHƯƠNG TRÌNH TÍNH GẦN ĐÚNG CỐT THÉP :
- Chương trình tính toán gần đúng cốt thép bố trí đều theo chu vi cấu kiện
bê tông cốt thép chịu nén lệch tâm xiên được xây dựng dựa theo PHƯƠNG PHÁP
GÂN ĐÚNG TÍNH CỐT THÉP, phù hợp với tiêu chuẩn Việt Nam TCXDVN
5574:2012
- Phương pháp gần đúng dựa trên việc biến đổi trường hợp nén lệch tâm
xiên thành nén lệc tâm phẳng tương đương để tính cốt thép. Nguyên tắc dựa trên
tiêu chuẩn nước anh BS8110 và của Mỹ ACI 318.
- Việc xây dựng chương trình tính toán gần đúng diện tích cốt thép của
cấu kiện bê tông cốt thép chịu nén lệch tâm xiên để cho ra kết quả chính xác hơn
là cần thêm nhiều nghiên cứu. Tuy nhiên, trong tính toán thiết kế thực hành, ta có
thể dùng công thức tính gần đúng để tính ra diện tích cốt thép, bố trí cốt thép và
kiểm tra lại bằng chương trình xây dựng biểu đồ tương tác. Hệ số k được nhập từ
trong chương trình, và sau quá trình tính toán, người sử dụng sẽ chọn được hệ số
k cho mình với độ an toàn và sai số cho phép phù hợp. Quá trình này cũng sẽ cho
ra được kết quả tính toán chính xác.
6.2 MỘT SỐ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI:
- Sử dụng chương trình tính gần đúng để tính toán thêm nhiều ví dụ hơn
để kiểm tra, cũng như cần thêm nhiều nghiên cứu hơn để tìm ra được giá trị hợp
lý của hệ số k, dùng biểu đồ tương tác để kiểm tra kết quả tính toán và những hiệu
chỉnh cần thiết để nâng cao tính chính xác của kết quả của công thức tính gần đúng.
- Hoàn thiện hơn nữa chương trình về giao diện và đồ hoạ, tự động nhận
kết quả nhanh hơn khi xuất từ Etabs, nghiên cứu thêm để tổ hợp các trường hợp
cột cốt thép có kết quả gần nhau, tiến hành đặt thép một cách tự động, vẽ cách bố
trí cốt thép và xác định toạ độ cốt thép tự động để chương trình có thể trở nên gần
gũi, mang tính trực quan và trở nên thông dụng hơn đối với người sử dụng.
Đề tài tốt nghiệp Trang 47
Tài liệu tham khảo
Giáo viên hướng dẫn: Ths. Lê Thanh Cao Sinh viên: Nguyễn Đức Phương
TÀI LIỆU THAM KHẢO:
1. Tiêu chuẩn thiết kế kết cấu bê tông cốt thép TCVN 5574-1991.
2. Tiêu chuẩn thiết kế kết cấu bê tông và bê tông cốt thép TCXDVN
5574:2012.
3. Phan Quang Minh, Ngô Thế Phong, Nguyễn Đình Cống.
Kết cấu bê tông cốt thép (phần cấu kiện cơ bản).
Nhà xuất bản khoa học và kỹ thuật, Hà Nội, 2006.
4. Nguyễn Đình Cống.
Tính toán tiết diện cột bê tông cốt thép.
Nhà xuất bản xây dựng, Hà Nội, 2006.
5. Nguyễn Viết Trung.
Thiết kế kết cấu bê tông cốt thép hiện đại theo tiêu chuẩn ACI.
Nhà xuất bản giao thông vận tải, Hà Nội, 2000.
6. Nguyễn Hoàng Hải, Nguyễn Khắc Kiểm, Nguyễn Trung Dũng, Hà Trần Đức
Lặp Trình MatLab
Nhà xuất bản khoa học và kĩ thuật,Hà Nội,2003
7. Nguyễn Phùng Quang
Matlab và Simulink
Nhà xuất bản khoa học và kĩ thuật, Hà Nội, 2004
Các file đính kèm theo tài liệu này:
- ung_dung_matlab_de_xay_dung_mot_so_chuong_trinh_tinh_toan_ket_cau_be_tong_cot_thep_btct_theo_tcvn_55.pdf