Engineering Problem Solving Program by Using Finite Element Method COE 2004 – 22 นางสาว เพ็ญสิริ กัลยาณลาภ นาย รณชัย โชติรุ่งโรจน์ อาจารย์ที่ปรึกษาโครงการ ดร.นวภัค เอื้ออนันต์ อาจารย์ผู้ร่วมประเมินโครงการ ผศ.ชาญชัย วิทย์สุภาเลิศ อ.พิเชษฐ เชี่ยวธนะกุล
Agenda วัตถุประสงค์ แผนการดำเนินงาน Finite element กับการกระจายของศักย์ไฟฟ้าในสนามไฟฟ้าสถิตย์ ขั้นตอนของวิธีการ Finite Element โปรแกรมตัวอย่างโดยใช้ Matlab ในการเขียน สิ่งที่จะต้องทำต่อไป
วัตถุประสงค์ เพื่อพัฒนาโปรแกรมที่ช่วยแก้ปัญหาทางวิศวกรรมที่เกี่ยวข้องกับ Partial Differential Equationโดยเฉพาะปัญหาสนามไฟฟ้าสถิตย์ และการถ่ายเทความร้อน เพื่อนำโปรแกรมที่ได้ไปประยุกต์ใช้ได้อย่างมีประสิทธิภาพในงานทางด้านวิศวกรรมสูงที่สุด เช่น การผลิตฉนวนไฟฟ้า และ Heat sink
แผนการดำเนินงาน แผนการดำเนินงาน มิ.ย. ก.ค. ส.ค. ก.ย. ต.ค. พ.ย. ธ.ค. ม.ค. ก.พ. 1. ศึกษาและรวบรวมข้อมูล 2. วิเคราะห์ข้อมูลที่ได้ศึกษามาเพื่อใช้ในการออกแบบโปรแกรม 3. ออกแบบการทำงานของโปรแกรม 4. พัฒนาโปรแกรม 5. ทดสอบและปรับปรุงโปรแกรม 6.สรุปผลและจัดทำคู่มือใช้งาน
Finite element กับการกระจายของศักย์ไฟฟ้าในสนามไฟฟ้าสถิตย์ สมการ Partial Differential Equation ของ สนามไฟฟ้าสถิตย์โดยทั่วไป: โดยที่ V คือค่าความต่างศักย์ภายในสนามไฟฟ้า เงื่อนไขขอบเขต เป็นการกำหนดให้ความต่างศักย์ ณ จุดบางจุดในสนามไฟฟ้าเป็นค่าคงที่ สิ่งที่ต้องการหา ค่าความต่างศักย์ที่ทุกๆจุดใน Problem domain
Finite element กับการกระจายของศักย์ไฟฟ้าในสนามไฟฟ้าสถิตย์(ต่อ) ตัวอย่างของสนามไฟฟ้าสถิตย์
ขั้นตอนของวิธีการ Finite Element แบ่ง Mesh เลือกฟังก์ชันการประมาณ สร้าง local coefficient matrix ที่สอดคล้องกับสมการ partial differential สร้าง global coefficient matrix คำนวณเพื่อหาค่าผลลัพธ์ที่จุดต่างๆ แสดงผล
ขั้นตอนของวิธีการ Finite Element(ต่อ) การแบ่ง Mesh ในกรณีของสนามไฟฟ้าสถิตย์ในอวกาศแบบ 2 มิติ สามารถเลือกใช้เอลิเมนต์แบบสามเหลี่ยมได้ดังรูป
ขั้นตอนของวิธีการ Finite Element(ต่อ) โครงสร้างข้อมูลของ node 4 6 5 Node Element 1 2 3 4 5 6 4(0, 0) 6(6, 0) 5(3, 3) y x Node X Y Init 4 1 5 3 2 6
ขั้นตอนของวิธีการ Finite Element(ต่อ)
ขั้นตอนของวิธีการ Finite Element(ต่อ) ฟังก์ชันการประมาณค่าแรงดันภายในเอลิเมนต์ ใช้ประมาณความต่างศักย์ที่จุดใดๆภายในเอลิเมนต์ สูตร Bilinear interpolation โดย และ A คือ พื้นที่ของเอลิเมนต์ (e)
ขั้นตอนของวิธีการ Finite Element(ต่อ) การรวม Local coefficient matrix เป็น Global coefficient matrix ระบบ index ของลำดับโหนดจะมี 2 ระบบ 1. ระบบ index สำหรับเอลิเมนต์ย่อยแต่ละเอลิเมนต์ (local index) (index มีจำนวนเท่ากับจำนวนโหนดของแต่ละเอลิเมนต์) 2. ระบบ index สำหรับทั้งระบบ (global index) (index มีจำนวนเท่ากับจำนวนโหนดทั้งหมด)
ขั้นตอนของวิธีการ Finite Element(ต่อ) การหา Coefficient matrix ของแต่ละ Element ใช้หลักการของ Variational Method เปลี่ยนสมการจาก ให้อยู่ในรูปการ minimize ฟังก์ชั่นพลังงานภายในเอลิเมนต์ และได้ Coefficient Matrix ของเอลิเมนต์อยู่ในรูป เมื่อ
ขั้นตอนของวิธีการ Finite Element(ต่อ) จากตัวอย่าง ถ้า i ไม่เท่ากับ j ถ้า i = j
ขั้นตอนของวิธีการ Finite Element(ต่อ) สร้าง global coefficient matrix คำนวณจากความสัมพันธ์ระหว่าง local กับ global เช่น Gnode 4 เป็นทั้ง Lnode 2 ของเอลิเมนต์ 1 Lnode 3 ของเอลิเมนต์ 2 Lnode 3 ของเอลิเมนต์ 3 Gedge14 เป็นทั้ง Ledge12 ของเอลิเมนต์ 1 และ Ledge13 ของเอลิเมนต์ 2
ขั้นตอนของวิธีการ Finite Element(ต่อ) คำนวณเพื่อหาค่าผลลัพธ์ที่จุดต่างๆ การหาคำตอบโดยวิธีแทนค่าซ้ำซ้อน เป็นการประยุกต์เงื่อนไขขอบเขตเข้ากับปัญหาพร้อมทั้งแก้สมการหาคำตอบแบบแทนค่าซ้ำซ้อน ถ้า Vi เป็น Node ที่ fix แรงดัน ใช้ค่าที่โจทย์กำหนด ถ้า Vi เป็น Unknown ใช้ค่าที่คำนวณได้ในรอบก่อน
โปรแกรมตัวอย่างโดยใช้ Matlab ในการเขียน
โปรแกรมตัวอย่างโดยใช้ Matlab ในการเขียน (ต่อ)
โปรแกรมตัวอย่างโดยใช้ Matlab ในการเขียน (ต่อ)
โปรแกรมตัวอย่างโดยใช้ Matlab ในการเขียน (ต่อ)
โปรแกรมตัวอย่างโดยใช้ Matlab ในการเขียน (ต่อ)
โปรแกรมตัวอย่างโดยใช้ Matlab ในการเขียน (ต่อ)
สิ่งที่จะต้องทำต่อไป ประยุกต์โปรแกรมที่ได้นำไปใช้กับโจทย์ปัญหาเกี่ยวกับการกระจายตัวของศักย์ไฟฟ้าในวัตถุอื่นๆ ที่ไม่ใช่อวกาศ และการกระจายตัวของอุณหภูมิ ศึกษาเกี่ยววิธีการทำ Mesh Generation ประยุกต์โปรแกรมที่ได้จาก Matlab ไปใช้กับภาษา C
จบการนำเสนอ COE 2004 – 22 : Engineering Problem Solving Program by Using Finite Element Method อาจารย์ที่ปรึกษาโครงการ ดร.นวภัค เอื้ออนันต์ จัดทำโดย อาจารย์ผู้ร่วมประเมินโครงการ นางสาว เพ็ญสิริ กัลยาณลาภ ผศ.ชาญชัย วิทย์สุภาเลิศ นาย รณชัย โชติรุ่งโรจน์ อ.พิเชษฐ เชี่ยวธนะกุล
หลักการ Variational Method โจทย์หาสี่เหลี่ยมผืนผ้าที่มีพื้นที่มากที่สุดโดยให้เส้นรอบวง = ค่าคงที่ x เงื่อนไข: เส้นรอบวง = 2x+2y = C อยากได้ Area มากที่สุด คำถาม x และ y ควรจะเป็นเท่าไร y Area = x*y = x*(C-2x)/2 = (Cx-2x^2)/2 สมการเชิงอนุพันธ์ที่สอดคล้อง d(Area)/dx = 0