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