Luận án Nghiên cứu dao động kết cấu cầu dây văng dưới tác dụng của hoạt tải di động, xét đến độ gồ ghề ngẫu nhiên của mặt cầu
Kết cấu cầu dây văng (CDV) đƣợc áp dụng và phát triển trên cơ sở hoàn
thiện hệ dàn dây Gisclard theo hƣớng tạo một hệ bất biến hình gồm các dây xiên
chịu kéo và dầm cứng chịu uốn [9]. Từ chiếc cầu đầu tiên, cầu Stromsund đƣợc xây
dựng ở Thụy Điển năm 1955, đến nay kết cấu CDV đƣợc ứng dụng rộng rãi trên
toàn thế giới và đạt đƣợc các thành tựu rực rỡ. Hiện đã thống kê đƣợc trên 1000 cầu
dây văng và số lƣợng này ngày càng tăng thêm nhanh chóng. Các kỷ lục chiều dài
nhịp liên tục bị vƣợt qua trong thời gian rất ngắn, nhiều cầu đã trở thành di sản văn
hóa, biểu tƣợng kiến trúc, đánh dấu sự phát triển khoa học kỹ thuật của thời đại.
Cầu Russky – Nga với nhịp chính 1104m hoàn thành năm 2012 là cây cầu dây văng
có chiều dài nhịp lớn nhất hiện nay. Trong các hội nghị chuyên đề về kết cấu CDV
trên thế giới, CDV đƣợc tiếp tục nhận định là xu hƣớng phát triển chính trong
những năm tới. Nhiều dự án CDV nhịp trên 2000m đang đƣợc nghiên cứu nhƣ cầu
qua vịnh Messina (Italia), cầu qua vịnh Storebelt (Đan Mạch) và cầu qua eo biển
Gibraltar nối liền hai châu lục Âu-Phi.
Tóm tắt nội dung tài liệu: Luận án Nghiên cứu dao động kết cấu cầu dây văng dưới tác dụng của hoạt tải di động, xét đến độ gồ ghề ngẫu nhiên của mặt cầu
BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
NGUYỄN DUY THẢO
NGHIÊN CỨU DAO ĐỘNG KẾT CẤU
CẦU DÂY VĂNG DƢỚI TÁC DỤNG CỦA HOẠT TẢI
DI ĐỘNG, XÉT ĐẾN ĐỘ GỒ GHỀ NGẪU NHIÊN
CỦA MẶT CẦU
Ngành: Cơ kỹ thuật
MÃ SỐ: 62.52.01.01
LUẬN ÁN TIẾN SĨ KỸ THUẬT
___Đà Nẵng, 2018___
BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
NGUYỄN DUY THẢO
NGHIÊN CỨU DAO ĐỘNG KẾT CẤU
CẦU DÂY VĂNG DƢỚI TÁC DỤNG CỦA HOẠT TẢI
DI ĐỘNG, XÉT ĐẾN ĐỘ GỒ GHỀ NGẪU NHIÊN
CỦA MẶT CẦU
Ngành: Cơ kỹ thuật
MÃ SỐ: 62.52.01.01
LUẬN ÁN TIẾN SĨ KỸ THUẬT
NGƢỜI HƢỚNG DẪN KHOA HỌC
1. PGS.TS. Nguyễn Xuân Toản
2. GS.TS. Kuriyama Yukihisa
___Đà Nẵng, 2018___
LỜI CAM ĐOAN
Tác giả xin cam đoan đây là công trình nghiên cứu của riêng tác giả. Các số
liệu và kết quả nghiên cứu nêu trong luận án là trung thực và chƣa từng đƣợc tác giả
nào công bố trong các công trình nghiên cứu khoa học khác.
Đà Nẵng, ngày tháng năm 2018
Tác giả Luận án
NCS. Nguyễn Duy Thảo
LỜI CÁM ƠN
Trong quá trình thực hiện luận án “Nghiên cứu dao động kết cấu cầu dây
văng dưới tác dụng của hoạt tải di động, xét đến độ gồ ghề ngẫu nhiên của mặt
cầu”, tác giả đã thực hiện các nghiên cứu lý thuyết, chế tạo thiết bị thực nghiệm và
phân tích số liệu thực nghiệm tại Bộ môn Cầu – Khoa Xây Dựng Cầu Đƣờng và
Xƣởng chế tạo máy – Khoa Cơ Khí thuộc trƣờng Đại Học Bách Khoa, Đại học Đà
Nẵng dƣới sự hƣớng dẫn tận tình của tập thể các Thầy giáo hƣớng dẫn;
Tác giả xin bày tỏ lòng biết ơn sâu sắc tới PGS.TS Nguyễn Xuân Toản và
GS.TS Kuriyama Yukihisa đã tận tình hƣớng dẫn khoa học và giúp đỡ tác giả trong
suốt quá trình thực hiện đề tài luận án;
Tác giả xin bày tỏ lòng biết ơn sâu sắc tới GS.TS Kuriyama Yukihisa, GS.TS
Naoya Kasai và GS.TS Hiroshi Katsuchi đã hỗ trợ về tài chính c ng nhƣ các góp ý
khoa học trong thời gian tác giả đi học tập nghiên cứu và báo cáo các kết quả
nghiên cứu của luận án tại Đại học Quốc Gia Yokohama và Đại học Tokyo (Nhật
Bản);
Tác giả xin trân trọng cám ơn Ban giám đốc, Ban đào tạo Sau Đại học – Đại
học Đà Nẵng; Ban giám hiệu, Phòng Đào tạo Sau Đại học, Khoa Sƣ Phạm Kỹ
Thuật – Trƣờng Đại học Bách Khoa – ĐHĐN đã giúp đỡ và tạo điều kiện cho tác
giả hoàn thành luận án;
Tác giả xin chân thành cám ơn các quý Thầy cô giáo, các đồng nghiệp tại
Khoa Xây Dựng Cầu Đƣờng, Xƣởng cơ khí chế tạo máy – Trƣờng Đại học Bách
Khoa – Đại học Đà Nẵng; Khoa Cầu Đƣờng – Trƣờng Đại học Kiến Trúc Đà Nẵng;
Khoa Đào tạo quốc tế - Trƣờng Đại Học Duy Tân đã hỗ trợ tác giả trong công tác
chế tạo thiết bị đo đạc thực nghiệm và thực hiện các thí nghiệm hiện trƣờng để thu
thập các số liệu thực nghiệm tại các công trình cầu thực tế.
Trân trọng
i
MỤC LỤC
M C L C........i
M C L C H NH V ..iv
M C L C BẢNG ....vii
DANH M C CÁC KÝ HIỆU VÀ TỪ VIẾT TẮT ............................................................ viii
MỞ ĐẦU.. ......................................................................................................................... 1
CHƢƠNG 1. TỔNG QUAN VỀ NGHIÊN CỨU TƢƠNG TÁC ĐỘNG LỰC HỌC CÔNG
TRÌNH CẦU, CẦU D Y V NG DƢỚI TÁC D NG HOẠT TẢI XE DI ĐỘNG ............ 6
1.1. Mở đầu ....................................................................................................................... 6
1.2. Nghiên cứu tƣơng tác động lực học công trình cầu, cầu dây văng theo hƣớng đo đạc
thực nghiệm ....................................................................................................................... 6
1.3. Nghiên cứu tƣơng tác động lực học công trình cầu, cầu dây văng theo hƣớng phân
tích lý thuyết ...................................................................................................................... 8
1.3.1. Nghiên cứu dao động công trình cầu theo mô hình tiền định ............................. 8
1.3.2. Nghiên cứu dao động công trình cầu theo mô hình ngẫu nhiên, mô hình xét đến
độ gồ ghề ngẫu nhiên của mặt cầu .............................................................................. 12
1.3.3. Mục tiêu nghiên cứu của luận án ...................................................................... 15
1.4. Kết luận chƣơng 1 .................................................................................................... 17
CHƢƠNG 2. MÔ H NH HÓA ĐỘ GỒ GHỀ MẶT CẦU THEO LÝ THUYẾT NGẪU
NHI N VÀ PH N T CH THỐNG K CÁC ĐẶC TRƢNG C A QUÁ TR NH
NGẪU NHI N. ............................................................................................................... 19
2.1. Mở đầu ..................................................................................................................... 19
2.2. Các khái niệm cơ bản về quá trình ngẫu nhiên ........................................................ 19
2.2.1. Biến ngẫu nhiên và các đặc trƣng xác suất ....................................................... 19
2.2.2. Quá trình ngẫu nhiên ......................................................................................... 21
2.2.3. Các đặc trƣng của quá trình ngẫu nhiên ............................................................ 22
2.2.4. Quá trình ngẫu nhiên dừng ............................................................................... 25
2.2.5. Quá trình ngẫu nhiên dừng Ergodic .................................................................. 25
2.2.6. Hàm mật độ phổ công suất (PSD) .................................................................... 26
2.2.7. Mô men phổ và chiều rộng phổ ........................................................................ 27
2.3. Mô hình hóa độ gồ ghề mặt cầu theo lý thuyết ngẫu nhiên ..................................... 30
2.3.1. Mô phỏng hàm phổ mật độ công suất của mặt cầu ........................................... 30
2.3.2. Mô phỏng độ gồ ghề của mặt cầu theo lý thuyết ngẫu nhiên ........................... 32
ii
2.3.3. Xác định hàm phổ mật độ công suất (PSD) của mặt cầu trong miền không gian
.................................................................................................................................... 33
2.3.4. Chƣơng trình mô phỏng các thể hiện ngẫu nhiên độ gồ ghề mặt cầu ............... 35
2.4. Phƣơng pháp mô phỏng Monte-Carlo ...................................................................... 37
2.4.1. Cơ sở của phƣơng pháp mô phỏng Monte-Carlo .............................................. 38
2.4.2. Phƣơng pháp tạo số ngẫu nhiên ........................................................................ 39
2.4.3. Phân tích động lực học kết cấu công trình theo quan điểm ngẫu nhiên bằng
phƣơng pháp mô phỏng Monte-Carlo ......................................................................... 39
2.5. Phân tích thống kê các đặc trƣng của quá trình ngẫu nhiên ..................................... 40
2.5.1. Xác định các đặc trƣng xác suất thống kê của một thể hiện ............................. 41
2.5.2. Xác định các đặc trƣng xác suất thống kê của tập các thể hiện ........................ 42
2.5.3. Chƣơng trình phân tích thống kê các đặc trƣng của quá trình ngẫu nhiên ....... 42
2.6. Kết luận chƣơng 2 .................................................................................................... 43
CHƢƠNG 3. XÂY DỰNG CHƢƠNG TR NH PH N T CH DAO ĐỘNG KẾT CẤU
CẦU D Y V NG DƢỚI TÁC D NG C A HOẠT TẢI DI ĐỘNG, XÉT ĐẾN ĐỘ MẤP
MÔ C A MẶT CẦU BẰNG PHƢƠNG PHÁP MÔ PHỎNG MONTE-CARLO ............ 44
3.1. Mở đầu ..................................................................................................................... 44
3.2. Phƣơng trình tƣơng tác động lực học ngẫu nhiên phần tử dầm (CDV) dƣới tác dụng
hoạt tải xe di động trên mặt cầu không bằng phẳng ........................................................ 44
3.2.1. Mô hình tƣơng tác giữa xe và phần tử dầm ...................................................... 44
3.2.2. Phƣơng trình tƣơng tác dao động uốn và dao động dọc phần tử dầm (CDV)
dƣới tác dụng hoạt tải di động trên mặt cầu không bằng phẳng ................................. 47
3.2.3. Rời rạc hóa phƣơng trình tƣơng tác dao động uốn và dao động dọc của phần tử
dầm (CDV) dƣới tác dụng của hoạt tải di động trên mặt cầu có độ gồ ghề ngẫu nhiên
theo không gian bằng phƣơng pháp Galerkin ............................................................. 48
3.2.4. Phân tích phƣơng trình tƣơng tác dao động uốn và dao động dọc của phần tử
dầm (CDV) dƣới tác dụng của hoạt tải di động trên mặt cầu có độ gồ ghề ngẫu nhiên
theo thời gian bằng phƣơng pháp số ........................................................................... 53
3.3. Phƣơng trình vi phân dao động của phần tử cáp trong cầu dây văng ...................... 56
3.4. Thuật toán và chƣơng trình mô phỏng Monte Carlo để giải bài toán tƣơng tác dao
động ngẫu nhiên giữa kết cấu CDV và hoạt tải xe di động trên mặt cầu không bằng
phẳng ............................................................................................................................... 58
3.5. Xây dựng mô đun phân tích tƣơng tác dao động ngẫu nhiên cầu dây văng và hoạt tải
xe di động trên mặt cầu không bằng phẳng bằng phƣơng pháp mô phỏng Monte-Carlo 64
3.6. Kết luận chƣơng 3 .................................................................................................... 66
iii
CHƢƠNG 4. THỰC NGHIỆM VÀ PHÂN TÍCH SỐ MÔ H NH TƢƠNG TÁC DAO
ĐỘNG KẾT CẤU CẦU D Y V NG DƢỚI TÁC D NG C A HOẠT TẢI DI ĐỘNG,
XÉT ĐẾN ĐỘ GỒ GHỀ NGẪU NHIÊN C A MẶT CẦU ............................................... 67
4.1. Mở đầu ..................................................................................................................... 67
4.2. Các thông số kết cấu cầu dây văng Phò Nam .......................................................... 68
4.3. Chế tạo thiết bị thực nghiệm đo độ gồ ghề mặt cầu tại hiện trƣờng ........................ 70
4.3.1. Nguyên l cấu tạo hệ thống xe đo độ gồ ghề mặt cầu ...................................... 70
4.3.2. Chế tạo xe đo độ gồ ghề mặt cầu tại xƣởng chế tạo máy Trƣờng Đại học Bách
Khoa – Đại học Đà Nẵng ............................................................................................ 71
4.4. Đo đạc thực tế độ gồ ghề mặt đƣờng tại cầu dây văng Phò Nam ............................ 72
4.5. Mô phỏng độ gồ ghề mặt cầu dựa vào kết quả phân tích hàm phổ mật độ công suất
mặt cầu (PSD) của các thể hiện đo đạc thực tế độ gồ ghề mặt cầu tại hiện trƣờng ........ 76
4.6. Phân tích số mô hình tƣơng tác động lực học ngẫu nhiên cầu dây văng Phò Nam
dƣới tác dụng của hoạt tải xe di động trên mặt cầu không bằng phẳng .......................... 78
4.6.1. Sơ đồ rời rạc hóa cầu dây văng Phò Nam ......................................................... 78
4.6.2. Các thông số của hoạt tải .................................................................................. 78
4.7. Kết quả phân tích dao động ngẫu nhiên cầu dây văng Phò Nam dƣới tác dụng của
hoạt tải xe di động trên mặt cầu không bằng phẳng ........................................................ 79
4.8. Đo đạc thực nghiệm dao động cầu dây văng Phò Nam dƣới tác dụng của hoạt tải xe
di động ............................................................................................................................. 82
4.8.1. Hệ thống thiết bị đo dao động tại CDV Phò Nam ............................................ 82
4.8.2. Trình tự thí nghiệm tại Cầu dây văng Phò Nam ............................................... 83
4.8.3. Kết quả đo đạc thực nghiệm ............................................................................. 84
4.9. Phân tích hệ số động lực ngẫu nhiên cầu Phò Nam do độ mấp mô mặt cầu gây ra
theo phƣơng pháp Monte-Carlo ...................................................................................... 86
4.10. Đánh giá ảnh hƣởng của số lƣợng thể hiện đầu vào đến kết quả phân tích hệ số
động lực CDV Phò Nam theo phƣơng pháp Monte-Carlo .............................................. 93
4.11. Khảo sát ảnh hƣởng của tình trạng mặt cầu đến hệ số động lực của cầu dây văng
Phò Nam theo phƣơng pháp mô phỏng Monte-Carlo ..................................................... 95
4.12. Kết luận chƣơng 4 ................................................................................................ 104
KẾT LUẬN ................................................................................................................... 106
KIẾN NGH VỀ CÁC NGHI N CỨU TIẾP THEO ........................................................ 107
DANH M C CÁC CÔNG TR NH KHOA HỌC Đ CÔNG BỐ ................................... 108
TÀI LIỆU THAM KHẢO ................................................................................................. 110
PH L C. .................................................................................................................... PL1
iv
MỤC LỤC HÌNH VẼ
Hình 1. Cầu Russky-Nga (Lnhịp =1104m) khánh thành vào tháng 07 năm 2012................. 1
Hình 1.1. Xác định (1+IM) của một số tiêu chuẩn thiết kế cầu trên thế giới ....................... 7
Hình 1.2. Mô hình phân tích tƣơng tác động lực học ngẫu nhiên giữa kết cấu CDV và hoạt
tải xe di động trên mặt cầu mấp mô..................................................................................... 16
Hình 2.1. Hàm mật độ tải trọng tác dụng lên dầm ............................................................. 21
Hình 2.2. Các thể hiện khác nhau của quá trình ngẫu nhiên .............................................. 22
Hình 2.3. Hàm mật độ xác suất của x(t=to) với trung bình bằng 0 .................................... 23
Hình 2.4. Hàm mật độ phổ công suất của quá trình ngẫu nhiên ồn trắng .......................... 28
Hình 2.5. Hai trƣờng hợp đặc biệt của quá trình ngẫu nhiên ồn trắng ............................... 29
Hình 2.6. Hàm mật độ phổ công suất của quá trình dải hẹp ............................................... 29
Hình 2.7. Phổ dải hẹp điển hình và quá trình tƣơng ứng .................................................... 29
Hình 2.8. Các thể hiện khác nhau của độ gồ ghề ngẫu nhiên ............................................. 34
Hình 2.9. Sơ đồ thuật toán chƣơng trình mô phỏng các thể hiện của độ gồ ghề ngẫu nhiên
của mặt cầu .......................................................................................................................... 35
Hình 2.10. Giao diện mô đun DGGNN khởi tạo các thể hiện của độ gồ ghề ngẫu nhiên của
mặt cầu dựa vào hàm mật độ phổ công suất (PSD) ............................................................. 36
Hình 2.11. Một số kết quả mô phỏng các thể hiện ngẫu nhiên của độ gồ ghề mặt cầu tƣơng
ứng với mặt đƣờng loại C theo ISO 8608:1995 .................................................................. 37
Hình 2.12. Kết quả mô phỏng trƣờng ngẫu nhiên của độ gồ ghề mặt cầu tƣơng ứng với
mặt đƣờng loại C theo ISO 8608:1995 ............................ ... aiMS; MTG[6,1]:=0;
MTG[6,2]:=-13*L*NgoaiMS; MTG[6,3]:=-3*L*L*NgoaiMS;
MTG[4,4]:=140*NgoaiMS; MTG[4,5]:=0;
MTG[4,6]:=0;
MTG[5,4]:=0; MTG[5,5]:=156*NgoaiMS;
MTG[5,6]:=-22*L* NgoaiMS;
MTG[6,4]:=0;
MTG[6,5]:=-22*L*NgoaiMS;
MTG[6,6]:=4*L*L* NgoaiMS;
NhanHsMT(Cww,Kww,6,6,NoiMS);
CongMT(Cww,Cww,MTG,6,6);
MTG:=Nil;
End;
PROCEDURE MaTranCzz(Var Czz,MSLX:MaTran;Ltrxe:vector;SoTrXe:integer);
var i,j:integer;
Begin
XoaMT(Czz,SoTrXe+2,SoTrXe+2);
for i:=1 to SoTrXe do begin
Czz[1,1]:=Czz[1,1]+MSLX[i,11]*Ltrxe[i]*Ltrxe[i];
Czz[1,2]:=Czz[1,2]+MSLX[i,11]*Ltrxe[i];
Czz[2,2]:=Czz[2,2]+MSLX[i,11];
Czz[1,i+2]:=-MSLX[i,11]*Ltrxe[i];
Czz[2,i+2]:=-MSLX[i,11];
Czz[i+2,i+2]:=MSLX[i,11]+MSLX[i,12];
end;
for i:=1 to SoTrXe+2 do
for j:=i+1 to SoTrXe+2 do
Czz[j,i]:=Czz[i,j];
End;
PROCEDURE MaTranCwzt(Var Cwz,MSLX,PtLanXe:MaTran;Ltrxe:vector;SoNut,
SoTrXe,SoPTLan:integer;giatoc,tph,t,LL:real);
var P,Cwzt:MaTran; v,tz,S,L,a:real;i,j,k,Xevaopt:integer;
Begin
XoaMT(Cwz,SoNut*3,Sotrxe+2);
SetLength(P,7,SoTrXe+1);
SetLength(Cwzt,7,SoTrXe+3);
for i:=1 to SoPTLan do begin
Xevaopt:=0;
for j:=1 to SoTrXe do begin
v:=MSLX[j,5];tz:=MSLX[j,6];
P[1,j]:=0;P[2,j]:=0;P[3,j]:=0;
P[4,j]:=0;P[5,j]:=0;P[6,j]:=0;
if t>tph then begin
if giatoc*(t-tph)+v<0 then S:=v*(tph-tz)-v*v/giatoc/2
else S:=v*(tph-tz)+(giatoc*(t-tph)/2+v)*(t-tph)
end else S:=v*(t-tz);// quang duong xe chay tren cau
if S>=0 then if S<=LL then
if S>=PtLanXe[i,4] then if S<PtLanXe[i,5] then begin
a:=S-PtLanXe[i,4];Xevaopt:=1;
PL.22
L:=PtLanXe[i,5]-PtLanXe[i,4];
P[1,j]:=-Giatoc/9.81*(L-a)/L;
P[4,j]:=-Giatoc/9.81*a/L;
P[2,j]:=1-3*a*a/L/L+2*a*a*a/L/L/L;
P[5,j]:=3*a*a/L/L-2*a*a*a/L/L/L;
P[3,j]:=a-2*a*a/L+a*a*a/L/L;
P[6,j]:=a*a*a/L/L-a*a/L;
end;
end;
if Xevaopt=1 then begin
for k:=1 to 6 do begin
Cwzt[k,1]:=0;
Cwzt[k,2]:=0;
for j:=1 to SoTrXe do begin
Cwzt[k,1]:=Cwzt[k,1]+Ltrxe[j]*MSLX[j,11]*P[k,j];
Cwzt[k,2]:=Cwzt[k,2]+MSLX[j,11]*P[k,j];
Cwzt[k,j+2]:=-MSLX[j,11]*P[k,j];
end;
end;
AddMT6xp(Cwz,Cwzt,Round(PtLanXe[i,2]),Round(PtLanXe[i,3]),
SoNut,SoTrXe+2);
end;
end;
P:=Nil;Cwzt:=Nil;
End;
Unit Do_go_ghe_mc;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Math, MainFrm, uViTri, ExtCtrls;
type
TDo_go_ghe_mat_cau = class(TForm)
edtT: TEdit;
Label1: TLabel;
Button1: TButton;
mmKQ: TMemo;
Button2: TButton;
Label2: TLabel;
edtS_0: TEdit;
edtV: TEdit;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
HesomuG: TEdit;
ScrollBar1: TScrollBar;
Button3: TButton;
Label7: TLabel;
So_mau: TEdit;
Button4: TButton;
Label8: TLabel;
ScrollBar2: TScrollBar;
Button5: TButton;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
Panel1: TPanel;
CheckBox1: TCheckBox;
edtS_n: TEdit;
Label9: TLabel;
procedure Button1Click(Sender: TObject);
PL.23
procedure Button2Click(Sender: TObject);
procedure ScrollBar1Change(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure So_mauChange(Sender: TObject);
procedure ScrollBar2Change(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
TData_rand = packed record // Du lieu khoi tao random
G:Real;
T:Real;
V:Real;
So:Real;
Sn:Real;
Set_So:Boolean;
So_mau:integer;
HsZoom:integer;
Bar2_Position:integer;
end;
var
GGMC_Init: TViTriArray;
GGMC_Sub: TViTriSubArray;
Do_go_ghe_mat_cau: TDo_go_ghe_mat_cau;
Data_rand: TData_rand;
implementation
uses FiniteElement,MainGraphic;
{$R *.dfm}
Procedure Graphic_Goghematcau(Form:TForm;Canvas:Tcanvas;GGMC:TViTriArray);
// Ve bieu do go ghe mat cau...
var StrS:string;
i,Xo,Yo:integer;
HesoOx,HesoOy:real;
OffScreen:TBitmap;
begin
Form.Show;
OffScreen:=TBitmap.Create;
OffScreen.Width:=Form.Width;
OffScreen.Height:=Round(Form.Height/2.1);
OffScreen.Canvas.Font.Name:='VK Sans Serif';
OffScreen.Canvas.Font.Size:=8;
OffScreen.Canvas.Font.Color:=RGB(0,0,64);
HesoOx:=(OffScreen.Width-15)/GGMC[High(GGMC)].Sx;
HesoOy:=Data_rand.HsZoom;
Xo:=5; //Goc toa do Xo
Yo:=Round(OffScreen.Height/2); //Goc toa do Yo
StrS:='MaxUy';
OffScreen.Canvas.MoveTo(Xo,Yo);
OffScreen.Canvas.LineTo(Form.Width-10,Yo);
PL.24
OffScreen.Canvas.Pen.Color:=RGB(0,128,64);
OffScreen.Canvas.Pen.Width:=1;
OffScreen.Canvas.MoveTo(Xo+round(HesoOx*GGMC[1].Sx),Yo-
round(HesoOy*GGMC[1].ExcilonALL));
for i := Low(GGMC) to High(GGMC) do begin
OffScreen.Canvas.LineTo(Xo+round(HesoOx*GGMC[i].Sx),Yo-
round(HesoOy*GGMC[i].ExcilonALL));
OffScreen.Canvas.MoveTo(Xo+round(HesoOx*GGMC[i].Sx),Yo-
round(HesoOy*GGMC[i].ExcilonALL));
end;
Canvas.Draw(0,Round(Form.Height/2.1)-25,OffScreen);
OffScreen.Free;
end;
procedure TDo_go_ghe_mat_cau.FormActivate(Sender: TObject);
var i,ii,SizeInit: integer; FileSL: file of TViTri; FileRand: file of TData_rand;
sKQ: string;
begin
SizeInit:=0;
MainForm.Gauge1.Progress:=0;
MainForm.Gauge2.Progress:=0;
Do_go_ghe_mat_cau.CheckBox1.Checked:=False;
Data_rand.G:= StrToFloat(HeSoMuG.Text);
Data_rand.T:= StrToFloat(edtT.Text);
Data_rand.V:= StrToFloat(edtV.Text);
Data_rand.So:= StrToFloat(edtS_0.Text);
Data_rand.Sn:= StrToFloat(edtS_n.Text);
Data_rand.Set_So:= RadioButton2.Checked;
Data_rand.So_mau:= StrToInt(So_mau.Text);
Data_rand.HsZoom:= ScrollBar1.Position;
Data_rand.Bar2_Position:=ScrollBar2.Position;
AssignFile(FileRand,PathSys+'\Dogogesys.dat');
{$I-} Reset(FileRand);{$I+}
if IOResult = 0 then begin
Read(FileRand,Data_rand);
CloseFile(FileRand);
end else begin
Rewrite(FileRand);
try
Write(FileRand,Data_rand);
finally
CloseFile(FileRand);
end;
end;
HeSoMuG.Text:=FloatToStr(Data_rand.G);
edtT.Text:=FloatToStr(Data_rand.T);
edtV.Text:=FloatToStr(Data_rand.V);
edtS_0.Text:=FloatToStr(Data_rand.So);
edtS_n.Text:=FloatToStr(Data_rand.Sn);
RadioButton2.Checked:=Data_rand.Set_So;
So_mau.Text:=IntToStr(Data_rand.So_mau);
SetLength(GGMC_Sub,Data_rand.So_mau+1);
// Doc file dang *.dat
AssignFile(FileSL,PathSys+'\Dogogenn.dat');
for ii:=1 to Data_rand.So_mau do begin
{$I-} Reset(FileSL);{$I+}
if IOResult = 0 then begin
SizeInit:=Round(FileSize(FileSL)/Data_rand.So_mau);
SetLength(GGMC_Init,SizeInit);
Seek(FileSL,SizeInit*(ii-1));
for i := 1 to SizeInit do Read(FileSL,GGMC_Init[i-1]);
Graphic_Goghematcau(Do_go_ghe_mat_cau,Canvas,GGMC_Init);
GGMC_Sub[ii]:= GGMC_Init;
CloseFile(FileSL);
PL.25
end;
end;
if SizeInit0 then begin
ScrollBar1.Visible:=True;
ScrollBar1.Position:=Data_rand.HsZoom;
ScrollBar2.Visible:=True;
ScrollBar2.Max:=StrToInt(So_mau.Text)-1;
ScrollBar2.Position:=Data_rand.Bar2_Position;
Do_go_ghe_mat_cau.Caption:='M« pháng ®é gå ghÒ cña mÆt cÇu ['+
IntToStr(ScrollBar2.Position+1)+']';
sKQ := '';
GGMC_Init:=GGMC_Sub[ScrollBar2.Position+1];
for i := Low(GGMC_Init) to High(GGMC_Init) do
begin
sKQ := sKQ + Format('%.4f %.10f %.10f', [GGMC_Init[i].Sx,
GGMC_Init[i].ExcilonALL, GGMC_Init[i].ExcilonALLV]) + sLineBreak;
end;
mmKQ.Text := sKQ;
end;
end;
procedure TDo_go_ghe_mat_cau.Button1Click(Sender: TObject);
var
sKQ: string; i,ii: integer;Data_rand_Si:real;
begin
ScrollBar1.Visible:=True;
ScrollBar2.Visible:=True;
Data_rand.G:= StrToFloat(HeSoMuG.Text);
Data_rand.T:= StrToFloat(edtT.Text);
Data_rand.V:= StrToFloat(edtV.Text);
Data_rand.So:= StrToFloat(edtS_0.Text);
Data_rand.Sn:= StrToFloat(edtS_n.Text);
Data_rand.Set_So:= RadioButton2.Checked;
Data_rand.So_mau:= StrToInt(So_mau.Text);
Data_rand.HsZoom:= ScrollBar1.Position;
GGMC_Sub:=Nil;
SetLength(GGMC_Sub,Data_rand.So_mau+1);
sKQ := '';
for ii:=1 to Data_rand.So_mau do begin
if Data_rand.Set_So then begin
if Data_rand.So_mau>1 then Data_rand_Si:= Data_rand.So+(Data_rand.Sn-
Data_rand.So)/(Data_rand.So_mau-1)*(ii-1)
else Data_rand_Si:= Data_rand.So;
end else Data_rand_Si:= Data_rand.So;
GGMC_Init:= Dogogenn(Data_rand_Si,Data_rand.V,Data_rand.T,Data_rand.G);
Graphic_Goghematcau(Do_go_ghe_mat_cau,Canvas,GGMC_Init);
GGMC_Sub[ii]:= GGMC_Init;
end;
for i := Low(GGMC_Init) to High(GGMC_Init) do begin
sKQ := sKQ + Format('%.4f %.10f %.10f', [GGMC_Init[i].Sx,
GGMC_Init[i].ExcilonALL, GGMC_Init[i].ExcilonALLV]) + sLineBreak;
end;
mmKQ.Text := sKQ;
end;
procedure TDo_go_ghe_mat_cau.Button2Click(Sender: TObject);
var i,ii:integer; Filetext:TextFile; FileSL:file of TViTri; FileRand:file of
TData_rand;
begin
// Luu file dang *.txt
AssignFile(Filetext,PathSys+'\Dogogenn.txt');
Rewrite(Filetext);
try
PL.26
for ii:=1 to Data_rand.So_mau do begin
GGMC_Init:=GGMC_Sub[ii];
for i := Low(GGMC_Init) to High(GGMC_Init) do begin
Writeln(Filetext,GGMC_Init[i].Sx:10:4,#9,GGMC_Init[i].ExcilonALL:15:10,#9,GGMC_In
it[i].ExcilonALLV:15:10);
end;
end;
finally
CloseFile(Filetext);
end;
// Luu file dang *.dat
AssignFile(FileSL,PathSys+'\Dogogenn.dat');
Rewrite(FileSL);
try
for ii:=1 to Data_rand.So_mau do begin
GGMC_Init:=GGMC_Sub[ii];
for i := Low(GGMC_Init) to High(GGMC_Init) do
Write(FileSL,GGMC_Init[i]);
end;
finally
CloseFile(FileSL);
end;
AssignFile(FileRand,PathSys+'\Dogogesys.dat');
Rewrite(FileRand);
try
Write(FileRand,Data_rand);
finally
CloseFile(FileRand);
end;
end;
procedure TDo_go_ghe_mat_cau.ScrollBar1Change(Sender: TObject);
begin
Data_rand.HsZoom:=ScrollBar1.Position;
Graphic_Goghematcau(Do_go_ghe_mat_cau,Canvas,GGMC_Init);
end;
procedure TDo_go_ghe_mat_cau.Button3Click(Sender: TObject);
var i:integer; FileSL:file of TViTri;FileRand:file of TData_rand;
Hour,Min,Sec,MSec:word;TimeStart,TimeEnd:TDateTime;
begin
TimeStart:=Time;
MainForm.Gauge2.Progress:=10;
if Do_go_ghe_mat_cau.CheckBox1.Checked=False then
GGMC_Init:=GGMC_Sub[ScrollBar2.Position+1];
// Ghi ma tran GGMC_Init xuong file Dogoge.dat de tinh toan
AssignFile(FileSL,PathSys+'\Dogoge.dat');
Rewrite(FileSL);
try
for i := Low(GGMC_Init) to High(GGMC_Init) do Write(FileSL,GGMC_Init[i]);
finally
CloseFile(FileSL);
end;
MainMMCCKK(PathSys,False);
MainKK(PathSys,False);
MainForm.Gauge2.Progress:=50;
IM_Fuvt(True,False,'');
IM_MQNtFrameElement(True,False,'');
IM_MQNtCableElement(True,False,'');
AssignFile(FileRand,PathSys+'\Dogogesys.dat');
Rewrite(FileRand);
try
PL.27
Write(FileRand,Data_rand);
finally
CloseFile(FileRand);
end;
TimeEnd:=Time;
MainForm.Gauge2.Progress:=100;
DecodeTime(TimeEnd-TimeStart, Hour, Min, Sec, MSec);
MessageDlg('M¸y ®• hoµn thµnh qu¸ tr×nh ph©n tÝch dao ®éng vµ hÖ sè ®éng lùc
1+IM'+Chr(10)+'Thêi gian ph©n tÝch tÝnh to¸n : '+
IntToStr(Hour)+' h : '+IntToStr(Min)+' m : '+IntToStr(Sec)+' s :
'+IntToStr(MSec)+' ms', mtInformation , [mbOk], 0);
Close;
end;
procedure TDo_go_ghe_mat_cau.Button4Click(Sender: TObject);
var i,ii:integer; FileSL:file of TViTri;FileRand:file of TData_rand;
Hour,Min,Sec,MSec:word;TimeStart,TimeEnd:TDateTime;
begin
if Data_rand.So_mau>1 then begin
TimeStart:=Time;
MainForm.Gauge2.Progress:=10 div Data_rand.So_mau;
GGMC_Init:=GGMC_Sub[1];
// Ghi ma tran GGMC_Init xuong file Dogoge.dat de tinh toan
AssignFile(FileSL,PathSys+'\Dogoge.dat');
Rewrite(FileSL);
try
for i := Low(GGMC_Init) to High(GGMC_Init) do Write(FileSL,GGMC_Init[i]);
finally
CloseFile(FileSL);
end;
MainMMCCKK(PathSys,False);
MainKK(PathSys,False);
MainForm.Gauge2.Progress:=50 div Data_rand.So_mau;
IM_Fuvt(True,False,'1: '); // True = Tao file moi, False = Khong dung lai
IM_MQNtFrameElement(True,False,'1: ');
IM_MQNtCableElement(True,False,'1: ');
MainForm.Gauge2.Progress:=100 div Data_rand.So_mau;
for ii:=2 to Data_rand.So_mau do begin
GGMC_Init:=GGMC_Sub[ii];
// Ghi ma tran GGMC_Init xuong file Dogoge.dat de tinh toan
AssignFile(FileSL,PathSys+'\Dogoge.dat');
Rewrite(FileSL);
try
for i := Low(GGMC_Init) to High(GGMC_Init) do Write(FileSL,GGMC_Init[i]);
finally
CloseFile(FileSL);
end;
HesoTTXe:=1+(ii-1)/Data_rand.So_mau;
MainMMCCKK(PathSys,False);
MainKK(PathSys,False);
MainForm.Gauge2.Progress:=(ii*100-50) div Data_rand.So_mau;
IM_Fuvt(False,False,IntToStr(ii)+': '); // False = Mo file cu ghi tiep, False
= Khong dung lai
IM_MQNtFrameElement(False,False,IntToStr(ii)+': ');
IM_MQNtCableElement(False,False,IntToStr(ii)+': ');
MainForm.Gauge2.Progress:=(ii*100) div Data_rand.So_mau;
end;
TimeEnd:=Time;
DecodeTime(TimeEnd-TimeStart, Hour, Min, Sec, MSec);
MessageDlg('M¸y ®• hoµn thµnh qu¸ tr×nh ph©n tÝch dao ®éng vµ hÖ sè ®éng lùc
1+IM'+Chr(10)+'Thêi gian ph©n tÝch tÝnh to¸n : '+
IntToStr(Hour)+' h : '+IntToStr(Min)+' m : '+IntToStr(Sec)+' s :
'+IntToStr(MSec)+' ms', mtInformation , [mbOk], 0);
Close;
PL.28
end;
end;
procedure TDo_go_ghe_mat_cau.Button5Click(Sender: TObject);
begin
Close;
end;
procedure TDo_go_ghe_mat_cau.So_mauChange(Sender: TObject);
var BTG, Code:integer;
begin
Val(So_mau.Text,BTG,Code);
if Code=0 then ScrollBar2.Max:=StrToInt(So_mau.Text)-1;
end;
procedure TDo_go_ghe_mat_cau.ScrollBar2Change(Sender: TObject);
var i,ii:integer; sKQ:string; Data_rand_Si:real;
begin
Data_rand.Bar2_Position:=ScrollBar2.Position;
ii:= ScrollBar2.Position+1;
if ii<=Data_rand.So_mau then begin
if Data_rand.Set_So then begin
if Data_rand.So_mau>1 then Data_rand_Si:= Data_rand.So+(Data_rand.Sn-
Data_rand.So)/(Data_rand.So_mau-1)*(ii-1)
else Data_rand_Si:= Data_rand.So;
end else Data_rand_Si:= Data_rand.So;
Do_go_ghe_mat_cau.Caption:='M« pháng ®é gå ghÒ cña mÆt cÇu ['+
IntToStr(ii)+']';
edtS_0.Text:=FloatToStr(Data_rand_Si);
GGMC_Init:=GGMC_Sub[ii];
Graphic_Goghematcau(Do_go_ghe_mat_cau,Canvas,GGMC_Init);
sKQ := '';
for i := Low(GGMC_Init) to High(GGMC_Init) do
begin
sKQ := sKQ + Format('%.4f %.10f %.10f', [GGMC_Init[i].Sx,
GGMC_Init[i].ExcilonALL, GGMC_Init[i].ExcilonALLV]) + sLineBreak;
end;
mmKQ.Text := sKQ;
end;
end;
function GetLinesCount(sFileName: String):Integer;
var oSL:TStringlist;
begin
oSL:=TStringlist.Create;
oSL.LoadFromFile(sFileName);
result:=oSL.Count;
oSL.Free;
end;
File đính kèm:
luan_an_nghien_cuu_dao_dong_ket_cau_cau_day_vang_duoi_tac_du.pdf

