Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 236 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
236
Dung lượng
5,53 MB
Nội dung
Đại Học Quốc Gia Tp Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA - - NGUYỄN CHÂU VINH NGHIÊN CỨU LÝ THUYẾT CỐ KẾT THẤM CỦA TERZAGHI VÀ LẬP CHƯƠNG TRÌNH TÍNH CÁC BÀI TOÁN CỐ KẾT Chuyên Ngành : ĐỊA KỸ THUẬT XÂY DỰNG Mã Ngành : 60.58.60 LUẬN VĂN THẠC SĨ TP Hồ Chí Minh – 07/2011 CƠNG TRÌNH ĐƢỢC HỒN THÀNH TẠI TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH - - Cán hƣớng dẫn khoa học: TS LÊ BÁ VINH Cán chấm nhận xét 1: GS.TSKH NGUYỄN VĂN THƠ Cán chấm nhận xét 2: PGS.TS VÕ PHÁN Luận văn thạc sĩ đƣợc bảo vệ Trƣờng Đại học Bách Khoa, ĐHQG Tp HCM ngày 27 tháng năm 2011 Thành phần hội đồng đánh giá luận văn thạc sĩ gồm: GS.TSKH Nguyễn Văn Thơ PGS.TS Võ Phán TS Lê Bá Vinh TS Lê Trọng Nghĩa TS Trần Tuấn Anh Xác nhận chủ tịch hội đồng đánh giá LV Bộ môn quản lý chuyên ngành sau luận văn đƣợc sửa chữa Chủ tịch Hội đồng đánh giá LV Bộ môn quản lý chuyên ngành TRƢỜNG ĐẠI HỌC BÁCH KHOA CỘNG HOÀ XÃ HỘI CHỦ NGHIÃ VIỆT NAM KHOA KỸ THUẬT XÂY DỰNG Độc Lập - Tự Do - Hạnh Phúc -oOo Tp HCM, ngày 14 tháng 02 năm 2011 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: NGUYỄN CHÂU VINH Phái: Nam Ngày, tháng, năm sinh: 27/06/1982 Nơi sinh: Đà Nẵng Chuyên ngành: ĐỊA KỸ THUẬT XÂY DỰNG MSHV: 00908553 1- TÊN ĐỀ TÀI: NGHIÊN CỨU LÝ THUYẾT CỐ KẾT THẤM CỦA TERZAGHI VÀ LẬP CHƢƠNG TRÌNH TÍNH CÁC BÀI TỐN CỐ KẾT 2- NHIỆM VỤ VÀ NỘI DUNG: a- Nhiệm vụ: Xem xét, nghiên cứu lý thuyết cố kết thấm Terzaghi theo phương, ba phương lập chương trình tính toán cố kết theo toán thực tế b- Nội dung: Chương 1: Tổng quan cố kết thấm đất Chương 2: Phân tích lý thuyết cố kết thấm Terzaghi Biot Chương 3: Thiết lập chương trình tính tốn cố kết Chương 4: Phân tích, tính tốn cơng trình thực tế Nhận xét, kết luận kiến nghị 3- NGÀY GIAO NHIỆM VỤ : 14/02/2011 4- NGÀY HOÀN THÀNH NHIỆM VỤ : 01/7/2011 5- HỌ VÀ TÊN CÁN BỘ HƢỚNG DẪN : TS LÊ BÁ VINH Nội dung đề cương Luận văn thạc sĩ Hội Đồng Chuyên Ngành thơng qua CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM BỘ MƠN QUẢN LÝ CHUYÊN NGÀNH TS LÊ BÁ VINH PGS.TS VÕ PHÁN LỜI CẢM ƠN Luận văn Thạc Sĩ hoàn thành nổ lực thân, hướng dẫn truyền dạy kiến thức Thầy khoa, với động viên kích lệ từ gia đình, bạn bè suốt trình học tập thực luận văn Xin chân thành cảm ơn tồn thể Thầy mơn địa móng, tham gia giảng dạy truyền đạt kiến thức tạo điều kiện tốt suốt trình học tập thực luận văn Xin chân thành bày tỏ lòng cảm ơn sâu sắc đến thầy Lê Bá Vinh, người tận tình hướng dẫn, giúp đỡ tơi suốt q trình thực luận văn Xin chân thành cảm ơn đến người bạn, người ln bên tơi thời điểm khó khăn để động viên giúp đỡ tơi hồn thành luận văn Cuối thiếu lời tri ân đến người Mẹ, người chổ dựa tinh thần, điểm tựa, động lực cho suốt trình học tập thực luận văn Với hiểu biết thân, chắn khơng thể tránh khỏi sai sót thực Luận văn, kính mong Q Thầy Cơ bạn bè có góp ý chân thành để tơi hồn thiện kiến thức Một lần nửa xin chân thành cảm ơn! Nguyễn Châu Vinh TÓM TẮT LUẬN VĂN Kết việc tính lún theo thời gian kết quan trắc ngồi thực tế thường có khoảng chênh lệch Bằng tìm hiểu, nghiên cứu việc xác định độ cố kết thấm theo lý thuyết thực tế, tác giả lập ba chương trình tính tốn độ lún theo thời gian ngôn ngữ Visual Basic với công thức phù hợp theo lý thuyết sơ đồ tính xác thực tế Ba chương trình chương trình tác giả lập luận văn: Chương trình xác định độ cố kết thấm theo thời gian cho đường đắp vùng đất yếu; có khơng có xử lý giếng cát, bấc thấm đất Chương trình xác định độ cố kết thấm theo thời gian tải trọng gia tăng theo cấp tải với thời gian; có khơng có xử lý giếng cát, bấc thấm đất Chương trình tính tốn tải trọng gia tải trước theo thời gian gia tải trước, xác định thời gian gia tải trước theo tải trọng gia tải toán gia tải trước đất đắp ABSTRACT The results of the calculation in settlement times and observation results in the field usually have a gap By understanding on determining the degree of consolidation on theory as well as practice, the author has created three programs calculate of settlement times by Visual Basic language with appropriate formulas and diagrams in theory the most practical accuracy Three programs are created in the thesis: The program determines the degree of consolidation with time for the embankment on soft soil; with or without sand pile, vertical artificial drain in the soil The program determines the degree of consolidation with time as load levels vary with time; with or without sand pile, vertical artificial drain in the soil The program determines superimposed load when the time is determined, or calculate the time when superimposed load is determined for the problem first loading MỤC LỤC MỞ ĐẦU 1 Tính cấp thiết mục đích đề tài: Nội dung nghiên cứu: Phạm vi nghiên cứu: Phƣơng pháp nghiên cứu: .1 Ý nghĩa khoa học thực tiễn đề tài: CHƢƠNG 1: TỔNG QUAN VỀ CỐ KẾT THẤM CỦA ĐẤT 1.1 CỐ KẾT THẤM: 1.2 NHỮNG NGHIÊN CỨU, PHÁT TRIỂN LÝ THUYẾT CỐ KẾT THẤM: 1.3 NHỮNG VẤN ĐỀ VỀ LÝ THUYẾT CỐ KẾT ĐƢỢC TÌM HIỂU NGHIÊN CỨU TRONG LUẬN VĂN: .4 CHƢƠNG 2: PHÂN TÍCH LÝ THUYẾT CỐ KẾT THẤM CỦA TERZAGHI VÀ BIOT 2.1 CỐ KẾT THẤM MỘT PHƢƠNG: 2.1.1 Lý thuyết cố kết thấm phương Terzaghi: 2.1.1.1 Tính nén lún đất: 2.1.1.2 Mơ hình Terzaghi: .7 2.1.1.3 Giải toán: 2.1.2 Phân tích số tồn việc xác định độ cố kết thấm phương: 13 2.1.2.1 Xác định độ cố kết tải trọng gia tăng theo cấp với thời gian: 13 a Đặt vấn đề: 13 b Cách giải số tác giả: 14 i Vẽ đồ thị có hiệu chỉnh Terzaghi: 14 ii Lời giải R.Olson (1997): 15 iii Phương pháp quy đổi tương đương: .15 c Đề xuất hướng giải quyết: 16 2.1.2.2 Xác định độ cố kết hệ số cố kết Cv thay đổi trình cố kết: 18 a Đặt vấn đề: 18 b Hướng giải quyết: .18 2.2 CỐ KẾT THẤM BA PHƢƠNG: 19 2.2.1 Lý thuyết cố kết thấm ba phương Terzaghi phát triển Carrillo Barron : 19 2.2.2 Lý thuyết cố kết thấm ba phương Biot [14]: 22 2.2.2.1 Ứng suất đất: 22 2.2.2.2 Sự liên quan biến dạng tới ứng suất áp lực nƣớc: 23 2.2.2.3 Các số vật lý đất: 25 2.2.2.4 Phƣơng trình vi phân cố kết thấm: 26 2.2.3 Nhận xét, so sánh lý thuyết ba phương Terzaghi Biot: .26 2.2.4 Phân tích độ cố kết trường hợp chiều dài giếng cát, bấc thấm nhỏ chiều sâu vùng gây lún: .27 2.2.4.1 Đặt vấn đề: 27 2.2.4.2 Cơ sở lý thuyết: .27 2.2.4.3 Kết nghiên cứu: 28 2.2.4.4 Kết luận: 30 CHƢƠNG 3: THIẾT LẬP CHƢƠNG TRÌNH TÍNH CÁC BÀI TOÁN CỐ KẾT 31 3.1 NGƠN NGỮ LẬP TRÌNH: .31 3.2 THIẾT LẬP CHƢƠNG TRÌNH: 31 3.2.1 Chương trình tính độ cố kết cho cơng trình đường đắp, có khơng có giếng cát, bấc thấm đất: .31 3.2.1.1 Cơ sở lý thuyết: .31 3.2.1.2 Thuật tốn chƣơng trình: 35 a Sơ đồ khối: 35 b Một số đoạn mã chương trình: 37 3.2.1.3 Giao diện chƣơng trình: 45 3.2.2 Chương trình tính độ cố kết cho cơng trình đường đắp tải trọng gia tăng theo cấp tải với thời gian: 48 3.2.2.1 Cơ sở lý thuyết: .48 3.2.2.2 Thuật toán chƣơng trình: 48 a Sơ đồ khối: 48 b Một số đoạn mã chương trình: 50 3.2.2.3 Giao diện chƣơng trình: 54 3.2.3 Chương trình tính tốn tải trọng gia tải trước theo thời gian gia tải trước xác định thời gian gia tải trước theo tải trọng gia tải toán gia tải trước đất đắp: 55 3.2.3.1 Cơ sở lý thuyết: .55 3.2.3.2 Thuật tốn chƣơng trình: 57 a Sơ đồ khối: 57 b Một số đoạn mã chương trình: 58 3.2.3.3 Giao diện chƣơng trình: 62 CHƢƠNG 4: PHÂN TÍCH TÍNH TỐN CÁC CƠNG TRÌNH THỰC TẾ 64 4.1 CƠNG TRÌNH ĐƢỜNG CẤP 60 DẪN VÀO CẦU CỐNG DINH : .64 4.1.1 Giới thiệu cơng trình: .64 4.1.2 Quy mô số liệu cơng trình: 64 4.1.3 Kết quan trắc cơng trình: 65 4.1.4 Chạy chương trình phần mềm: 66 4.1.5 So sánh, nhận xét với kết quan trắc thực tế: 74 4.2 CƠNG TRÌNH ĐƢỜNG CẤP 60 DẪN VÀO CẦU RẠCH LÁ:: 76 4.2.1 Giới thiệu cơng trình: .76 4.2.2 Quy mô số liệu cơng trình: 76 4.2.3 Kết quan trắc cơng trình: 77 4.2.4 Chạy chương trình phần mềm: 78 4.2.5 So Sánh Với Kết Quả Quan Trắc Thực Tế: 81 4.3 NGHIÊN CỨU XÁC ĐỊNH ĐỘ CỐ KẾT KHI Cv THAY ĐỔI THEO THỜI GIAN: 83 4.3.1 Cơng trình QL1A đoạn Trung Lương Mỹ Thuận thuộc tỉnh Tiền Giang: .83 4.3.1.1 Giới thiệu cơng trình: .83 4.3.1.2 Quy mô số liệu công trình: 83 a Nền đường: 83 b Nền đất: .83 c Giếng cát: 84 d Bảng thống kê hệ số thấm đứng theo cấp áp lực: .84 4.3.1.3 Độ cố kết công trình khơng xét đến giếng cát đất nền:: 90 a Trường hợp hệ số cố kết Cv số trình cố kết: 90 b Trường hợp hệ số cố kết Cv biến thiên trình cố kết: 91 4.3.1.4 Độ cố kết cơng trình có xét đến giếng cát đất nền:: .93 a Trường hợp hệ số cố kết Cv số trình cố kết: 93 b Trường hợp hệ số cố kết Cv biến thiên trình cố kết: 94 4.3.1.5 So sánh độ cố kết U xem Cv số, Cv thay đổi theo trình cố kết: 95 a Khi khơng có giếng cát đất nền: 95 b Khi có giếng cát đất nền: 96 4.3.2 Cơng trình đường dẫn vào cầu Tân An tỉnh Long An: 97 4.3.2.1 Giới thiệu cơng trình: .97 4.3.2.2 Quy mô số liệu cơng trình: 97 a Nền đường: 97 b Nền đất: .98 c Giếng cát: 98 d Bảng thống kê hệ số thấm đứng theo cấp áp lực lớp1: 98 4.3.2.3 Độ lún cơng trình khơng xét giếng cát đất nền:: 100 a Trường hợp hệ số cố kết Cv số trình cố kết: .100 b Trường hợp hệ số cố kết Cv biến thiên trình cố kết: 101 4.3.2.4 Độ cố kết cơng trình có xét đến giếng cát đất nền:: .103 a Hệ số cố kết Cv số trình cố kết: 103 b Hệ số cố kết Cv biến thiên trình cố kết: 104 4.3.2.5 Biểu đồ quan hệ độ cố kết U thời gian t: 104 a Trường hợp khơng có giếng cát đất nền: 104 b Trường hợp có giếng cát đất nền: 106 4.3.3 Nhận xét: 107 4.4 XÁC ĐỊNH ĐỘ CỐ KẾT KHI TẢI TRỌNG GIA TĂNG THEO CÁC CẤP: .108 4.4.1 Một cấp tải trọng: 108 4.4.1.1 Kết phƣơng pháp tƣơng đƣơng: .108 4.4.1.2 Kết tính theo cơng thức R.Olson: 110 4.4.1.3 Kết theo Terzaghi: 112 4.4.1.4 So sánh kết ba phƣơng pháp: 112 4.4.2 Nhiều cấp tải trọng: 115 4.5 VẤN ĐỀ GIA TẢI TRƢỚC BẰNG ĐẤT ĐẮP: 117 NHẬN XÉT, KẾT LUẬN VÀ KIẾN NGHỊ 124 TÀI LIỆU THAM KHẢO 126 -1- MỞ ĐẦU Tính cấp thiết mục đích đề tài: Hiện tượng lún cơng trình đất yếu diễn thời gian dài, có lên đến vài trăm năm để đạt độ lún ổn định Độ lún ban đầu nhỏ lâu dài để lại hậu nghiêm trọng lún, sụt, nghiêng … ta khơng có biện pháp tính tốn, xử lý Lý thuyết tính tốn độ lún đất theo thời gian Terzaghi đề xuất từ lâu, nhiên việc xác định độ lún theo thời gian với cơng trình đường đắp đất yếu thường tính với sơ đồ tính khơng hợp lý cơng thức thu gọn nên cho kết không chuẩn xác, hay công trình tải trọng đắp gia tăng theo cấp tải với thời gian chất tải ban đầu thường bị bỏ qua tính cho cấp tải trọng Mục tiêu đề tài nghiên cứu tìm hiểu vấn đề cịn thiếu sót lý thuyết cố kết thấm áp dụng thực tế lập chương trình tính tốn, dự báo độ lún cơng trình đường đắp đất yếu tải trọng gia tăng theo cấp với thời gian theo lý thuyết tính tốn gần với sơ đồ thực tế Nội dung nghiên cứu: Nội dung nghiên cứu đề tài gồm vấn đề sau: - Xem xét độ cố kết ba phương theo Terzaghi Biot - Xác định độ cố kết tải trọng tải trọng gia tăng theo cấp với thời gian - Xác định độ cố kết trường hợp hệ số cố kết Cv thay đổi trình cố kết - Xác định tải trọng gia tải trước theo thời gian ngược lại cho toán gia tải trước đất đắp - Xác định độ cố kết trường hợp chiều dài giếng cát, bấc thấm nhỏ chiều sâu vùng gây lún - Thiết lập chương trình tính tốn cố kết Phạm vi nghiên cứu: Đề tài nghiên cứu với cơng trình đường đắp vùng đất yếu, có khơng xử lý giếng cát, bấc thấm đất yếu Cơng trình có chiều cao đắp đắp gia tăng theo cấp tải với thời gian Cơng trình sử dụng phương pháp gia tải trước đất đắp Cơng trình xử lý giếng, cát bấc thấm trường hợp chiều dài giếng cát, bấc thấm nhỏ chiều sâu vùng gây lún Phƣơng pháp nghiên cứu: Dựa lý thuyết cố kết thấm Terzaghi cho phương ba phương, tác giả nghiên cứu lập chương trình tính ngơn ngữ Visual Basic theo tốn sát với thực tế -85Dim Tong As Single On Error Resume Next n = 128 Tong = / n For i = To * n Step Tong = Tong * (i / (i + 2)) ^ + / n Next i tQuyDoi = (Tong - / n) * t End Function Private Function DoCoKetU(a As Single) As Single Dim n As Integer Dim Tong As Single Dim Pi As Single Pi = * Atn(1#) On Error Resume Next For n = To 200 Step Tong = Tong + (1 / n ^ 2) * Exp(-((n * Pi) ^ / 4) * a) Next n DoCoKetU = - ((8 / Pi ^ 2) * Tong) End Function Private Function DoLunCuoiCung(Taitrong As Single) As Single DoLunCuoiCung = (Taitrong * HSNenTT * 10 ^ (-4) * CDLDatYeu * 1000) End Function Private Function HSThoiGian(Cv As Single, t As Single, h As Single) HSThoiGian = ((Cv * t * 86400) / (h * h * 10 ^ 4)) End Function Private Function KiemTraNhap() As Boolean KiemTraNhap = True If txtTLThoiGian.Text = "" Then MsgBox "Ban chua nhap ty le cho truc thoi gian" txtTLThoiGian.SetFocus KiemTraNhap = False Exit Function Else If Not IsNumeric(txtTLThoiGian.Text) Then MsgBox "Ty le thoi gian ban nhap chua dung" txtTLThoiGian.Text = "" txtTLThoiGian.SetFocus KiemTraNhap = False Exit Function End If End If If txtTLDoLun.Text = "" Then MsgBox "Ban chua nhap ty le cho truc lun" txtTLDoLun.SetFocus -86KiemTraNhap = False Exit Function Else If Not IsNumeric(txtTLDoLun.Text) Then MsgBox "Ty le lun ban nhap chua dung" txtTLDoLun.Text = "" txtTLDoLun.SetFocus KiemTraNhap = False Exit Function End If End If End Function Private Sub txtTLDoLun_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 13 Then Call cmdVeBieuDo_Click End If End Sub Private Sub txtTLThoiGian_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 13 Then Call cmdVeBieuDo_Click End If End Sub 4.2.4 Modules “Biến Toàn Cục”: Public ThongSoDe As Single Public ThongSoHamF As Single Public KCBTS As Single Public CDBTa As Single Public CRBTb As Single Public Taitrong1 As Single Public Taitrong2 As Single Public Taitrong3 As Single Public Taitrong4 As Single Public Ngay1 As Single Public Ngay2 As Single Public Ngay3 As Single Public Ngay4 As Single Public Ngay5 As Single Public Ngay6 As Single Public Ngay7 As Single Public Captt As Byte Public TGQuyDoi As Single Public MoNuaDong As Byte Public CDLDatYeu As Single Public HSNenTT As Single Public HSCoKet As Single -87Public ThamDungkz As Single Public Tv As Single Public UCoKet As Single Public DoLun As Single Public GCBT As Byte Public Function PhayThanhCham(Chuoi As String) PhayThanhCham = Replace(Chuoi, ",", ".") End Function 4.3 Chương trình tính toán tải trọng gia tải trước theo thời gian cố kết xác định thời gian cố kết theo tải trọng gia tải toán gia tải trước đất đắp: 4.3.1 Forms “Gia Tải Trước”: Private Sub chkDoLun_Click() If chkDoLun.Value = vbChecked Then Label5.Enabled = True txtHSNen.Enabled = True Label6.Enabled = True txtHSRong.Enabled = True cmdDoLun.Enabled = True Else Label5.Enabled = False txtHSNen.Enabled = False Label6.Enabled = False txtHSRong.Enabled = False cmdDoLun.Enabled = False End If End Sub Private Sub cmdBieuDo_Click() If KiemTraNhap = True Then Call GanBien GiaTaiTruoc.Hide BieuDo.Show End If End Sub Private Sub cmdDoLun_Click() If KiemTraNhap = True Then Call GanBien taitBanThan = ttBanThan(dtLopCat, cdLopCat, dtLopDatyeu, cdLopDatYeu) HSoNen = Val(PhayThanhCham(txtHSNen.Text)) DoRong = Val(PhayThanhCham(txtHSRong.Text)) DoLun = (HSoNen / (1 + DoRong)) * cdLopDatYeu * (Log((taitBanThan + ttCongTrinh) / taitBanThan) / Log(10)) If DoLun < Then -88MsgBox "Do lun cuoi cung theo tai cong trinh: 0" & DoLun & "m", 1, "Ket qua lun cuoi cung:" Else MsgBox "Do lun cuoi cung theo tai cong tirnh: " & DoLun & "m", 1, "Ket qua lun cuoi cung:" End If Else Exit Sub End If End Sub Private Sub cmdExit_Click() End End Sub Private Sub cmdOk_Click() If KiemTraNhap = True Then Call GanBien Thoat = True If optTaiTrong.Value = True Then Tv = (hsCoKet * ThoiGiant * 1440) / (cdLopDatYeu * 50) ^ U = TinhUtuTv(Tv) If Thoat = False Then MsgBox "Thoi gian co ket ban nhan nho qua hoac qua lon" txtThoiGian.SetFocus Exit Sub End If taitBanThan = ttBanThan(dtLopCat, cdLopCat, dtLopDatyeu, cdLopDatYeu) trunggian = + ttCongTrinh / taitBanThan logTG = Log(trunggian) / Log(10) TaiTrongGiaTai = ((10 ^ (logTG / U)) - trunggian) * taitBanThan MsgBox "Tai can gia tai la la: " & TaiTrongGiaTai & " kN/m2" End If If optThoiGian.Value = True Then taitBanThan = ttBanThan(dtLopCat, cdLopCat, dtLopDatyeu, cdLopDatYeu) trunggian = + ttCongTrinh / taitBanThan U = (Log(trunggian) / Log(10)) / (Log(trunggian + TTGiaTai / taitBanThan) / Log(10)) Tv = TinhTvtuU(U) If Thoat = False Then MsgBox "Tai ban nhap qua nho hoac qua lon" txtTaiTrongGiaTai.SetFocus Exit Sub End If t = Tv * (cdLopDatYeu * 50) ^ / (hsCoKet * 60 * 24) MsgBox "Thoi gian cho co ket hoan toan : " & t & " ngay" End If End If End Sub -89Private Sub Form_Load() pctHinh.Picture = LoadPicture("C:\- D -Work\CaoHoc\Luan Van\Phan Men\Bai - Bai Toan Gia Tai Truoc\Hinh\Giataitruoc.jpg") optTaiTrong.Value = True Label9.Enabled = True txtThoiGian.Enabled = True Label10.Enabled = False txtTaiTrongGiaTai.Enabled = False Label5.Enabled = False txtHSNen.Enabled = False Label6.Enabled = False txtHSRong.Enabled = False cmdDoLun.Enabled = False End Sub Private Sub optTaiTrong_Click() Label9.Enabled = True txtThoiGian.Enabled = True Label10.Enabled = False txtTaiTrongGiaTai.Enabled = False End Sub Private Sub optThoiGian_Click() Label9.Enabled = False txtThoiGian.Enabled = False Label10.Enabled = True txtTaiTrongGiaTai.Enabled = True End Sub Private Function KiemTraNhap() As Boolean KiemTraNhap = True On Error Resume Next If txtCDLopCat.Text = "" Then MsgBox "Ban chua nhap Chieu day Lop cat" txtCDLopCat.SetFocus KiemTraNhap = False Thoat = False Exit Function Else If Not IsNumeric(txtCDLopCat.Text) Then MsgBox "Chieu day Lop cat ban nhap chua dung" txtCDLopCat.Text = "" txtCDLopCat.SetFocus KiemTraNhap = False Thoat = False Exit Function End If End If If txtCDLopDatYeu.Text = "" Then -90MsgBox "Ban chua nhap Chieu day Lop dat yeu" txtCDLopDatYeu.SetFocus KiemTraNhap = False Thoat = False Exit Function Else If Not IsNumeric(txtCDLopDatYeu.Text) Then MsgBox "Chieu day Lop dat yeu ban nhap chua dung" txtCDLopDatYeu.Text = "" txtCDLopDatYeu.SetFocus KiemTraNhap = False Exit Function End If End If If txtDTLopCat.Text = "" Then MsgBox "Ban chua nhap Dung Lop cat" txtDTLopCat.SetFocus KiemTraNhap = False Exit Function Else If Not IsNumeric(txtDTLopCat.Text) Then MsgBox "Dung Lop cat ban nhap chua dung" txtDTLopCat.Text = "" txtDTLopCat.SetFocus KiemTraNhap = False Exit Function End If End If If txtDTLopDatYeu.Text = "" Then MsgBox "Ban chua nhap Dung Lop dat yeu" txtDTLopDatYeu.SetFocus KiemTraNhap = False Exit Function Else If Not IsNumeric(txtDTLopDatYeu.Text) Then MsgBox "Dung Lop dat yeu ban nhap chua dung" txtDTLopDatYeu.Text = "" txtDTLopDatYeu.SetFocus KiemTraNhap = False Exit Function End If End If If txtTTCongTrinh.Text = "" Then MsgBox "Ban chua nhap Tai Cong trinh" txtTTCongTrinh.SetFocus KiemTraNhap = False Exit Function Else If Not IsNumeric(txtTTCongTrinh.Text) Then -91MsgBox "Tai Cong trinh ban nhap chua dung" txtTTCongTrinh.Text = "" txtTTCongTrinh.SetFocus KiemTraNhap = False Exit Function End If End If If txtHSCoKet.Text = "" Then MsgBox "Ban chua nhap He so Co ket" txtHSCoKet.SetFocus KiemTraNhap = False Exit Function Else If Not IsNumeric(txtHSCoKet.Text) Then MsgBox "He so Co ket ban nhap chua dung" txtHSCoKet.Text = "" txtHSCoKet.SetFocus KiemTraNhap = False Exit Function End If End If If txtHSNen.Enabled = True Then If txtHSNen.Text = "" Then MsgBox "Ban chua nhap He so Nen" txtHSNen.SetFocus KiemTraNhap = False Exit Function Else If Not IsNumeric(txtHSNen.Text) Then MsgBox "He so nen ban nhap chua dung" txtHSNen.Text = "" txtHSNen.SetFocus KiemTraNhap = False Exit Function End If End If End If If txtHSRong.Enabled = True Then If txtHSRong.Text = "" Then MsgBox "Ban chua nhap He so Rong ban dau" txtHSRong.SetFocus KiemTraNhap = False Exit Function Else If Not IsNumeric(txtHSRong.Text) Then MsgBox "He so Rong ban dau ban nhap chua dung" txtHSRong.Text = "" txtHSRong.SetFocus KiemTraNhap = False -92Exit Function End If End If End If If txtThoiGian.Enabled = True Then If txtThoiGian.Text = "" Then MsgBox "Ban chua nhap Thoi gian de tinh" txtThoiGian.SetFocus KiemTraNhap = False Exit Function Else If Not IsNumeric(txtThoiGian.Text) Then MsgBox "Thoi gian tinh ban nhap chua dung" txtThoiGian.Text = "" txtThoiGian.SetFocus KiemTraNhap = False Exit Function End If End If End If If txtTaiTrongGiaTai.Enabled = True Then If txtTaiTrongGiaTai.Text = "" Then MsgBox "Ban chua nhap Tai gia tai" txtTaiTrongGiaTai.SetFocus KiemTraNhap = False Exit Function Else If Not IsNumeric(txtTaiTrongGiaTai.Text) Then MsgBox "Tai Gia tai ban nhap chua dung" txtTaiTrongGiaTai.Text = "" txtTaiTrongGiaTai.SetFocus KiemTraNhap = False Exit Function End If End If End If If txtHSNen.Enabled = True Then txtHSNen.Text = PhayThanhCham(txtHSNen.Text) End If If txtHSRong.Enabled = True Then txtHSRong.Text = PhayThanhCham(txtHSRong.Text) End If End Function Public Sub GanBien() On Error Resume Next cdLopCat = Val(PhayThanhCham(txtCDLopCat.Text)) cdLopDatYeu = Val(PhayThanhCham(txtCDLopDatYeu.Text)) dtLopCat = Val(PhayThanhCham(txtDTLopCat.Text)) -93dtLopDatyeu = Val(PhayThanhCham(txtDTLopDatYeu.Text)) ttCongTrinh = Val(PhayThanhCham(txtTTCongTrinh.Text)) hsCoKet = Val(PhayThanhCham(txtHSCoKet.Text)) If txtThoiGian.Enabled = True Then ThoiGiant = Val(PhayThanhCham(txtThoiGian.Text)) End If If txtTaiTrongGiaTai.Enabled = True Then TTGiaTai = Val(PhayThanhCham(txtTaiTrongGiaTai.Text)) End If End Sub 4.3.2 Modules “Biểu Đồ”: Private Sub cmdHienBD_Click() If KiemTraNhap = True Then TLX = Val(PhayThanhCham(txtTLX.Text)) TLY = Val(PhayThanhCham(txtTLY.Text)) Call ToaDo Call VeDoThi End If End Sub Private Sub ToaDo() picBieuDo.Cls picBieuDo.Scale (-45 * TLX, 800 * TLY)-(450 * TLX, -40 * TLY) ' truc X picBieuDo.Line (0, 0)-(400 * TLX, 0), vbBlack For i = To 350 * TLX Step 50 If i Then picBieuDo.Line (i, -3 * TLY)-(i, * TLY), vbBlack End If If (i / TLX) Mod 50 = Then picBieuDo.CurrentX = i - 20 * TLX picBieuDo.CurrentY = -8 * TLY picBieuDo.Print i End If Next i ' truc Y picBieuDo.Line (0, 800 * TLY)-(0, 0), vbBlack For i = 50 To 750 * TLY Step 50 picBieuDo.Line (-3 * TLX, i)-(3 * TLX, i), vbBlack If (i / TLY) Mod 50 = Then picBieuDo.CurrentX = -45 * TLX picBieuDo.CurrentY = i + 15 * TLY picBieuDo.Print i End If Next i picBieuDo.Line (390 * TLX, * TLY)-(400 * TLX, 0) picBieuDo.Line (390 * TLX, -5 * TLY)-(400 * TLX, 0) -94picBieuDo.Line (-5 * TLX, 790 * TLY)-(0, 800 * TLY) picBieuDo.Line (5 * TLX, 790 * TLY)-(0, 800 * TLY) End Sub Private Sub cmdQuayLai_Click() BieuDo.Hide GiaTaiTruoc.Show End Sub Private Sub cmdThoat_Click() End End Sub Private Function Taitrong(TGian As Single) Tv = (hsCoKet * TGian * 1440) / (cdLopDatYeu * 50) ^ U = TinhUtuTv(Tv) taitBanThan = ttBanThan(dtLopCat, cdLopCat, dtLopDatyeu, cdLopDatYeu) trunggian = + ttCongTrinh / taitBanThan logTG = Log(trunggian) / Log(10) If U Then Taitrong = ((10 ^ (logTG / U)) - trunggian) * taitBanThan Else Taitrong = End If End Function Private Sub VeDoThi() For i = 40 To 400 Step j = Taitrong(i) k = Taitrong(i + 1) If (j 0) And (k 0) Then picBieuDo.DrawWidth = picBieuDo.DrawStyle = vbDash picBieuDo.Line (i, j)-(i + 1, k), vbRed If (i Mod 50 = 0) Then picBieuDo.DrawWidth = 0.6 picBieuDo.DrawStyle = vbDot picBieuDo.Line (i, 0)-(i, j), RGB(183, 187, 171) picBieuDo.Line (i, j)-(0, j), RGB(183, 187, 171) picBieuDo.DrawWidth = 1.5 picBieuDo.DrawStyle = vbDash picBieuDo.Circle (i, j), 5, vbBlue End If End If Next i End Sub Private Sub Form_Load() -95Picture1.Picture = LoadPicture("C:\- D -Work\CaoHoc\Luan Van\Phan Men\Bai - Bai Toan Gia Tai Truoc\Hinh\label.jpg") txtTLX = txtTLY = End Sub Private Function KiemTraNhap() As Boolean KiemTraNhap = True If txtTLX.Text = "" Then MsgBox "Ban chua nhap ty le cho truc X (thoi gian)" txtTLX.SetFocus KiemTraNhap = False Exit Function Else If Not IsNumeric(txtTLX.Text) Then MsgBox "Ty le truc X (thoi gian) ban nhap chua dung" txtTLX.Text = "" txtTLX.SetFocus KiemTraNhap = False Exit Function End If End If If txtTLY.Text = "" Then MsgBox "Ban chua nhap ty le cho truc Y (tai trong)" txtTLX.SetFocus KiemTraNhap = False Exit Function Else If Not IsNumeric(txtTLX.Text) Then MsgBox "Ty le truc Y (tai trong) ban nhap chua dung" txtTLY.Text = "" txtTLY.SetFocus KiemTraNhap = False Exit Function End If End If End Function 4.3.3 Modules “Biến Toàn Cục”: Public cdLopCat As Single Public cdLopDatYeu As Single Public dtLopCat As Single Public dtLopDatyeu As Single Public ttCongTrinh As Single Public hsCoKet As Single Public taitBanThan As Single Public Thoat As Boolean Public Tv As Single -96Public U As Single Public Function PhayThanhCham(Chuoi As String) PhayThanhCham = Replace(Chuoi, ",", ".") End Function Public Function TinhUtuTv(Tv As Single) As Single If (Tv < 0.05) Or (Tv > 1) Then Thoat = False Exit Function End If If (0.05