(Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

135 6 0
(Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ LÊ THỊ MỸ LINH NGHIÊN CỨU VÀ PHÁT TRIỂN PHẦN MỀM PHÂN TÍCH VẬT LIỆU TINH THỂ BẰNG NHIỄU XẠ X – QUANG NGÀNH: KỸ THUẬT CƠ KHÍ – 60520103 S K C0 2 Tp Hồ Chí Minh, tháng 01/2016 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ LÊ THỊ MỸ LINH NGHIÊN CỨU VÀ PHÁT TRIỂN PHẦN MỀM PHÂN TÍCH VẬT LIỆU TINH THỂ BẰNG NHIỄU XẠ X – QUANG NGÀNH: KỸ THUẬT CƠ KHÍ – 60520103 Hƣớng dẫn khoa học: PGS.TS LÊ CHÍ CƢƠNG Tp Hồ Chí Minh, tháng 01 năm 2016 ii LÝ LỊCH KHOA HỌC I LÝ LỊCH SƠ LƢỢC: Họ & tên: Lê Thị Mỹ Linh Giới tính: Nữ Ngày, tháng, năm sinh: 10-07-1984 Nơi sinh: Bình Dƣơng Quê quán: Bình Dƣơng Dân tộc: Kinh Địa liên lạc: 246F/2, khu phố 1B, phƣờng An Phú, thị xã Thuận An, tỉnh Bình Dƣơng Điện thoại quan: Điện thoại nhà: Fax: E-mail: mylinhvsvc@gmail.com II QUÁ TRÌNH ĐÀO TẠO: Trung học chuyên nghiệp: Hệ đào tạo: Thời gian đào tạo từ …./… đến …./ …… Nơi học (trƣờng, thành phố): Ngành học: khí chế tạo máy Đại học: Hệ đào tạo: Chính qui Thời gian đào tạo từ 10/2002 đến 1/2007 Nơi học (trƣờng, thành phố): Trƣờng đại học Sƣ phạm Kỹ thuật thành phố Hồ Chí Minh Ngành học: Cơ khí chế tạo máy III Q TRÌNH CƠNG TÁC CHUN MƠN KỂ TỪ KHI TỐT NGHIỆP ĐẠI HỌC: Thời gian 2008-2015 Nơi công tác Trƣờng Cao đẳng nghề Việt Nam – Singapore tỉnh Bình Dƣơng iii Cơng việc đảm nhiệm Giáo viên LỜI CAM ĐOAN Tơi cam đoan cơng trình nghiên cứu Các số liệu, kết nêu luận văn trung thực chƣa đƣợc cơng bố cơng trình khác Tp Hồ Chí Minh, ngày 05 tháng 01 năm 2016 Lê Thị Mỹ Linh iv LỜI CẢM ƠN Sau thời gian theo học chƣơng trình đào tạo sau đại học trƣờng Đại học Sƣ phạm Kỹ thuật Thành phố Hồ Chí Minh, tác giả đúc kết đƣợc kiến thức bổ ích cho chun mơn Vì đề tài nghiên cứu giải vấn đề mẻ dựa sở tính tốn lý thuyết lĩnh vực vật liệu dùng kỹ thuật nhiễu xạ X– quang, nên lúc đầu tiếp cận gặp nhiều bỡ ngỡ khó khăn Nhƣng với tận tình giáo viên hƣớng dẫn PGS.TS.Lê Chí Cƣơng, với hỗ trợ từ phía gia đình, bạn bè đồng nghiệp, luận văn đạt đƣợc kết nhƣ mong muốn Đến đây, cho phép tác giả gửi lời cám ơn chân thành đến: - Ban Giám Hiệu trƣờng Đại học Sƣ phạm Kỹ thuật Thành phố Hồ Chí Minh - Thầy PGS.TS.Lê Chí Cƣơng – Khoa Cơ khí máy - trƣờng Đại học Sƣ phạm Kỹ thuật Thành phố Hồ Chí Minh - Viện lƣợng nguyên tử Việt nam - Trung tâm hạt nhân Tp HCM Số 217 Nguyễn Trãi, Q1, Tp HCM - Q thầy khoa Cơ khí máy - trƣờng Đại học Sƣ phạm Kỹ thuật Thành phố Hồ Chí Minh - Phòng Đào tạo - Sau Đại học phòng khoa trƣờng Đại học Sƣ phạm Kỹ thuật Thành phố Hồ Chí Minh Một lần tác giả xin chân thành cảm ơn giúp đỡ, hỗ trợ, động viên quý báu tất ngƣời Xin trân trọng cảm ơn! Thành phố Hồ Chí Minh, tháng 01 năm 2016 Học viên thực luận văn Lê Thị Mỹ Linh v TÓM TẮT Phƣơng pháp nhiễu xạ X-quang phƣơng pháp kiểm tra không phá hủy đƣợc ứng dụng rộng rãi giới Từ liệu liên quan đến nhiễu xạ, ta tính tốn giải nhiều vấn đề kỹ thuật Ứng dụng lập trình vào khoa học kỹ thuật, vào công việc hàng ngày đƣợc phát triển mạnh mẽ Các phần mềm ứng dụng xuất tất ngóc ngách sống ngƣời Thiết bị di động, máy vi tính, vật gia dụng gia đình … tất điều đƣợc lập trình để thực công việc phục vụ cho nhu cầu ngƣời Đề tài “Nghiên cứu phát triển phần mềm phân tích vật liệu tinh thể nhiễu xạ X-quang” đƣợc thực nhằm mục đích phát triển đƣợc phần mềm phân tích vật liệu dựa phƣơng pháp nhiễu xạ X-quang ngôn ngữ C# Phần mềm giúp ngƣời sử dụng phân tích liệu nhiễu xạ, phân tích ứng suất, xác định tỉ lệ pha pha, xác định hệ số đàn hồi… vật liệu cách nhanh chóng có đƣợc liệu nhiễu xạ X-quang thích hợp (tác giả trƣớc viết) Phần mềm giúp cho việc nghiên cứu phân tích vật liệu phƣơng pháp nhiễu xạ X-quang đạt suất hiệu kinh tế cao Đề tài đƣợc tác giả nghiên cứu thực thời gian khoảng 06 tháng Trong thời gian đó, tác giả nghiên cứu tài liệu nhiễu xạ X-quang, công trình nghiên cứu ngồi nƣớc Ứng dụng lý thuyết nghiên cứu đƣợc vào lập trình Đến tác giả hoàn thành đƣợc mục tiêu đề ra, phần mềm X-Pro 1.0 đƣợc phát triển để thực phân tích vật liệu dựa lý thuyết nhiễu xạ Xquang Hiện tại, phần mềm X-Pro 1.0 thực thêm chức phân tích tính tốn thêm nhƣ sau + Xác định tỉ lệ pha vật liệu ba pha + Xác định kích thƣớc tinh thể + Xác định chiều dày lớp mạ vi ABSTRACT X-ray diffraction method, which is one of non-destructive testing methods, is worldwide using From the data related to diffraction, we can calculate and solve technical problems Programming application in technology which is using in daily work is rapidly developing Application software can be found in all fields of our life Mobile equipment, computer, household appliance, etc., are programmed to tasks that serve our demands Topic “Research and development in software for crystalline material analysis using X-ray” is processed based on X-ray diffraction method This software helps users analyze diffractive data, analyze stress, determine mix ratio, elastic ratio… for material quickly when they have appropriate X-ray diffraction data (The previous author drote) It also helps the researches on material analysis using X-ray diffraction method gain high productivity and commercial efficiency The topic is researched and processed in about six months During process, author researched and referenced documents about X-ray diffraction from domestic and foreign resources The author also turned the research theory into programing As a result, the author has finished the research and introduced X-Pro 1.0 which is used to analyze material based on X-ray diffraction theory At present, X-pro 1.0 can carry out these following performances: + Determining mix ratio for three-phase materials + Determining grain size + Thin layer thickness vii DANH MỤC CÁC CHỮ VIẾT TẮT M T SỐ KÝ HIỆU  bƣớc sóng 2 góc nhiễu xạ D khoảng cách mặt phẳng phân tử ( hkl ) n phản xạ bậc cao h,k,l số Miller (hkl) mặt nhiễu xạ Ψ góc tạo phƣơng pháp tuyến mẫu đo với phƣơng pháp tuyến họ mặt phẳng nguyên tử nhiễu xạ Ψo góc tạo phƣơng pháp tuyến mẫu đo tia tới X  góc phân giác tia tới tia nhiễu xạ X o góc tạo phƣơng pháp tuyến họ mặt phẳng nhiễu xạ tia tới X  góc tạo tia tới X phƣơng ngang  góc tạo tia nhiễu xạ phƣơng ngang  Hệ số hấp thụ ( phụ thuộc vào đặc tính tia X loại vật liệu mẫu đo ) m Hệ số hấp thu khối lƣợng vật liệu  Tỉ trọng vật liệu p vị trí đỉnh đƣờng nhiễu xạ LPA hệ số Lorentz hấp thụ B bề rộng đƣờng nhiễu xạ c bƣớc góc đo t thời gian chu kỳ xung M,N hệ số góc hệ số chặn đƣờng thẳng đồ thị sin2 Ψ z,y cƣờng độ nhiễu xạ chƣa hiệu chỉnh LPA viii DANH MỤC HÌNH HÌNH TRANG Hình 1.1: Máy chụp tia x quang Russell Reynold phát triển Hình 1.2: Hình ảnh kích thƣớc tinh thể từ phầm mềm Axio Vision Hình 1.3: Giao diện phần mềm MDI Jade Hình 1.4: Giao diện phần mềm Maud Hình 1.5: Giao diện phần mềm OriginPro Hình 2.1: Nguyên lý nhiễu xạ theo định luật Bragg Hình 2.2: Hiệu chỉnh đƣờng nhiễu xạ 10 Hình 2.3: Phƣơng pháp trọng tâm 15 Hình 2.4: Phƣơng pháp bề rộng trung bình 16 Hình 2.5: Dữ liệu nhiễu xạ thơ 17 Hình 2.6: Dữ liệu sau làm mịn với nL=nR=9 18 Hình 2.7: Đƣờng thẳng tiếp tuyến với liệu 19 Hình 2.8: Đƣờng thẳng tiếp tuyến điểm i 19 Hình 2.9: Đơn vị nhiễu xạ 20 Hình 2.10: Xác định liệu nhiễu xạ mặt nhiễu xạ 22 Hình 2.11: Tính lƣơng nhiễu xạ 25 Hình 2.12: Nhiễu xạ thơ vật liệu ba pha 26 Hình 2.13: Giản đồ nhiễu xạ ba pha cần khử bỏ 27 Hình 2.14: Chọn (xo,yo) (xn,yn) lần bề rộng trung bình 28 Hình 2.15: Hình ảnh TEM zeolite A [10] 28 Hình 2.16: Độ rộng Scherrer đƣờng nhiễu xạ 29 Hình 2.17: Phƣơng pháp nhiễu xạ  32 Hình 2.18: Sơ đồ nguyên lý mạ 38 ix Hình 19: Sơ đồ nguyên lý đo chiều dày màng mỏng 40 Hình 3.1: Cấu trúc phần mềm X-Pro 1.0 47 Hình 2: Lƣu đồ phân tích đƣờng nhiễu xạ 49 Hình 3.3: Lƣu đồ tính tỉ lệ pha vật liệu pha 51 Hình 3.4: Lƣu đồ xác định kích thƣớc tinh thể 55 Hình 3.5: Lƣu đồ xác định chiều dày lớp phủ 56 Hình 3.6: Định dạng tập tin liệu phần mềm X-Pro 1.0 57 Hình 3.7: Cửa sổ phần mềm phân tích vật liệu 58 Hình 3.8: Dữ liệu nhiễu xạ cần phân tích 59 Hình 3.9: Cửa sổ kết phân tích liệu 60 Hình 3.10: Kết xuất từ phần mềm 61 Hình 3.11: Thực đơn chức xác định tỉ lệ pha 61 Hình 12: Cửa sổ tính tỉ lệ pha vật liệu pha 62 Hình 13: Cửa sổ chƣơng trình phân tích liệu ba pha 63 Hình 3.14: Cửa sổ chƣơng trình xác định pha 63 Hình 15: Kết tính tỉ lệ pha vật liệu pha ứng với liệu thứ 64 Hình 16: Cửa sổ chƣơng trình tính kích tinh thể 65 Hình 17: Cửa sổ chọn liệu chức tính kích thƣớc tinh thể 66 Hình 18: Cửa sổ phân tích liệu 67 Hình 19: Cửa sổ kết tính kích thƣớc tinh thể 68 Hình 20: Cửa sổ chọn tính chiều dày lớp mạ 69 Hình 3.21: Cửa sổ kết tính chiều dày lớp mạ với liệu thứ 70 Hình 22: Cửa sổ kết tính chiều dàỳ lớp phủ với liệu thứ hai 71 Hình 23: Cửa sổ kết tính chiều dày lớp phủ với liệu thứ ba 72 Hình 1: Giản đồ nhiễu xạ cho mẫu chuẩn CeO2 73 Hình 4.2: Dữ liệu nhiễu xạ vật liệu CeO2 74 Hình 4.3: Kết phân tích liệu nhiễu xạ CeO2 74 x tbLayout.SetColumnSpan(la,trackBar1.Value); tbLayout.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 70)); tbLayout.ColumnCount++; temp++; la = new System.Windows.Forms.Label(); la.Text = "ttb (" + '\u00B5' + "m"; ; tbLayout.Controls.Add(la, temp-1, 0); tbLayout.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 120)); tbLayout.ColumnCount++; temp++; la = new System.Windows.Forms.Label(); la.Text = "Độ lệch chuẩn"; tbLayout.Controls.Add(la, temp-1, 0); la.Anchor = AnchorStyles.Bottom; double tb = 0; double ts = 0; for (int i = 0; i < arrMauD.Count; i++) { tbLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(SizeType.Absolute, 20)); tbLayout.RowCount++; //add sin psi double[] td = (double[])arrMauD[i]; la = new System.Windows.Forms.Label(); la.Text = td[0].ToString(); tbLayout.Controls.Add(la, 0, i+1); la = new System.Windows.Forms.Label(); la.Text = td[1].ToString(); tbLayout.Controls.Add(la, 1, i + 1); double[] t = (double[])kq[i]; double ttb = 0; for (int j = 0; j < t.Count(); j++) { la = new System.Windows.Forms.Label(); la.Text = t[j].ToString(); tbLayout.Controls.Add(la,j+2, i + 1); ttb = ttb + t[j]; } ttb = Math.Round(ttb / arrMaugoc.Count,2); la = new System.Windows.Forms.Label(); la.Text = ttb.ToString(); tbLayout.Controls.Add(la, arrMaugoc.Count + 2, i + 1); double s = 0; for (int j = 0; j < arrMaugoc.Count; j++) { s = s + Math.Pow(t[j] - ttb, 2); } s = Math.Round(Math.Sqrt(s / (arrMaugoc.Count - 1)),4); la = new System.Windows.Forms.Label(); la.Text = s.ToString(); tbLayout.Controls.Add(la, arrMaugoc.Count + 3, i + 1); tb = tb + ttb; ts = ts + s; } tbLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(SizeType.Absolute, 20)); tbLayout.RowCount++; 107 la = new System.Windows.Forms.Label(); la.Text = "Kích thước tinh thể"; tbLayout.Controls.Add(la, 2, 5); tbLayout.SetColumnSpan(la,trackBar1.Value); la.Anchor = AnchorStyles.Bottom; la = new System.Windows.Forms.Label(); la.Text =Math.Round(tb/arrMauD.Count,2).ToString(); tbLayout.Controls.Add(la,2+ trackBar1.Value, 5); la = new System.Windows.Forms.Label(); la.Text = Math.Round(ts / arrMauD.Count, 2).ToString(); tbLayout.Controls.Add(la, 3+ trackBar1.Value, 5); } ArrayList arrMaugoc; ArrayList arrMauD; ArrayList kq; private void button1_Click_1(object sender, EventArgs e) { double tmau =0; try { tmau = Convert.ToDouble(txtKTM.Text); } catch { laE.Text = "Chưa nhập kích thước mẫu"; return; } tmau = Convert.ToDouble(txtKTM.Text); double bs = 0; try { bs = Convert.ToDouble(txtBs.Text); } catch { laE.Text = "Chưa nhập giá trị Bs"; return; } bs = Convert.ToDouble(txtBs.Text); arrMaugoc = new ArrayList(); double[] temp = new double[2]; if (trackBar1.Value == 1) { try { temp[0] = Convert.ToDouble(txtP1.Text); temp[1] = Convert.ToDouble(txtB1.Text); } catch { laE.Text = "Giá trị nhiễu xạ mẫu chưa đúng"; return; } temp[0] = Convert.ToDouble(txtP1.Text); 108 temp[1] = Convert.ToDouble(txtB1.Text); arrMaugoc.Add(temp); } if (trackBar1.Value == 2) { try { temp[0] = Convert.ToDouble(txtP1.Text); temp[1] = Convert.ToDouble(txtB1.Text); } catch { laE.Text = "Giá trị nhiễu xạ mẫu chưa đúng"; return; } temp[0] = Convert.ToDouble(txtP1.Text); temp[1] = Convert.ToDouble(txtB1.Text); arrMaugoc.Add(temp); temp = new double[2]; try { temp[0] = Convert.ToDouble(txtP2.Text); temp[1] = Convert.ToDouble(txtB2.Text); } catch { laE.Text = "Giá trị nhiễu xạ mẫu chưa đúng"; return; } temp[0] = Convert.ToDouble(txtP2.Text); temp[1] = Convert.ToDouble(txtB2.Text); arrMaugoc.Add(temp); } if (trackBar1.Value == 3) { try { temp[0] = Convert.ToDouble(txtP1.Text); temp[1] = Convert.ToDouble(txtB1.Text); } catch { laE.Text = "Giá trị nhiễu xạ mẫu chưa đúng"; return; } temp[0] = Convert.ToDouble(txtP1.Text); temp[1] = Convert.ToDouble(txtB1.Text); arrMaugoc.Add(temp); temp = new double[2]; try { temp[0] = Convert.ToDouble(txtP2.Text); temp[1] = Convert.ToDouble(txtB2.Text); } catch { laE.Text = "Giá trị nhiễu xạ mẫu chưa đúng"; return; } 109 temp[0] = Convert.ToDouble(txtP2.Text); temp[1] = Convert.ToDouble(txtB2.Text); arrMaugoc.Add(temp); temp = new double[2]; try { temp[0] = Convert.ToDouble(txtP3.Text); temp[1] = Convert.ToDouble(txtB3.Text); } catch { laE.Text = "Giá trị nhiễu xạ mẫu chưa đúng"; return; } temp[0] = Convert.ToDouble(txtP3.Text); temp[1] = Convert.ToDouble(txtB3.Text); arrMaugoc.Add(temp); } laE.Text = " "; arrMauD = new ArrayList(); temp = new double[2]; try { temp[0] = Convert.ToDouble(txtPD1.Text); temp[1] = Convert.ToDouble(txtBD1.Text); arrMauD.Add(temp); temp = new double[2]; temp[0] = Convert.ToDouble(txtPD2.Text); temp[1] = Convert.ToDouble(txtBD2.Text); arrMauD.Add(temp); temp = new double[2]; temp[0] = Convert.ToDouble(txtPD3.Text); temp[1] = Convert.ToDouble(txtBD3.Text); arrMauD.Add(temp); temp = new double[2]; temp[0] = Convert.ToDouble(txtPD4.Text); temp[1] = Convert.ToDouble(txtBD4.Text); arrMauD.Add(temp); } catch { laE2.Text = "Giá trị liệu đỉnh khơng xác"; return; } laE2.Text = " "; kq = new ArrayList(); for (int i = 0; i < 4; i++) { double[] maut = (double[])arrMauD[i]; double[] ttemp = new double[trackBar1.Value]; for (int j = 0; j < trackBar1.Value; j++) { double[] mau = (double[])arrMaugoc[j]; double t = tmau * ((mau[1] - bs) * Math.Cos(mau[0] * 3.14 / 360)) / ((maut[1] - bs) * Math.Cos(maut[0] * 3.14 / 360)); ttemp[j] = Math.Round(t, 4); } kq.Add(ttemp); } setDataToTable(); 110 } private void trackBar1_SizeChanged(object sender, EventArgs e) { } private void trackBar1_Scroll(object sender, EventArgs e) { if (trackBar1.Value == 1) { txtP1.Enabled = true; txtB1.Enabled = true; txtP2.Enabled = false; txtB2.Enabled = false; txtP3.Enabled = false; txtB3.Enabled = false; } if (trackBar1.Value { txtP1.Enabled = txtB1.Enabled = txtP2.Enabled = txtB2.Enabled = txtP3.Enabled = txtB3.Enabled = } if (trackBar1.Value { txtP1.Enabled = txtB1.Enabled = txtP2.Enabled = txtB2.Enabled = txtP3.Enabled = txtB3.Enabled = == 2) true; true; true; true; false; false; == 3) true; true; true; true; true; true; } } } } 111 C Mã code phần tính chiều dày lớp mạ using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using ZedGraph; using System.Collections; using System.IO; namespace MeasurementPro { public partial class ThinLayer : Form { public ThinLayer() { InitializeComponent(); } Method.XML m = new Method.XML(); Method.anasys ana = new Method.anasys(); determinePeak d = new determinePeak(); ArrayList data; ArrayList datapsi; ArrayList datapsi0; string[] name; public ThinLayer(OpenFileDialog File) { InitializeComponent(); getDataToDoThi(File); coVatlieu.DataSource = m.loadThin(); floadThin(); } private void ThinLayer_Load(object sender, EventArgs e) { lar.Text = '\u03C1' + " :"; las.Text = '\u00B5' + "m :"; lapsi.Text = '\u03C8' + " :"; lapsi0.Text = '\u03C8' + "0 :"; label4.Visible = false; label5.Visible = false; label6.Visible = false; } public void getDataToDoThi(OpenFileDialog openFile) { //string ext = Path.GetExtension(openFile.FileName); //if (ext == ".txt") //{ // data = readFileA(openFile.FileName); //} //else //{ // Data.dataMeasurement dataM = new Data.dataMeasurement(); // name = dataM.GetExcelSheetNames(openFile.FileName); tên sheet excell // data = ana.getDataByAngle(openFile.FileName, 0); //} //PointPairList list = getDataToPoint(data); 112 //lấy tập //setdatatofile(data, 4); //CreateGraph(zedGraphControl1, list); Data.dataMeasurement dataM = new Data.dataMeasurement(); name = dataM.GetExcelSheetNames(openFile.FileName); //lấy tập tên sheet excell datapsi = ana.getDataByAngle(openFile.FileName, 0); datapsi0 = ana.getDataByAngle(openFile.FileName, 1); setdatatofile(datapsi,4, "psi"); setdatatofile(datapsi0,10, "psi0"); PointPairList list1 = getDataToPoint(datapsi); CreateGraph(zedGraphControl1, list1); PointPairList list2 = getDataToPoint(datapsi0); CreateGraph2(zedGraphControl2, list2); } int num = 0; public void setdatatofile(ArrayList arr, int n, string p) { //double k = 0; num = 0; double[] db; double anpha; ArrayList kq = new ArrayList(); ArrayList arrVitri = new ArrayList(); int start = 0; // vị trí bắt đầu đỉnh int end = 0; // vị trí kết thúc đỉnh int flag = 0; // biến kiểm tra trạng thái vị trí q trình xử lý double tem = 0; // cường độ đỉnh double tem2 = 0; // cường độ vị trí bắt đầu for (int i = n; i < arr.Count - n - 1; i++) // chạy quét qua liệu để tìm đỉnh { db = (double[])arr[i]; double x_tb = db[0]; double y_tb = db[1]; double y1 = 0; double y2 = 0; double x1 = 0; double x2 = 0; for (int j = i - n; j 30 { start = i; flag = 1; tem2 = y_tb; // điểm bắt đầu // lấy cường độ điểm bắt đầu } if (flag == 1) // kiểm tra điểm qua điểm bắt đầu { db = (double[])kq[i - - n]; if (anpha < && db[1] > && start != 0) // kiểm tra lên tới đĩnh nhiễu xạ hay chưa, anpha đổi dấu { tem = y_tb; // gán giá trị cường độ vị trí đỉnh flag = 2; // dấu hiệu nhận biết qua đỉnh nhiễu xạ } } if (anpha > -10 && anpha < -5 && flag == 2) // kiếm tra xem tới chân đỉnh nhiễu xạ { db = (double[])arr[i - 10]; double a = (tem + tem2) / 2; // 1/2 cường độ từ đỉnh tới chân nhiễu xạ if (y_tb < db[1] && y_tb < a) // kiêm tra đc phần đỉnh nhiễu xạ hay chưa { end = i; } } if (start > && end > start) // xác định điểm đầu điểm cuối sau ghi đỉnh nhiễu xạ xuống file liệu { db = new double[2]; db[0] = start; db[1] = end; arrVitri.Add(db); StreamWriter wriStream = File.CreateText(Application.StartupPath + "/data/temp/peak"+ p + num + ".txt"); for (int h = start; h

Ngày đăng: 30/11/2021, 22:39

Hình ảnh liên quan

Hình 1.5: Giao diện phần mềm OriginPro - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Hình 1.5.

Giao diện phần mềm OriginPro Xem tại trang 18 của tài liệu.
Hình 2.2: Hiệu chỉnh nền của đƣờng nhiễu xạ Góc nhiễu xạ - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Hình 2.2.

Hiệu chỉnh nền của đƣờng nhiễu xạ Góc nhiễu xạ Xem tại trang 24 của tài liệu.
Hình 2.3: Phƣơng pháp trọng tâm - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Hình 2.3.

Phƣơng pháp trọng tâm Xem tại trang 29 của tài liệu.
Hình 2.4: Phƣơng pháp bề rộng trung bình Góc nhiễu xạ - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Hình 2.4.

Phƣơng pháp bề rộng trung bình Góc nhiễu xạ Xem tại trang 30 của tài liệu.
Hình 2.6: Dữ liệu sau khi làm mịn với nL=nR=9 - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Hình 2.6.

Dữ liệu sau khi làm mịn với nL=nR=9 Xem tại trang 32 của tài liệu.
Hình 2.9: Đơn vị nhiễu xạ - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Hình 2.9.

Đơn vị nhiễu xạ Xem tại trang 34 của tài liệu.
Hình 2.10: Xác định dữ liệu nhiễu xạ của mặt nhiễu xạ - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Hình 2.10.

Xác định dữ liệu nhiễu xạ của mặt nhiễu xạ Xem tại trang 36 của tài liệu.
Hình 2.12: Nhiễu xạ thô của vật liệu ba pha - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Hình 2.12.

Nhiễu xạ thô của vật liệu ba pha Xem tại trang 40 của tài liệu.
Hình 2.17: Phƣơng pháp nhiễu xạ  - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Hình 2.17.

Phƣơng pháp nhiễu xạ  Xem tại trang 46 của tài liệu.
Bảng 2.4: Tra tìm m và  - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Bảng 2.4.

Tra tìm m và  Xem tại trang 50 của tài liệu.
Hình 2.18:Sơ đồ nguyên lý mạ - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Hình 2.18.

Sơ đồ nguyên lý mạ Xem tại trang 52 của tài liệu.
Hình 3.3: Lƣu đồ tính tỉ lệ pha của vật liệu 3 phaBắt đầu  - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Hình 3.3.

Lƣu đồ tính tỉ lệ pha của vật liệu 3 phaBắt đầu Xem tại trang 65 của tài liệu.
Các trƣờng hợp tính tỉ lệ pha đƣợc thể hiện ở bảng sau: Trƣờng  - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

c.

trƣờng hợp tính tỉ lệ pha đƣợc thể hiện ở bảng sau: Trƣờng Xem tại trang 66 của tài liệu.
Hình 3.4: Lƣu đồ xác định kích thƣớc tinh thểBắt đầu  - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Hình 3.4.

Lƣu đồ xác định kích thƣớc tinh thểBắt đầu Xem tại trang 69 của tài liệu.
Hình 3.5: Lƣu đồ xác định chiều dày lớp mạ - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Hình 3.5.

Lƣu đồ xác định chiều dày lớp mạ Xem tại trang 70 của tài liệu.
Hình 3.7: Cửa sổ chính của phần mềm phân tích vật liệu - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Hình 3.7.

Cửa sổ chính của phần mềm phân tích vật liệu Xem tại trang 72 của tài liệu.
Hình 3.9: Cửa sổ kết quả phân tích dữ liệu - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Hình 3.9.

Cửa sổ kết quả phân tích dữ liệu Xem tại trang 74 của tài liệu.
Hình 3.10: Kết quả xuất ra từ phần mềm - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Hình 3.10.

Kết quả xuất ra từ phần mềm Xem tại trang 75 của tài liệu.
Hình 3. 12: Cửa sổ chính khi tính tỉ lệ pha vật liệu 3 pha - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Hình 3..

12: Cửa sổ chính khi tính tỉ lệ pha vật liệu 3 pha Xem tại trang 76 của tài liệu.
Hình 3. 13: Cửa sổ chƣơng trình phân tích dữ liệu ba pha - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Hình 3..

13: Cửa sổ chƣơng trình phân tích dữ liệu ba pha Xem tại trang 77 của tài liệu.
Hình 3. 20: Cửa sổ chọn tính chiều dày lớp mạ Ngƣời dùng tiến hành nhập , và  0  để tính chiều dày lớp mạ  - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Hình 3..

20: Cửa sổ chọn tính chiều dày lớp mạ Ngƣời dùng tiến hành nhập , và  0 để tính chiều dày lớp mạ Xem tại trang 83 của tài liệu.
Hình 3.21: Cửa sổ kết quả tính chiều dày lớp mạvới dữ liệu thứ nhất - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Hình 3.21.

Cửa sổ kết quả tính chiều dày lớp mạvới dữ liệu thứ nhất Xem tại trang 84 của tài liệu.
Hình 3. 22: Cửa sổ kết quả tính chiều dàỳ lớp mạvới dữ liệu thứ hai - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Hình 3..

22: Cửa sổ kết quả tính chiều dàỳ lớp mạvới dữ liệu thứ hai Xem tại trang 85 của tài liệu.
Hình 3. 23: Cửa sổ kết quả tính chiều dày lớp mạvới dữ liệu thứ ba. - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Hình 3..

23: Cửa sổ kết quả tính chiều dày lớp mạvới dữ liệu thứ ba Xem tại trang 86 của tài liệu.
Hình 4.2: Dữ liệu nhiễu xạ của vật liệu CeO2 - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Hình 4.2.

Dữ liệu nhiễu xạ của vật liệu CeO2 Xem tại trang 88 của tài liệu.
Hình 4.3: Kết quả phân tích dữ liệu nhiễu xạ CeO2 - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Hình 4.3.

Kết quả phân tích dữ liệu nhiễu xạ CeO2 Xem tại trang 88 của tài liệu.
Bảng 4.4: Kết quả tính tay chiều dày lớp mạ Niken - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Bảng 4.4.

Kết quả tính tay chiều dày lớp mạ Niken Xem tại trang 91 của tài liệu.
Hình 4.5: Kết quả tính kích thƣớc tinh thể của mẫu A2 - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Hình 4.5.

Kết quả tính kích thƣớc tinh thể của mẫu A2 Xem tại trang 93 của tài liệu.
Hình 4.6: Kết quả tính kích thƣớc tinh thể của mẫu A1-2 - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

Hình 4.6.

Kết quả tính kích thƣớc tinh thể của mẫu A1-2 Xem tại trang 94 của tài liệu.
//add giá trị ứng suất vào bảng             //tbLayout.RowStyles.Add(new  - (Luận văn thạc sĩ) nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu xạ x quang

add.

giá trị ứng suất vào bảng //tbLayout.RowStyles.Add(new Xem tại trang 133 của tài liệu.

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan