ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA LUẬN VĂN THẠC SĨ ĐỀ TÀI: TÌM HIỂU PHƯƠNG PHÁP TUNG CẦU ĐỂ XÁC ĐỊNH XÁC SUẤT SÉT ĐÁNH VÀO CẤU TRÚC BA CHIỀU CHUYÊN NGÀNH : MẠNG VÀ HỆ THỐNG ĐIỆN Mà SỐ NGÀNH : 2.06.07 GVHD: TS Hoàng Việt Học viên: Thái Tuấn Tài TP HCM 07/2004 CÔNG TRÌNH ĐƯC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH Cán hướng dẫn khoa học : Cán chấm nhận xét : Cán chấm nhận xét : TS Hoàng Việt Luận văn thạc só bảo vệ HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA ngày tháng năm 2004 Đại Học Quốc Gia Tp Hồ Chí Minh CỘNG HÒA Xà HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc Lập – Tự Do – Hạnh Phúc -o0o -o0o NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên Ngày, tháng, năm sinh Chuyên ngành : Thái Tuấn Tài Phái : 11/5/1962 Nơi sinh : Mạng Hệ thống điện Mã số : Nam : Sài gòn : 2.06.07 I-TÊN ĐỀ TÀI: Tìm hiểu phương pháp tung cầu để xác định xác suất sét đánh vào cấu trúc ba chiều II- NHIỆM VỤ VÀ NỘI DUNG: Nghiên cứu tượng phóng điện sét Lý thuyết mô hình điện hình học phương pháp cầu lăn Các phương pháp xác định xác suất sét đánh vào công trình cần bảo vệ Xây dựng chương trình tính toán xác suất sét đánh vào công trình cần bảo vệ với cấu trúc ba chiều III- NGÀY GIAO NHIỆM VỤ:………………………………………………………………………………………………………… IV- NGÀY HOÀN THÀNH NHIỆM VỤ:…………………………………………………………………………………… V- HỌ TÊN CÁN BỘ HƯỚNG DẪN: TS HOÀNG VIỆT VI- HỌ TÊN CÁN BỘ CHẤM NHẬN XÉT 1:…………………………………………………………………………… VII-HỌ TÊN CÁN BỘ CHẤM NHẬN XÉT 2:………………………………………………………………………… CÁN BỘ HƯỚNG DẪN CÁN BỘ NHẬN XÉT CÁN BỘ NHẬN XÉT TS HOÀNG VIỆT Nội dung đề cương luận văn thạc só Hội Đồng Chuyên Ngành thông qua TRƯỞNG PHÒNG QLKH-SĐH CHỦ NHIỆM NGÀNH TS NGUYỄN HOÀNG VIỆT LỜI CÁM ƠN Luận văn kết hướng dẫn từ thầy cô Bộ Môn Hệ Thống Điện, Thầy Chủ Nhiệm ngành suốt hai năm khoá đào tạo cao học chuyên ngành Mạng Hệ Thống Điện Đặc biệt thời gian viết luận văn em nhận hướng dẫn, động viên giúp đỡ trực tiếp thầy Hoàng Việt Thầy dẫn tận tình, cung cấp tài liệu q báu để giúp em hoàn thành luận văn Em xin chân thành bày tỏ lòng biết ơn thầy Hoàng Việt, thầy chủ nhiệm ngành Nguyễn Hoàng Việt thầy cô Bộ Môn Hệ Thống Điện TÓM TẮT LUẬN VĂN THẠC SĨ Ở vùng lãnh thổ với điều kiện khí hậu, thời tiết địa hình khác đặc điểm hoạt động dông sét khác Việt nam nước thuộc vùng khí hậu nhiệt đới nóng ẩm, mưa nhiều, cường độ dông sét mạnh Thực tế sét gây nhiều tác hại đến đời sống sinh hoạt tính mạng người, gây hư hỏng thiết bị, công trình Sét tác nhân gây cố vận hành hệ thống điện hoạt động nhiều ngành khác Các hệ thống bảo vệ chống sét đánh trực tiếp thiết kế lắp đặt nhiều Trong tình trạng nay, việc đánh giá hiệu hệ thống bảo vệ chống sét đánh trực tiếp để so sánh hiệu kinh tế việc làm thiết thực Đối với công trình có cấu trúc đơn giản việc xác định xác suất sét đánh vào công trình khó khăn Tuy nhiên công trình có cấu trúc ba chiều với hình dạng phức tạp, việc xác định xác suất sét đánh vào công trình đòi hỏi khối lượng tính toán lớn nhiều thời gian Với lý đề án “Tìm hiểu phương pháp Tung cầu để xác định xác suất sét đánh vào cấu trúc ba chiều” mong muốn tìm hiểu phương pháp xác định xác suất sét đánh vào công trình xây dựng chương trình tính toán để phát triển ứng dụng tính toán cho việc đánh giá hiệu bảo chống sét đánh trực cho công trình với cấu trúc ba chiều có hình dạng Nội dung đề án bao gồm chương sau: Chương I: Tổng quan Tìm hiểu tượng phóng điện sét khí quyển, thông số chủ yếu phóng điện sét tình hình nghiên cứu dông sét Việt Nam Trong chương này, qui phạm áp dụng để thiết kế hệ thống bảo vệ chống sét nước giới tìm hiểu Chương II: Lý thuyết Mô hình điện hình học Trong chương này, lý thuyết tượng sét nhà Bác học R.N.Golde đề xuất hoàn chỉnh nhà bác học khác tìm hiểu Phạm vi bảo vệ chống sét kim thu lôi, dây chống sét khảo sát lại với mô hình điện hình học Chương III: Phương pháp cầu lăn ứng dụng Một phương pháp dựa sở lý thuyết mô hình điện hình học ứng dụng rộng rãi giới tìm hiểu chương Các ứng dụng, cải tiến phát triển phương pháp cầu lăn khảo sát Chương IV: Các phương pháp xác định xác suất sét đánh vào công trình Trên sơ lý thuyết mô hình điện hình học, nhiều phương pháp xác định xác suất sét đánh vào công trình với hệ thống bảo vệ tìm hiểu Chương V: Phương pháp Tung cầu để xác định xác suất sét đánh vào cấu trúc ba chiều Dựa ý tưởng nhà khoa học Trung Quốc trình bày Hội Nghị Quốc Tế Kỹ Thuật Cao Áp lần thứ 10 Một phương pháp thống kê để đánh giá xác suất sét đánh vào cấu trúc ba chiều với hình dạng tìm hiểu Và sơ này, chương trình tính toán viết ngôn ngữ Visual Basic thực Bằng đối chiếu với phương pháp khác áp dụng cho đường dây tải điện dây chống sét cho thấy kết tính từ phương pháp Tung cầu phù hợp với kết tính với phương pháp công nhận Chương VI: Nhận xét kết luận chung ABSTRACT In territorial areas with different conditions of climate, weather and topography, the lightning features are different Vietnam is a country locating in tropical climate zone with heat, humidity, much rain and strong active lightning The lightning has actually caused many damages to life and people, equipment and structures and it is one of factors which causes faults in power system operation and activities of other sectors Many lightning protection system have been desidned and installed Evaluation of a lightning protection system’s effectiveness is necessity It is easy to evaluate shielding failure risk of simple structures However for the structures with complex geometries, evaluation of shielding failure risk becomes much more complicated and it may take very long time It is the reason this thesis, called “Discovery of ball-tossing method for practical evaluation of lightning failure risk of three dimension structures”, intends to study lightning failure risk evaluation approaches, establishes a computer program based on ball-tossing method The program can be extended to apply for assessment of a lightning protection system of three dimension structures with any geometry Main contents of thesis are as follow: Chapter I: General This chapter studies the phenomenon of lightning discharge in atmosphere, main parameters of lightning discharge and lightning research in Vietnam The regulations related to design, installation of lightning protection system in Vietnam and abroad are also the subject of study in this chapter Chapter II: Electro-Geometric Model theory New concept about lightning phenomenon promoted by Golde R.N and developed by other scientists was studied in this chapter Lightning protection zone of lightning rod and ground wires was investigated with Electro-geometric model Chapter III: Rolling sphere method-theory and application An approach based on Electro-geometric model, which has been widely applied all over the world, was study in this chapter Application and modification of rolling sphere method was also investigated here Chapter IV: Lightning failure risk evaluation approaches This chapter makes an overview on approaches on evaluation of lightning shielding failures risk on structures Chapter V: Statistical ball-tossing method for practical evaluation of lightning failure risk of three dimension structures Based on Chinese scientists’ ideas presented on 10th International Symposium on High Voltage Engineering, a new approach for statistical evaluation of lightning shielding failure risk of three dimension structures was investigated in this chapter From this approach, a computer program on Visual Basis was established Comparison of calculation results of ball-tossing method with results of other approaches applied to overhead transmission line with ground wire shows that they are basically in agreement Chapter VI: Comment and conclusions MUÏC LUÏC Trang phụ bìa Nhiệm vụ luận văn thạc só Lời cám ơn Tóm tắt luận văn thạc só Mục lục Danh mục hình vẽ, đồ thị Chương 1: TỔNG QUAN 1.1 Sơ lược vật lý phóng điện sét…………………………………………………………………………………….… 1.1 1.2 Các tham số chủ yếu sét……………………………………………………………………………………………1.6 1.3 Tình hình dông sét Việt Nam………………………………………………………………………………….…1.11 1.4 Các mô hình phóng điện sét……………………………………………………………………………………….…1.14 1.5 Hiện trạng bảo vệ chống sét đánh trực tiếp……………………………………………………………1.23 Chương II: LÝ THUYẾT MÔ HÌNH ĐIỆN HÌNH HỌC 2.1 Cơ sở lý thuyết………………………………………………………………………………………………………………………2.1 2.2 Phạm vi bảo vệ cột thu sét…………………………………………………………………………… ……….2.3 2.3 Phạm vi bảo vệ dây chống sét……………………………………………………………………………….2.5 2.4 Phạm vi bảo vệ lưới kim loại……………………………………………………………………………….…2.6 2.5 Dây chống sét bảo vệ cho dây dẫn đường dây tải điện cao áp…………………….….2.8 Chương III: PHƯƠNG PHÁP QUẢ CẦU LĂN 3.1 Xác định phạm vi bảo vệ hệ thống thu sét bất kỳ-phương pháp cầu lăn………………………………………………………………………………………………………………………………………3.1 3.2 Ứng dụng phương pháp cầu lăn để xác định vị trí sét đánh cấu trúc cao có hình dạng phức tạp……………………………………………………………………………………………… 3.2 3.3 Xác định số lần xét đánh vào kim thu sét dây chống sét………….………………….3.6 3.4 Phương pháp cầu lăn cải tiến………………………………………………………………………….……3.10 Chương IV: CÁC PHƯƠNG PHÁP XÁC ĐỊNH XÁC SUẤT SÉT ĐÁNH VÀO CÔNG TRÌNH 4.1 Xác suất sét đánh vào công trình………………………………………………………………………………….4.1 4.2 Xác định xác suất sét đánh vào đường dây tải điện có dây chống sét……….….4.1 4.3 Xác định xác suất sét đánh vào công trình bảo vệ kim thu sét… 4.4 Chương V: TÌM HIỂU PHƯƠNG PHÁP TUNG CẦU VÀ ỨNG DỤNG 5.1 Giới thiệu……………………………………………………………………………………………………………………….……… 5.1 5.2 Nguyên lý phương pháp tung cầu-BTM……………………………………………………….…….5.2 5.3 Xác định thông số chương trình ứng dụng…………………………………………….……5.4 5.4 Xây dựng thuật toán chương trình……………………………………………………………………….…5.5 5.5 Ngôn ngữ mã nguồn chương trình………………………………………………………………5.9 5.6 Kiểm chứng……………………………………………………………………………………………………………………….……5.9 5.7 Xác định xác suất sét đánh vào cấu trúc ba chiều chương trình viết theo phương pháp tung cầu……………………………………………………………………………………………….………5.11 5.8 Kết luận………………………………………………………………………………………………………………………….………5.13 Chương VI: KẾT LUẬN CHUNG……………………………………………………………………………………………….6.1 TÀI LIỆU THAM KHẢO PHỤ LUÏC Private Sub txtBKinh_Change() BKQuaCau = Val(Me.txtBKinh.Text) txt_Ns.Visible = False txt_Np.Visible = False txt_Chk.Visible = False Lab_Ns.Visible = False Lab_Np.Visible = False Lab_Chk.Visible = False End Sub Private Sub txtBKinh_Validate(Cancel As Boolean) If Not IsNumeric(txtBKinh.Text) And txtBKinh.Text "" Or Val(txtBKinh.Text) >= _ Val(txtCloud_Height.Text) Then MsgBox "Du lieu phai la so va nho hon chieu cao may ", vbExclamation, "Thong bao" Cancel = True txtBKinh.SetFocus End If End Sub Private Sub txtCloud_Height_Change() Cloud_Height = Val(Me.txtCloud_Height.Text) txt_Ns.Visible = False txt_Np.Visible = False txt_Chk.Visible = False Lab_Ns.Visible = False Lab_Np.Visible = False Lab_Chk.Visible = False End Sub Private Sub txtCloud_Height_Validate(Cancel As Boolean) If Not IsNumeric(txtCloud_Height.Text) And txtCloud_Height.Text "" Then MsgBox "Du lieu phai la so ", vbExclamation, "Thong bao" Cancel = True txtCloud_Height.SetFocus End If End Sub Private Sub txtToaDoCTrinh_Change(index As Integer) txt_Ns.Visible = False txt_Np.Visible = False txt_Chk.Visible = False Lab_Ns.Visible = False Lab_Np.Visible = False Lab_Chk.Visible = False End Sub Private Sub txtToaDoCTrinh_GotFocus(index As Integer) Chk_row txtToaDoCTrinh, 2, index If txtToaDoCTrinh(index).Top + PicBackground2.Top < txtToaDoCTrinh(1).Height Then Scroll_Down End If If txtToaDoCTrinh(index).Top + 1.5 * txtToaDoCTrinh(1).Height > _ Pict2.Height - PicBackground2.Top Then Scroll_Up End If End Sub Private Sub txtToaDoCTrinh_Validate(index As Integer, Cancel As Boolean) Chk_Validate txtToaDoCTrinh, index, Cancel End Sub Phu Luc - 10 Private Sub Add_row(style As Integer) ' Thêm dòng trªn l−íi nhËp liƯu Select Case style Case Tabindex = txtToaDoTLoi(txtToaDoTLoi.UBound).Tabindex + Add_array txtToaDoTLoi, 1, txtToaDoTLoi(txtToaDoTLoi.UBound - 3).Alignment = Resize_Scroll If Scroll_Row_Max(1) > Then Scroll 1, Scroll_Row_Max(1) - Case Tabindex = txtToaDoCTrinh(txtToaDoCTrinh.UBound).Tabindex + Add_array txtToaDoCTrinh, 1, txtToaDoCTrinh(txtToaDoCTrinh.UBound - 3).Alignment = Resize_Scroll If Scroll_Row_Max(2) > Then Scroll 2, Scroll_Row_Max(2) - End Select End Sub Private Sub Init_row(style As Integer, LabCol) Add_row style Add_array LabCol, 1, LabCol(1).Caption = "Tên Điểm" LabCol(2).Caption = "X" LabCol(3).Caption = "Y" LabCol(4).Caption = "Z" Add_row style End Sub Private Sub Chk_row(txtToaDo, style As Integer, index) ' Thêm dòng lới thiếu dòng trống, nhấp chuột cào lới Dim CtrlIndex, flag As Integer CtrlIndex = txtToaDo.UBound flag = If index >= CtrlIndex - Then For i = CtrlIndex - To CtrlIndex - If txtToaDo(i) = "" Then flag = Next i Else For i = CtrlIndex - To CtrlIndex If txtToaDo(i) = "" Then flag = Next i End If If flag = Then Add_row style txtToaDo(index).SetFocus End Sub Private Sub txtToaDoTLoi_Change(index As Integer) txt_Ns.Visible = False txt_Np.Visible = False txt_Chk.Visible = False Lab_Ns.Visible = False Lab_Np.Visible = False Lab_Chk.Visible = False End Sub Private Sub txtToaDoTLoi_GotFocus(index As Integer) Chk_row txtToaDoTLoi, 1, index If txtToaDoTLoi(index).Top + PicBackground1.Top < txtToaDoTLoi(1).Height Then Scroll_Down End If Phu Luc - 11 If txtToaDoTLoi(index).Top + 1.5 * txtToaDoTLoi(1).Height > _ Pict1.Height - PicBackground1.Top Then Scroll_Up End If End Sub Private Sub Chk_Validate(txtToaDo, index As Integer, Cancel As Boolean) If Not IsNumeric(txtToaDo(index).Text) And txtToaDo(index).Text "" And _ index Mod Then MsgBox "Du lieu khong hop le", vbExclamation, "Thong bao" Cancel = True txtToaDo(index).SetFocus End If End Sub Private Sub txtToaDoTLoi_Validate(index As Integer, Cancel As Boolean) Chk_Validate txtToaDoTLoi, index, Cancel End Sub Private Sub Add_Group(style As Integer, txtToaDo, LabGroup, Group) ' Thªm nhãm ( thêm thu lôi công trình để nhập liệu ) Dim i, cnt, index As Integer index = txtToaDo.UBound cnt = index While txtToaDo(index).Text = "" And index > And txtToaDo(index).Visible index = index - Wend i = index While i > And txtToaDo(i).Visible If txtToaDo(i).Text = "" Then MsgBox "Hoan du lieu truoc them moi.", vbExclamation, "Thong Bao" txtToaDo(i).SetFocus Exit Sub End If i=i-1 Wend If (index - i) \ (index - i) / Or (index - i) \ < Then MsgBox "Hoan du lieu truoc them moi.", vbExclamation, "Thong Bao" txtToaDo(index + 1).SetFocus Exit Sub End If index = index + Load LabGroup(LabGroup.UBound + 1) LabGroup(LabGroup.UBound).Top = txtToaDo(index).Top LabGroup(LabGroup.UBound).Width = LabGroup(LabGroup.UBound - 1).Width Group = Group + If style = Then LabGroup(LabGroup.UBound).Caption = " Bé PhËn Thu sÐt Thø " & Group Else LabGroup(LabGroup.UBound).Caption = "Công Trình Thứ " & Group End If LabGroup(LabGroup.UBound).Tag = index For i = index To index + txtToaDo(i).Visible = False Next i LabGroup(LabGroup.UBound).Visible = True cnt = cnt - index - If cnt Then Row_no = Row_no - Scroll style, Row_no End If End Sub Private Sub Scroll(style As Integer, row As Integer) Select Case style Case LabScroll1.Top = cmdScroll_a.Height + LabScroll1.Height * row PicBackground1.Top = (txtToaDoTLoi(0).Height - 15) * row * -1 Case LabScroll2.Top = cmdScroll_c.Height + LabScroll2.Height * row PicBackground2.Top = (txtToaDoCTrinh(0).Height - 15) * row * -1 End Select End Sub Private Function Scroll_Row_Max(style As Integer) As Integer ' Xác định số dòng lớn có thÓ cuén Select Case style Case If txtToaDoTLoi(txtToaDoTLoi.UBound).Top + txtToaDoTLoi(1).Height > Pict1.Height Then Scroll_Row_Max = (txtToaDoTLoi(txtToaDoTLoi.UBound).Top + _ * txtToaDoTLoi(1).Height - Pict1.Height) / (txtToaDoTLoi(1).Height - 15) Else Scroll_Row_Max = End If Phu Luc - 13 Case If txtToaDoCTrinh(txtToaDoCTrinh.UBound).Top + txtToaDoCTrinh(1).Height > _ Pict2.Height Then Scroll_Row_Max = (txtToaDoCTrinh(txtToaDoCTrinh.UBound).Top + _ * txtToaDoCTrinh(1).Height - Pict2.Height) / (txtToaDoCTrinh(1).Height - 15) Else Scroll_Row_Max = End If End Select End Function Public Sub Add_array(Ctrl, RowNum, ColNum) ' Thªm dòng cột ô textbox On Error GoTo Add_array_Err ' Tạo dòng lới Dim i, j, row, col As Integer If Ctrl.UBound = Then row = col = Else row = (Ctrl.UBound + 1) \ ColNum col = (Ctrl.UBound + 1) Mod ColNum End If For i = row To (RowNum + row - 1) For j = col To (ColNum + col - 1) Load Ctrl(i * ColNum + j) Ctrl(i * ColNum + j).Tabindex = Tabindex Tabindex = Tabindex + Ctrl(i * ColNum + j).Top = Ctrl(0).Top + (Ctrl(0).Height - 25) * i Ctrl(i * ColNum + j).Left = Ctrl(0).Left + (Ctrl(0).Width - 25) * (j - 1) Ctrl(i * ColNum + j).Visible = True Next j Next i Exit Sub Add_array_Err: MsgBox Err.Description, , "Add_array" End Sub II/ TÝnh to¸n x¸c suÊt Type Toa_do x As Double y As Double z As Double End Type Public Tabindex As Integer Public BKQuaCau As Double ' Bán kính cầu sét Public Cloud_Height As Double ' Chiều cao đám mây sét Public Zmax As Double Public X_cloud_Max As Double, X_cloud_Min As Double, _ Y_cloud_Max As Double, Y_cloud_Min As Double, _ Z_cloud_Max As Double, Z_cloud_Min As Double ' Tọa độ giới hạn đám mây set gây ảnh hởng Public ToaDoTLoi() As Toa_do ' DÃy tọa độ điểm thu lôi đợc phân đoạn mét Public ToaDoCTrinh() As Toa_do ' DÃy tọa độ điểm công trình đợc phân đoạn mét Public Z_fall As Double ' Khoảng rơi cộng dồn mét cầu sét Public Const PI = 3.14159265358979 Public Const CLOUD_SIDE = 1000 ' ChiÒu dài cạnh đám mây sét Public Const FALL_PACE = ' Bớc rơi cầu sét Public Const INFINITE = 10000 ' Định nghĩa số vô hạn Public Const SEG_LEN = ' chiều dài phân đoạn thu lôi công trình Phu Luc - 14 Public Function Segment(txtToaDo, ByRef ToaDo() As Toa_do) As Boolean ' Phân đoạn thẳng thành n đoạn theo liệu nhập form ' trả tọa độ điểm chia vào biến ToaDo On Error GoTo Seg_Err Dim index, i, N, SoPhanDoan As Integer Dim flag As Boolean Dim X0, Y0, Z0, X1, Y1, Z1, d, PhanDoan As Double flag = False index = txtToaDo.UBound ReDim ToaDo(1) X0 = Val(txtToaDo(2).Text) ' Täa ®é đầu mút Y0 = Val(txtToaDo(3).Text) Z0 = Val(txtToaDo(4).Text) ToaDo(0).x = X0 ToaDo(0).y = Y0 ToaDo(0).z = Z0 flag = False For i = To index Step If txtToaDo(i).Visible Then ' Vẫn thu lôi hay công trình ? If RowIsFull(txtToaDo, (i \ 4)) Then ' Dòng liệu nhập đầy đủ ? flag = True ' Bật cờ đánh dấu có liêu nhập X1 = Val(txtToaDo(i + 1).Text) ' LÊy d÷ liƯu nhËp kÕ tiÕp Y1 = Val(txtToaDo(i + 2).Text) Z1 = Val(txtToaDo(i + 3).Text) d = Sqr(Square(X1 - X0) + Square(Y1 - Y0) + Square(Z1 - Z0)) ' Khoảng cách đoạn thẳng nhËp If Round(d / SEG_LEN) Then ' KiÓm tra số phân đoạn SoPhanDoan = Round(d / SEG_LEN) PhanDoan = d / SoPhanDoan ' Khi chiều dài phân đoạn nhỏ đoạn thẳng Else SoPhanDoan = PhanDoan = d ' Khi chiều dài phân đoạn lớn đoạn th¼ng End If For N = To SoPhanDoan ' Phân đoạn thẳng ReDim Preserve ToaDo(UBound(ToaDo) + 1) ToaDo(UBound(ToaDo) - 1).x = X0 + PhanDoan * N * (X1 - X0) / d ToaDo(UBound(ToaDo) - 1).y = Y0 + PhanDoan * N * (Y1 - Y0) / d ToaDo(UBound(ToaDo) - 1).z = Z0 + PhanDoan * N * (Z1 - Z0) / d Next N X0 = X1 Y0 = Y1 Z0 = Z1 End If ElseIf RowIsFull(txtToaDo, ((i + 4) \ 4)) Then ' Xét thu lôi công tr×nh kÕ tiÕp ReDim Preserve ToaDo(UBound(ToaDo) + 1) i=i+4 X0 = txtToaDo(i + 1).Text Y0 = txtToaDo(i + 2).Text Z0 = txtToaDo(i + 3).Text ToaDo(UBound(ToaDo) - 1).x = X0 ToaDo(UBound(ToaDo) - 1).y = Y0 ToaDo(UBound(ToaDo) - 1).z = Z0 End If Next i If Not flag Then ToaDo(0).x = INFINITE ' Không có liệu nhập Segment = True Exit Function Seg_Err: Select Case Err.Number Phu Luc - 15 Case MsgBox "Nhap thieu du lieu ", vbCritical, "Thong Bao Loi" Case MsgBox "Co it nhat hai diem trung ", vbCritical, "Thong Bao Loi" Case Else MsgBox Err.Description, , "Segment" End Select Segment = False End Function Public Function Power(x As Double, y As Double) As Double Power = Exp(y * Log(x)) End Function Public Function Sphere_num(Anpha As Double, Phi As Double) As Integer ' TÝnh sè cầu phân bố theo hớng Anpha Phi On Error GoTo Sphere_Err Dim m As Double m = Abs(Cos(Anpha * PI / 180)) + Sphere_num = Round((m * Power(Cos(Phi * PI / 180), m) / PI) * 10000 / 190.384465739379) Exit Function Sphere_Err: MsgBox Err.Description, , "Sphere_num" End Function Public Function Cal_Sphere_num(Anpha As Double, Phi As Double) As Integer ' Số cầu sét gần dùng tính toán ' Làm tròn số cầu phân bố theo sè hµng vµ sè cét On Error GoTo Cal_Sphere_Err Dim N As Double N = Sqr(Sphere_num(Anpha, Phi)) If N > Fix(N) Then N = Fix(N) + ' Làm tròn số cạnh số cột If N > And N < Then N = ' NÕu sè cầu thành 2x2 số cấu nhỏ Cal_Sphere_num = N * N Exit Function Cal_Sphere_Err: MsgBox Err.Description, , "Cal_Sphere_num" End Function Public Function Distribute_Sphere(ByVal Anpha As Double, ByVal Phi As Double, ByRef Sphere() As Toa_do) _ As Integer ' Phân bố cầu đám mây sÐt On Error GoTo Distribute_Err Dim i, j, N As Integer Dim dist As Double Dim flag As Boolean N = Cal_Sphere_num(Anpha, Phi) Distribute_Sphere = N If N = Then Exit Function ' số cầu = exit N = Round(Sqr(N)) ' số dòng số cột cầu Cloud_Lim Anpha, Phi thu lôi dist = CLOUD_SIDE / N ReDim Sphere(1) ' gọi chơng trình tính toán vùng ảnh hởng đám mây lên công trình ' khoảng cách cầu ' tạo phần tử dÃy Sphere Phu Luc - 16 flag = False j=0 For i = To N * N - ' ph©n bè täa độ cầu mây có sét đến vùng mây gây ảnh hởng ' giới hạn vùng mây ảnh hởng If dist / + (i Mod N) * dist >= X_cloud_Min And dist / + (i Mod N) * dist = Y_cloud_Min And dist / + (i \ N) * dist = Cloud_Height Then Z_fall = Else Z_fall = Round(Cloud_Height - (Zmax + BKQuaCau)) End If ' Khởi tạo dÃy tạm Phu Luc - 17 Init_Array Tmp1, INFINITE Init_Array Tmp_Flag1, Init_Array Tmp2, INFINITE Init_Array Tmp_Flag2, While Z_fall < Cloud_Height - BKQuaCau ' cho cầu rơi xuống bớc FALL_PACE (= mÐt ) x = Sphere(i).x - Z_fall * Tan_Phi * Cos_Anpha y = Sphere(i).y - Z_fall * Tan_Phi * Sin_Anpha z = Sphere(i).z - Z_fall If ToaDoCTrinh(0).x INFINITE Then ' =INFINITE : công trình đợc nhập j=0 While j < UBound(ToaDoCTrinh) ' thống kê cầu sét va chạm vào công trình If Tmp_Flag2(j) Then dist2 = Sqr(Square(x - ToaDoCTrinh(j).x) + Square(y - ToaDoCTrinh(j).y) + _ Square(z - ToaDoCTrinh(j).z)) If dist2 Tmp2(j) Then ' Quả cầu sét ngày xa điểm ? Tmp_Flag2(j) = ' bật cờ bỏ qua điểm Else Tmp2(j) = dist2 End If End If End If j=j+1 Wend End If If ToaDoTLoi(0).x INFINITE Then ' =INFINITE : kh«ng có thu lôi đợc nhập j=0 While j < UBound(ToaDoTLoi) - ' xét điểm thu lôi If Tmp_Flag1(j) Then dist1 = Sqr(Square(x - ToaDoTLoi(j).x) + Square(y - ToaDoTLoi(j).y) + Square(z - ToaDoTLoi(j).z)) If dist1 X_cloud_Max Then X_cloud_Max = X_cloud If Y_cloud < Y_cloud_Min Then Y_cloud_Min = Y_cloud If Y_cloud > Y_cloud_Max Then Y_cloud_Max = Y_cloud End If End If Next i index = frmMain.txtToaDoCTrinh.UBound For i = To index Step If frmMain.txtToaDoCTrinh(i).Visible Then If RowIsFull(frmMain.txtToaDoCTrinh, (i \ 4)) Then X_cloud = Val(frmMain.txtToaDoCTrinh(i + 1).Text) + _ (Cloud_Height - Val(frmMain.txtToaDoCTrinh(i + 3).Text)) * Tan_Phi * Cos_Anpha Y_cloud = Val(frmMain.txtToaDoCTrinh(i + 2).Text) + _ (Cloud_Height - Val(frmMain.txtToaDoCTrinh(i + 3).Text)) * Tan_Phi * Sin_Anpha If X_cloud < X_cloud_Min Then X_cloud_Min = X_cloud If X_cloud > X_cloud_Max Then X_cloud_Max = X_cloud If Y_cloud < Y_cloud_Min Then Y_cloud_Min = Y_cloud If Y_cloud > Y_cloud_Max Then Y_cloud_Max = Y_cloud End If End If Next i ' biên giới hạn đám mây sét ( hình chữ nhật theo phơng x, y ) X_cloud_Max = X_cloud_Max + BKQuaCau / Cos_Phi Y_cloud_Max = Y_cloud_Max + BKQuaCau / Cos_Phi X_cloud_Min = X_cloud_Min - BKQuaCau / Cos_Phi Y_cloud_Min = Y_cloud_Min - BKQuaCau / Cos_Phi Exit Sub Cloud_Err: MsgBox Err.Description, , "Cloud_Lim" End Sub Public Function Z_max() ' tÝnh to¸n chiỊu cao lín nhÊt cho công trình thu lôi On Error GoTo Zmax_Err Dim index As Integer Dim Max As Double index = frmMain.txtToaDoTLoi.UBound Max = Val(frmMain.txtToaDoTLoi(4).Text) For i = To index Step If frmMain.txtToaDoTLoi(i).Visible Then If RowIsFull(frmMain.txtToaDoTLoi, (i \ 4)) Then If Max < Val(frmMain.txtToaDoTLoi(i + 3).Text) Then Max = Val(frmMain.txtToaDoTLoi(i + 3).Text) End If End If Next i index = frmMain.txtToaDoCTrinh.UBound For i = To index Step If frmMain.txtToaDoCTrinh(i).Visible Then If RowIsFull(frmMain.txtToaDoCTrinh, (i \ 4)) Then If Max < Val(frmMain.txtToaDoCTrinh(i + 3).Text) Then Max = _ Phu Luc - 21 Val(frmMain.txtToaDoCTrinh(i + 3).Text) End If End If Next i Z_max = Max Exit Function Zmax_Err: MsgBox Err.Description, , Zmax End Function Phu Luc - 22 PHỤ LỤC Màn hình giao diện chương trình tính xác suất sét đánh vào công trình theo phương pháp Tung Cầu TÓM TẮT LÝ LỊCH TRÍCH NGANG Họ tên Ngày, tháng, năm sinh Địa liên lạc : Thái Tuấn Tài :11/5/1962 Nơi sinh : Sài gòn : 32 Ngô Thời Nhiệm Quận TP Hồ Chí Minh QUÁ TRÌNH ĐÀO TẠO Từ năm 1982 đến 1997 học Đại học mỏ Matxcơva, khoa Điện khí hoá Tự động hóa Từ năm 9/2001 đến học chương trình đào tạo sau đại học, khóa 13 chuyên ngành Mạng Hệ thống điện Đại học Bách khoa TP Hồ Chí Minh QUÁ TRÌNH CÔNG TÁC Từ năm 1998 đến công tác Công ty Tư vấn Xây dựng Điện ... hình học, nhiều phương pháp xác định xác suất sét đánh vào công trình với hệ thống bảo vệ tìm hiểu Chương V: Phương pháp Tung cầu để xác định xác suất sét đánh vào cấu trúc ba chiều Dựa ý tưởng... TÀI: Tìm hiểu phương pháp tung cầu để xác định xác suất sét đánh vào cấu trúc ba chiều II- NHIỆM VỤ VÀ NỘI DUNG: Nghiên cứu tượng phóng điện sét Lý thuyết mô hình điện hình học phương pháp cầu. .. tiến………………………………………………………………………….……3.10 Chương IV: CÁC PHƯƠNG PHÁP XÁC ĐỊNH XÁC SUẤT SÉT ĐÁNH VÀO CÔNG TRÌNH 4.1 Xác suất sét đánh vào công trình………………………………………………………………………………….4.1 4.2 Xác định xác suất sét đánh vào đường dây tải