วันพุธที่ 16 กันยายน พ.ศ. 2563

Topology Optimization

เทย์เลอร์อิมแพ็ค (Taylor's Impact)

ในปี 1914 หรือ 104 ปีที่แล้ว นาย G.I. Taylor ได้ทำการศึกษากระบวนการตอบสองของวัสดุที่เกิดจากภาระกรรมกระทำที่ความเร็วสูง หรือเรียกว่า Dynamic Yield Strength โดยใช้การทดลองที่เรียกว่า Taylor Impact โดยการทดลองนี้จะสร้างวัสดุเป็นรูปแท่งทรงกระบอกและยิงเข้าหากำแพงเพื่อดูพฤติกรรมการเสียรูปของชิ้นงานเมื่อเกิดการกระแทกหรือในภาวะที่มีแรงกระทำสูงในช่วงเวลาอันรวดเร็ว และการทดลองนี้ก็กลายเป็นพื้นฐานให้ทุกคนได้ศึกษากันมาจนถึงปัจจุบันและก่อให้เกิดเทคโนโลยีต่างๆมากมายทางด้าน Impact Problem เช่น การออกแบบ Bumper ของรถยนต์เป็นต้น โดยถ้าให้แท่งวัสดุทรงกระบอกยาว A พุ่งเข้าชนผนังด้วยความเร็ว V แล้ว ความยาวของแท่งทรงบอกนี้จะลดลงเหลือขนาด B โดยความสัมพันธ์ระหว่างความยาวเริ่มต้นกับความยาวที่หดสั้นลงนั้นสามารถหาได้จากสมการนี้

วันพุธที่ 24 ธันวาคม พ.ศ. 2557

ตัวอย่างการตีเมสอย่างง่าย

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

ขั้นตอนคร่าวๆนั้น
1. เริ่มจากเข้าไปที่โมดูล 2Dทำการ Mesher
2. สร้าง เส้นให้ประกอบกันเป็นรูปสี่เหลี่ยมพร้อมด้วยเส้นทะแยงมุม
3. สร้าง เส้นโค้งหนึ่งในสี่ส่วนของวงกลม
4. ทำการตัดแต่งชิ้นงานให้เป็นรูปปิดล้อมที่ประกอบไปด้วยด้านสี่ด้าน เพื่อที่จะทำการ mesh แบบ Isomesh ได้
5. สร้าง Edge เพื่อเปลี่ยนเส้นให้เป็นขอบในอิลิเมนต์โดเมน
6. วางจำนวนอิลิเมนต์ในแต่ละขอบ
7. ทำการสร้างเมส

7 ขั้นตอนคร่าวๆก็จะได้เมสอย่างง่ายๆสำหรับนำไปใช้งานต่อไป


สำหรับการสร้างนั้นสามารถดูได้จากวิดีโอตามลิ้งค์ครับ : 


วันอังคารที่ 16 ธันวาคม พ.ศ. 2557

ข้อกำหนด Vonmises Stress

หัวข้อนี้จะเป็นการสร้างสมการvonmises stress criteria ที่วิศวกรเครื่องกลต้องรู้จักมัน










วันอาทิตย์ที่ 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)
นิยามของแทรคชั่นเวคเตอร์
แทรคชั่นเวคเตอร์สามารถแตกย่อยออกเป็นความเครียดตามแกนต่างๆได้
ความสำพันธ์ระหว่างแทรคชั่นเวคเตอร์และความเครียด