ใน SOLIDWROKS Simulation นั้นได้มี Solver ไว้หลายแบบให้เลือกใช้ในการคำนวนทางไฟไนต์อิลิเมนต์ได้ ถ้าลองเข้าไปดูใน Option นั้นจะเห็นว่า มีให้เลือกใช้ได้ 4 รูปแบบ คือ Automatic / Direct sparse / FFEPlus และ Intel Direct Sparse ดังแสดงในรูป แล้ว Solver ไหนที่เหมาะกับงานของเรานั้น ก่อนที่จะตอบคำถามนั้นเรามาทำความรู้จัก Solver กันก่อนครับ
โดยพื้นฐานแล้วไฟไนต์อิลิเมนต์นั้นประกอบไปด้วยสามส่วนหลักคือ Pre / Solve / Post โดยที่ Pre และ Post นั้เป็นสิ่งที่ทุกคนรู้จักกันดี ก็คือหน้าต่างของโปรแกรมที่เราทำการคลิกใช้งานกันอยู่ทุกวัน Pre คือการเตรียมการ ส่วน Post คือการแสดงผล ส่วน Solve นั้นเราจะเห็นมันทำงานก็ต่อเมื่อมีหน้าต่างนี้แสดงขึ้นมาครับ
หน้าต่างเล็ก ๆ นี้เป็นหัวใจที่สำคัญที่สุดของการทำไฟไนต์อิลิเมนต์ครับ Solver จะทำหน้าที่รับข้อมูลที่เราสร้างและกำหนดไว้ใน Pre เอาเข้ามาประมวลผลเป็นผลลัพธ์และแสดงให้เราเห็นผ่านทาง Post โดยทั่วไปแล้ว Solver นั้นจะมีด้วยกันสองรูปแบบคือ Direct (โดยตรง) และ Iterative (วนลูป) โดยรูปแบบของ Direct นั้นใช้หลักการ LU Decomposition คุ้น ๆ คำนี้กันไหมครับ ในมหาลัยปี 1 – 2 เราเผชิญกับกระบวนการนี้มาโยที่
เราไม่รู้ว่าเรียนไปทำไม LU Decomposition นี้จะแบ่งเมทริกซ์ออกเป็นเมทริก 3 สามเหลี่ยมสองส่วนคือ ส่วนบนคือ U และส่วนล่างคือ L และทำการแก้ปัญหาทางเมทริกออกมา หรืออีกชื่อคือ Gaussian Elimination สองคำที่วนเวียนอยู่ภายในหัวแต่เป็นแก่นแท้ของไฟไนต์อิลิเมนต์เลยครับ ส่วน Iterative นั้นหรือที่เรียกว่าการวนลูปนั้นจะใช้กระบวนการของ Newton-Ralpson เข้ามาช่วย เป็นอีกหนึ่งคำที่มาพร้อมๆกัยกับ Guass Elimination ถ้ายังจำกันได้นะครับ พื้นฐานของ Iterative คือ การแบ่งเป็นช่วง เดาคำตอบ จากนั้นนำคำตอบไปแก้สมการหาคำตอบออกมาแล้วเช็คว่าคำตอบที่ได้ใหม่นั้นใกล้เคียงกับคำตอบที่เดาไว้ตอนต้นมากน้อยเพียงใด หากยอมรับได้ก็จะไปต่อ หากไม่โอเคก็เดาคำตอบกันใหม่ครับ วิธีนี้จะใช้กันในปัญหาที่ไม่เป็นเชิงเส้นเป็นหลัก ค่อนข้างใช้เวลาในการคำนวนเมื่อเทียบกับแบบ Direct เพราะกระบวนการวนลูปนั่นเองครับ
และ Solver ใน SOLIDWORKS Simulation นั้นเป็นประเภทไหนกันบ้าง โดยชื่อของ Solver นั้นเป็นตัวบ่งบอกให้เห็นโดยชัดเจน Direct Sprase นั้นเป็นการลดรูปเมทริกลงมาอาจจะเกือบครึ่งหนึ่งของเมทริกเดิม ซึ่งทำให้เรานั้นสามารถแก้ปัญหาทางเมทริกได้ง่ายขึ้นและใช้เวลาที่เร็วขึ้น รวมทั้งข้อมูลที่น้อยลงทำให้เราประหยัดพื้นที่ที่ใช้ในการเก็บข้อมูลน้อยลงตามไปด้วย
Intel Direct Sprase นั้น เป็นการเพิ่มการจัดการหน่วยความจำให้ดีขึ้นเพื่อการรองรับปัญหาขนาดใหญ่ที่มีจำนวน DOF มาก ๆ ข้อจำกัดของ Direct Sprase คือที่ปัญหาใหญ่ ๆ มาก ๆ นั้น จะใช้หน่วยความจำที่มากขึ้นตาม เพราะต้องใช้การคำนวนที่มากขึ้นตาม
FFEPlus นั้นเป็น Iterative Solver คือใช้กระบวนการเดาค่า คำนวนย้อนกลับ และตรวจสอบความคลาดเคลื่อนของค่าที่เดา ทำให้รูปแบบ Solver นี้เหมาะกับงานประเภทไม่ใหญ่มาก ใช้การจัดการหน่วยความจำที่ดีกว่า Direct Sprase ในปัญหาใหญ่ แต่ปัญหาทางการคำนวนทางระเบียบเชิงตัวเลขนั้นทำให้มี error อยู่ในผลลัพธ์ และความลู่เข้าของผลลัพธ์นั้นก็เป็นปัญหาอีกอย่างหนึ่งที่ต้องมานั่งคิดว่าทำอย่างไรถึงจะลู่เข้า
AUTOMATIC เป็นสิ่งที่โปรแกรมจะเป็นตัวตัดสินใจเอง จากปัญหาที่เรากำหนดมานั้นว่าควรจะใช้ Solver ตัวใดดีกับปัญหานี้
ลองเทียบกันดูครับว่า Solver แต่ละตัวนั้นให้ผลลัพธ์ที่เป็นอย่างไรกันบ้าง ผลการทดลองการคำนวนแบบเชิงเส้นในโครงสร้างแบบง่าย ๆ โดยใช้ Solver 3 รูปแบบคือ Direct Sprase / Intel Direct Sprase / FFEPlus นั้นเทียบกับความละเอียดของการ mesh หรือขนาดของปัญหาแล้วพบว่า ที่ปัญหาเล็ก ๆ หรือความละเอียดน้อย ๆ นั้นไม่มีความแตกต่างกันมาในเรื่องของเวลาการคำนวน แต่พอปัญหาที่มีขนาดใหญ่มากขึ้นหรือมีความละเอียดของอิลิเมนต์ที่มากขึ้นนั้นจะเห็นความแตกต่างอย่างชัดเจน FFEPlus สามารถคำนวนได้รวดเร็วกว่าแบบ Direct และ Intel direc sprase มากกว่า 2 เท่า แต่อย่างที่ได้กล่าวไว้ต้องแลกมาด้วยความคลาดเคลื่อนในข้อมูลเนื่องจากเป็น Iterative solver ที่ต้องใช้ระเบียบวิธีวิเคราะห์ทางตัวเลขที่มีความคลาดเคลื่อนอยู่ในกระบวนการอยู่แล้ว
จริง ๆ แล้วไม่สามารถบอกได้ว่า Solver ไหนดีที่สุด จริง ๆ แล้วขึ้นอยู่กับว่า Solver ไหนเหมาะกับงานของท่านและให้ผลลัพธ์ที่ดีที่สุดก็ใช้ Solver นั้นครับ
บทความโดย แอดโจ๊ก
ติดต่อเราได้ที่
โทร 02-089-4145 (จ-ศ 8.30 – 17.00 น.)
ติดต่อได้ทุกเวลาโทร 097-158-8174
LINE@ คลิก https://bit.ly/2yrNF24
เว็บไซต์ https://metrosystems-des.com/
YouTube https://www.youtube.com/user/MetroSolidWorks
Facebook Fanpage https://www.facebook.com/metrosolidworks/
Inbox มาเลยก็ได้น้า
รัก SOLIDWORKS สุด ๆ คลิกเลย https://www.facebook.com/groups/2076765539017446/