วันพฤหัสบดีที่ 19 เมษายน พ.ศ. 2561

ปัญหา Singularity และวิธีการหลีกเลี่ยง

Singularity คือปัญหาที่ผลลัพธ์จากงานวิเคราะห์มีการลู่ออก  หรือพูดง่ายๆ คือตำแหน่งที่มีค่า Stress (หรือ Heat flux กรณีที่วิเคราะห์ความร้อน) มีค่าสูงผิดปกติ  และยิ่งที่สร้าง Mesh ให้มีขนาดเล็กเท่าไร  ก็จะยิ่งได้ค่า Stress สูงขึ้นไปเรื่อยอย่างไม่มีที่สิ้นสุด (ผลลัพธ์ที่ถูกต้องคือยิ่ง Mesh มีขนาดเล็กก็จะลู่เข้าหาค่าคำตอบของเรา  สามารถศึกษาเรื่องนี้ได้จากบทความ จะรู้ได้อย่างไรว่าผล Simulation ถูกต้อง)

สาเหตุของการเกิด Singularity มาจากสมการทางคณิตศาสตร์ในโปรแกรม  ยกตัวอย่างเช่นสมการของ Stress คือ
จากสมการนี้จะเห็นว่าถ้าพื้นที่ที่ได้รับแรงกระทำยิ่งน้อยจะทำให้ค่า Stress ยิ่งมา  และหากพื้นที่มีค่าเป็นศูนย์  จะทำให้ค่า Stress มีค่าเป็นอนันต์

จากสมการข้างต้น  ทำให้ Singularity จะเกิดที่ตำแหน่งที่ชิ้นงานมีมุม  เส้นขอบ  หรือตำแหน่งที่ได้รับแรงกระทำเป็นจุด  เพราะตำแหน่งดังกล่าวเปรียบได้กับมีพื้นที่น้อยมากๆ  ทำให้ยิ่งทำ Mesh เล็ก  ก็ยิ่งได้ค่า Stress เพิ่มขึ้นเรื่อยๆ

ในความเป็นจริงจะไม่มีปัญหาเช่นนี้  เพราะขอบหรือมุมในความเป็นจริงไม่ได้เป็นมุมแหลม 100% แต่จะมีโค้งอยู่บ้างเพียงแต่จะมากหรือน้อยก็ขึ้นอยู่กับการผลิต  หรือแรงกระทำที่เป็นจุด  จริงๆแล้วจะไม่ได้เป็นจุด 100% เพื่อชิ้นงานจะมีการสไลด์  หรือมีการยุบทำให้พื้นที่รับแรงมากขึ้น

วิธีการหลีกเลี่ยงปัญหา Singularity

เมื่อเราเข้าใจสาเหตุของปัญหาแล้ว  เราก็สามารถละทิ้งส่วนที่มีปัญหาโดยไม่ต้องสนใจผลลัพธ์ในส่วนนั้นๆได้  แต่ถ้าหากต้องการแก้ไขเพื่อไม่ให้เกิดปัญหา Singularity ก็สามารถทำได้ดังต่อไปนี้

1. แก้ไข Model

เนื่องจากสาเหตุของ Singularity ตามขอบมุมของชิ้นงานคือมีพื้นที่น้อยใกล้เคียงศูนย์  ดังนั้นการแก้โมเดลเพื่อให้มีพื้นที่เพิ่มขึ้น เช่น การทำ Fillet จะช่วยให้แก้ปัญหานี้ได้
แต่การทำ Fillet จะทำให้โมเดลมีรายละเอียดเพิ่ม  และต้องทำ Mesh เพิ่มขึ้น  ดังนั้นการลดรูปโมเดลโดยลบ Fillet ออกก็ยังจำเป็น  โดยอาจจะลบ Fillet ในบริเวณที่ไม่ใช่จุดที่เกิดปัญหา  หรือตำแหน่งนั้นๆไม่ใช่จุดที่เราสนใจก็ได้

2. แก้ไข Fixture

การกำหนด Fixture จะทำให้ตำแหน่งที่เลือกนั้นมีความแข็งเกร็ง (Rigid) ซึ่งชิ้นงานจะขยับไม่ได้เลย  ดังนั้นการกำหนด Fixture ที่เส้นขอบหรือจุดจะทำให้ชิ้นงานแข็งเกินความเป็นจริง  ให้แก้ไขโดยเลือกเป็นผิวแทน  แต่ถ้าเลือก Fixture เป็นผิวแล้วยังเกิดปัญหาอยู่  ก็ต้องวาดชิ้นงานขึ้นมายึดกับตำแหน่งที่ต้องการกำหนด Fixture แทน
สิ่งที่ควรคำนึงถึงอีกอย่างหนึ่งคือ Connector เพราะตัว Connector อย่าง Bolt หรือ Pin จะถูกมองเป็น Rigid Part ซึ่งถ้าชิ้นงานนี้เชื่อมต่อกับผิวหรือขอบในรูชิ้นงาน  ผิวหรือขอบนั้นก็จะเสมือนกับถูกกำหนด Fixture ไปด้วย  ดังนั้นบริเวณรูจึงเกิดปัญหา Singularity ได้  หากต้องการแก้ปัญหาก็ต้องวาดชิ้นงาน Bolt หรือ Pin ขึ้นมาจริงๆ

3. แก้ไข Load

ไม่ควรกำหนด Force หรือ Heat source บนเส้นขอบหรือจุด  หากต้องการกำหนดในจุดเล็กๆ ควรจะใช้คำสั่ง Split line เพื่อสร้างพื้นที่เล็กๆขึ้นมา

4. แก้ไข Mesh

สำหรับการวิเคราะห์ความร้อน  การกำหนด Bond ที่จุดสัมผัสระหว่างชิ้นงานจะทำให้ชิ้นงานแข็งเกร็งเกินจริงไป  ดังนั้นควรกำหนดเป็น Thermal resistance แทนเพื่อลดความแข็งเกร็งที่ตำแหน่งนี้ลง

ส่วนการวิเคราะห์ Nonlinear จะเกิด Error เมื่อโปรแกรมวิเคราะห์ว่าชิ้นงานเกิน Yield แล้วที่ Element ก้อนหนึ่งมีค่า Stress มากกว่า Element โดยรอบเป็นพิเศษ  ดังนั้นควรเพิ่มความละเอียดของ Mesh เพื่อลด Aspect ration ของ Mesh ลง  และกระจายค่า Stress ออกไป


จากวิธีข้างต้นเราจะสามารถหลีกเลี่ยงปัญหา Singularity ได้บางส่วน  แต่ในการทำงานจริงก็มีหลายๆ ครั้งที่เราไม่สามารถแก้ไขด้วยวิธีข้างต้นได้  ดังนั้นการเข้าใจสาเหตุของปัญหา  และรู้ว่าตำแหน่งใดคือจุดที่เกิดปัญหา  จะช่วยให้เราละทิ้งจุดที่เป็นปัญหา  และประเมินผลลัพธ์ได้อย่างถูกต้องมากขึ้น


รับปรึกษา  สอน  วิเคราะห์งานด้วยโปรแกรม SolidWorks Simulation
คุณพลวัฒน์ (บอล)
Tel. 087-489-7265
Line ID : ballastro
E-mail : sim.adviser@gmail.com
FB : Simulation Adviser

ไม่มีความคิดเห็น:

แสดงความคิดเห็น