วันเสาร์ที่ 21 เมษายน พ.ศ. 2561

9 เทคนิคการแสดงผลลัพธ์ Simulation เพื่อการนำเสนอ

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

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

1. ปรับ Deform Scale เพื่อแสดงการบิดงอของชิ้นงานให้เหมาะสม

ภาพชิ้นงานที่แสดงให้เห็นหลังจากการวิเคราะห์เสร็จจะไม่ใช่รูปการบิดงอตามความเป็นจริงเสมอไป  เพราะในโปรแกรมจะมีการปรับการแสดงผลให้รูปร่างการบิดงอเกินความเป็นจริงเพื่อให้เรามองเห็นทิศทางและตำแหน่งที่บิดงอได้ชัดเจนขึ้น  แต่บางครั้งภาพที่โปรแกรมแสดงออกมาก็มากจนเกินไปทำให้การนำผลลัพธ์ไปนำเสนอเลยไม่ค่อยเหมาะสมนัก  ดังนั้นเราจึงควรปรับ Deform Scale ให้เหมาะสมก่อนดังภาพด้านล่าง
ภาพทางซ้ายคือผลลัพธ์ที่ได้จากโปรแกรมซึ่งมี Deform Scale อยู่ที่ 475 เท่า  ส่วนภาพทางขวาคือแก้ไข Deform Scale เป็น 50 เท่า  จะเห็นได้ว่าภาพทางขวายังสามารถมองเห็นทิศทางและตำแหน่งที่บิดงอได้ชัดเจนและรูปร่างชิ้นงานไม่บิดมากจนเกินไป  จึงเหมาะที่จะใช้นำเสนอมากกว่าภาพทางซ้าย

2. ปรับเฉดสีบนชิ้นงานให้เข้าใจได้ง่าย

สีบนชิ้นงานขึ้นอยู่กับแถบสีซึ่งโดยปกติตัวเลขบนแถบสีจะแสดงค่าสูงที่สุดและต่ำที่สุดที่เกิดบนชิ้นงาน  ดังนั้นสีแดงที่แสดงบนชิ้นงานไม่ได้หมายความว่าชิ้นงานเกิดความเสียหาย  แต่หมายถึงบริเวณนั้นมีค่ามากที่สุด ซึ่งหลายๆคนที่เพิ่งเริ่มใช้โปรแกรมวิเคราะห์หรือไม่เคยใช้งานโปรแกรมการวิเคราะห์เลยจะเข้าใจผิดว่าสีแดงแปลว่าเกิดความเสียหายขึ้นแล้ว  ดังนั้นการปรับการแสดงเฉดสีบนชิ้นงานจะช่วยให้การสื่อสารเข้าใจได้ง่ายขึ้น
ภาพทางซ้ายคือผลลัพธ์ที่แสดงผลโดยอัตโนมัติ  ซึ่งจะเห็นว่ามีบริเวณที่เป็นสีแดงอยู่เพราะค่า Stress บริเวณดังกล่าวมีค่าใกล้เคียงกับค่า Maximum (ในภาพคือ 60.066 MPa)  แต่สีแดงในงานนี้ก็ไม่ได้แปลว่าชิ้นงานจะเกิดความเสียหาย  เพราะวัสดุที่เลือกมาสามารถทนค่า Stress ได้ถึง 241.275 MPa (ดูได้จากค่า Yield Stress ที่แสดงด้านล่างแถบสี)  แต่เมื่อปรับค่า Maximum บนแถบสีเป็น 120 MPa จะเห็นว่าบริเวณที่เคยเป็นสีแดงกลายเป็นสีเขียวแทน  ซึ่งให้ผู้ดูผลลัพธ์รู้สึกว่าชิ้นงานนี้มีความปลอดภัยขึ้นมากกว่าการแสดงผลลัพธ์ให้เกิดเป็นสีแดง

3. ใช้ Probe เพื่อแสดงค่าที่จุดต่างๆ

SolidWorks Simulation สามารถแสดงตำแหน่งที่มีค่ามากที่สุดและน้อยที่สุดในชิ้นงานได้  แต่บางครั้งค่ามากที่สุดอาจจะไม่ใช่จุดที่เราต้องการดูเช่น  ค่า Stress มากที่สุดเป็นตำแหน่งที่เกิด Singularity  หรือเราต้องการแสดงผลลัพธ์ที่ตำแหน่งอื่นๆ  ดังนั้นการใช้ Probe จะช่วยให้เราแสดงค่าผลลัพธ์ที่ตำแหน่งอื่นๆได้  (แต่การ Capture ภาพจะต้องทำตอนที่อยู่ในคำสั่ง Probe  เพราะถ้าออกจากคำสั่ง Probe จะทำให้ Tag ที่แสดงค่าตำแหน่งต่างๆ หายไปด้วย)

4. การทำ Section Cliping แสดงผลลัพธ์ภายใน

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

5. การทำ Iso Cliping เพื่อแสดงบริเวณที่มีความเสียหายมาก

โปรแกรม SolidWorks Simulation สามารถแสดง Tag เพื่อบอกตำแหน่งที่มีค่ามากที่สุดและน้อยที่สุดได้  แต่บางครั้งเราก็ต้องการทราบว่ามีตำแหน่งใดอีกที่มีค่าสูงรองลงมา  เพื่อจะได้ปรับแก้โมเดลให้แข็งแรงขึ้นได้  หรืออาจจะต้องการทราบตำแหน่งที่มีค่าต่ำเพื่อลดขนาดและน้ำหนัก  ทำให้โมเดลเบาหรือถูกลงได้  เครื่องมือที่จะมาช่วยหาตำแหน่งเหล่านี้คือ Iso Cliping

6. การแสดงชิ้นงานแบบเต็มของงานวิเคราะห์ Symmetry

เทคนิคในการวิเคราะห์งานให้ได้ผลลัพธ์ที่รวดเร็วและยังถูกต้องอยู่คือการลดรูปชิ้นงานที่มีความสมมาตรไม่ว่าจะสมมาตร 1/2 หรือ 1/4 ก็ตาม
โดยในฟังชั่น Fixture ของ SolidWorks Simulation จะมีคำสั่ง Symmetry ให้เราเลือกผิวที่ถูกตัดได้  ทำให้การวิเคราะห์ผลลัพธ์รวดเร็วขึ้น  เพราะขนาดรูปร่างชิ้นงานที่ลดลงทำให้ใช้ Mesh น้อยลงนั้นเอง  แต่การลดรูปจะทำให้ผลลัพธ์ที่แสดงออกมาเป็นเพียงเสี้ยวหนึ่งของชิ้นงานจริง  ซึ่งการอธิบายให้ผู้ที่ไม่เข้าใจได้ทราบหรือการทำพรีเซนต์อาจจะไม่ค่อยสวยงามนัก
ใน SolidWorks Simulation เวอร์ชั่น 2014 จึงเพิ่มฟังชั่น Display symmetric results ให้เราแสดงผลลัพธ์แบบเต็มขึ้นมาได้

7. การแสดงชิ้นงาน Beam Mesh

การวิเคราะห์แบบ Beam Mesh โปรแกรมจะแสดงผลเป็นท่อกลมๆ เนื่องจากในการคำนวณจะใช้เพียงแค่ความยาวของชิ้นงาน  ส่วนข้อมูลหน้าตัดจะถูกเก็บไว้ภายในโปรแกรม  ทำให้การแสดงผลหน้าตัดชิ้นงานจริงๆถูกเอาออกไป
ใน SolidWorks เวอร์ชั่น 2012 ได้เพิ่มฟังชั่น Render beam profile เพื่อให้เราแสดงหน้าตัดจริงๆ ในผลลัพธ์ต่างๆ ได้  ทำให้การแสดงผลดูสมจริงมากยิ่งขึ้น

8. การแสดงผลลัพธ์เฉพาะชิ้นที่สนใจ

การวิเคราะห์งาน Assembly หรือ Multibody จะมีผลลัพธ์ของชิ้นงานหลายชิ้นที่มาประกอบกัน  แต่เมื่อวิเคราะห์ออกมามักจะพบว่าชิ้นงานที่รับแรงมากมีอยู่แค่ไม่กี่ชิ้นหรือไม่กี่ตำแหน่ง  ดังนั้นการแสดงผลลัพธ์เฉพาะชิ้นงานที่เราสนใจและซ่อนชิ้นงานอื่นๆ ออกไปก่อนจะช่วยให้เราโฟกัสที่ชิ้นงานนั้นๆได้

9. การแสดงชิ้นงานที่ไม่ได้วิเคราะห์

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

วันพฤหัสบดีที่ 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