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.

pdf 157 trang dienloan 16080
Bạn đang xem 20 trang mẫu của 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", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

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

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:

  • pdfluan_an_nghien_cuu_dao_dong_ket_cau_cau_day_vang_duoi_tac_du.pdf