วันอาทิตย์ที่ 9 พฤศจิกายน พ.ศ. 2557

ผลลัพธ์ของไฟไฟนต์อิลิเมนต์นั้นแปรตามจำนวนอิลิเมนต์

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

สำหรับตัวอย่างนี้ให้เป็นชิ้นงานข้อต่ออย่างง่ายๆ คำนวนโดยใช้ซอฟแวร์ Lisa ซึ่งพอใช้งานในการศึกษาไฟไฟนต์อิลิเมนต์ในเบื้องต้นได้

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


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

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



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



วันอังคารที่ 4 พฤศจิกายน พ.ศ. 2557

Principal Stress

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



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

ความเครียดแบบ Pricipal Stress นั้นเป็นความเครียดแบบตั้งฉากในขณะที่ความเครียดแบบเฉือนเท่ากับศูนย์ หมายความว่าที่อิลิเมนต์นั้นๆจะมีแต่ความเครียดตั้งฉากเพียงอย่างเดียว 


ทำการสมดุลแรงตามแกนe2' - e1' จะได้

จัดรูปสมการใหม่



จากนิยามที่ว่า Principal Stress คือความเครียดตั้งฉากในขณะที่ความเค้นเฉือนเท่ากับศูนย์ ดังนั้นจะสามารถหามุมที่ทำให้เกิด Principal Stress ได้






วันเสาร์ที่ 1 พฤศจิกายน พ.ศ. 2557

Traction Vector

แทรคชั่นเวคเตอร์ (Traction Vector) ถูกนิยามให้เท่ากับแรงภายในชิ้นงานบนพื้นที่หน้าตัดพื้นที่หนึ่งหารด้วยพื้นที่หน้าตัดนั้นๆ ซึ่งเมื่อเราทำการแตกเวคเตอร์ของแทรคชั่นเวคเตอร์นี้ให้เป็นไปตามเวคเตอร์ของพื้นผิวก็ได้ความเครียดตั้งฉาก(Normal Stress)และความเครียดเฉือน(Shear Stress) นั่นเอง

เมื่อชิ้นงานถูกแรงกระทำจะทำให้เกิดการเสียรูปไป การเสียรูปที่เกิดขึ้นจะทำให้พื้นที่หน้าตัดที่ใช้เป็นระนาบอ้างอิงนั้นเปลี่ยนไปรูปร่างไปด้วย จึงได้มีการกำหนดแทรคชั่นเวคเตอร์ขึ้นมาสองกรณีคือ
1. โคชี(Cauchy) คือแทรคชั่นเวคเตอร์ที่ใช้พื้นที่หน้าตัดอ้างอิงเป็นพื้นที่ที่เสียรูปไป ณ เวลาที่สนใจนั้น
2. พิโอล่าเคอรชอฟ(Piola-Kirchoff) คือแทรคชั่นเวคเตอร์ที่ใช้พื้นที่หน้าตัดอ้างอิงเป็นพื้นที่หน้าตัดตั้งต้นก่อนการเสียรูป

เพราะว่าแทรคชั่นเวคเตอร์นั้นสามารถที่จะเปลี่ยนเป็นความเครียดได้ ดังนั้นก็จะได้ความเครียดสองแบบเช่นกันคือความเครียดโคชี(Cauchy Stress) และความเครียดแบบพิโอล่าเคอรชอฟ(Piola-Kirchoff Stress)
นิยามของแทรคชั่นเวคเตอร์
แทรคชั่นเวคเตอร์สามารถแตกย่อยออกเป็นความเครียดตามแกนต่างๆได้
ความสำพันธ์ระหว่างแทรคชั่นเวคเตอร์และความเครียด