กำไร:
- สามารถอธิบายวิธีใช้ AI ในการตั้งค่า การตีความผลลัพธ์ และการสร้างแบบจำลองตัวแทนในกระบวนการพลศาสตร์ของไหลเชิงคำนวณ (CFD)
- ความสามารถในการสแกนพื้นที่การออกแบบขนาดใหญ่ได้อย่างรวดเร็ว และจัดอันดับรูปทรงเรขาคณิตของผู้สมัครด้วยโมเดลตัวแทนที่ใช้การเรียนรู้ของเครื่อง
- ความสามารถในการตรวจสอบเอาต์พุตตามหลักอากาศพลศาสตร์ที่ขับเคลื่อนด้วย AI ด้วยการลู่เข้า ความเป็นอิสระของเครือข่าย และเกณฑ์ความเป็นไปได้ทางกายภาพ
วิธีที่ปีกสร้างแรงยก วิธีที่ลำตัวแยกอากาศ วิธีที่พื้นผิวควบคุมเบี่ยงกระแส อากาศพลศาสตร์เป็นศาสตร์แห่งแรงที่มองไม่เห็นเหล่านี้ วิศวกรเรียนรู้แรงเหล่านี้ได้สองวิธี: โดยการทดลองในอุโมงค์ลมหรือโดยการคำนวณพลศาสตร์ของไหลด้วยคอมพิวเตอร์ (CFD; พลศาสตร์ของไหลเชิงคำนวณ ซึ่งเป็นวิธีการแก้สมการการไหลเป็นตัวเลขบนเครือข่ายการคำนวณ) CFD มีประสิทธิภาพแต่มีราคาแพง: การดำเนินการที่ซับซ้อนอาจใช้เวลาหลายชั่วโมงหรือหลายวัน ส่งผลให้มีจุดออกแบบเพียงจุดเดียว วิศวกรที่ต้องการลองออกแบบหลายร้อยแบบประสบปัญหาคอขวดที่นี่
ปัญญาประดิษฐ์ (AI) ช่วยเปิดคอขวดนี้ในสองแห่ง ประการแรก ในกระบวนการ CFD: การควบคุมการตั้งค่า การตีความผลลัพธ์ และการรายงาน ประการที่สองและมีการเปลี่ยนแปลงมากกว่าคือโมเดลตัวแทน (โมเดลการเรียนรู้ของเครื่องที่เรียนรู้ความสัมพันธ์อินพุตและเอาท์พุตของการจำลองที่มีราคาแพงและให้การคาดการณ์โดยประมาณในไม่กี่วินาที) ด้วยโมเดลตัวแทน ทำให้สามารถสแกนพื้นที่การออกแบบขนาดใหญ่ได้ภายในไม่กี่วินาทีแทนที่จะเป็นชั่วโมง มีการคัดเลือกตัวเลือกที่มีแนวโน้มเพียงไม่กี่รายการ และมีเพียง CFD เต็มรูปแบบเท่านั้นที่คำนวณได้อย่างแม่นยำ ในหน่วยนี้ เรารักษากฎที่ไม่เปลี่ยนรูปเมื่อฝัง AI ไว้ในเวิร์กโฟลว์นี้: ไม่มีการยอมรับผลลัพธ์ที่มีประสิทธิภาพใดๆ โดยไม่แสดงให้เห็นถึงการบรรจบกันและความเป็นอิสระของเครือข่าย และผ่านตัวกรองความน่าเชื่อถือทางกายภาพ
แนวคิด: การบรรจบกัน: โซลูชันที่ตั้งค่าคงที่ตามความคืบหน้าของการวนซ้ำ หากไม่พอดีผลก็ไม่น่าเชื่อถือ ความเป็นอิสระของตาข่าย: ผลลัพธ์จะไม่เปลี่ยนแปลงอย่างมีนัยสำคัญเมื่อคุณกระชับเครือข่ายบัญชี CL/CD: ค่าสัมประสิทธิ์การยก / ค่าสัมประสิทธิ์การลาก; การวัดประสิทธิภาพแอโรไดนามิกขั้นพื้นฐาน โมเดลตัวแทน: การเลียนแบบการจำลองโดยประมาณอย่างรวดเร็ว
ตำแหน่งของ AI ในเวิร์กโฟลว์ CFD
การรัน CFD ประกอบด้วยห้าขั้นตอนโดยประมาณ: การเตรียมเรขาคณิต การสร้าง mesh การตั้งค่าตัวแก้ปัญหา การรัน และหลังการประมวลผล AI ช่วยแตกต่างกันในแต่ละขั้นตอน แต่ไม่ได้มีส่วนตัดสินใจขั้นสุดท้ายในเรื่องใดเลย
ในการสร้างตาข่าย AI สามารถคำนวณความสูงของเซลล์เริ่มต้นโดยประมาณโดยสัมพันธ์กับเป้าหมาย y+ สำหรับการแก้ไขขอบเขตเลเยอร์ สำหรับการเลือกแบบจำลองความปั่นป่วน (เช่น k-omega SST) ในการตั้งค่าตัวแก้ปัญหา อาจแนะนำตัวเลือกที่เหมาะสมกับรูปแบบการไหลโดยมีเหตุผล ในขั้นตอนหลังการประมวลผล เราสามารถเขียนสคริปต์ Python เพื่อแยกค่าสัมประสิทธิ์การยก การลาก และโมเมนต์จากไฟล์ผลลัพธ์หลายพันบรรทัด และสร้างมุมของแผนการโจมตีแบบกวาด แต่ไม่ว่าค่า y+ จะเป็นไปตามเป้าหมายจริงๆ ไม่ว่าแบบจำลองความปั่นป่วนจะเหมาะกับการไหลนี้หรือไม่ และผลลัพธ์จะมาบรรจบกันหรือไม่นั้น จะต้องตรวจสอบด้วยสายตาของวิศวกร
สถานที่ที่ใช้บ่อยที่สุดคือความคิดเห็นเกี่ยวกับผลลัพธ์ เมื่อคุณถาม AI ว่า "เหตุใดเส้นโค้ง CL-alpha ถึงหักที่ 14 องศา" มันจะทำให้คุณนึกถึงความเป็นไปได้ที่จะเกิดการหยุดนิ่ง (การไหลแยกออกจากปีกเมื่อมุมการโจมตีเพิ่มขึ้นและแรงยกลดลง) และแสดงรายการตัวบ่งชี้การแยกการไหลที่คุณควรตรวจสอบ นี่คือเครื่องกำเนิดสมมติฐาน การยืนยันอยู่ในข้อมูลอีกครั้ง
ข้อควรระวัง: AI สามารถตีความผลลัพธ์ CFD ได้อย่างคล่องแคล่ว แต่หากผลลัพธ์นั้นผิด การตีความก็จะผิดเช่นกัน ประโยค "ค่าลากนี้สมเหตุสมผล" จะไม่มีความหมายใดเลยหากโซลูชันไม่มาบรรจบกัน ขั้นแรกให้ตรวจสอบความถูกต้องของหมายเลข จากนั้นจึงแสดงความคิดเห็น
โมเดลตัวแทน: การสแกนพื้นที่การออกแบบในไม่กี่วินาที
ตรรกะของการสร้างแบบจำลองตัวแทนนั้นเรียบง่าย ขั้นแรก ตัวอย่างที่เลือกอย่างระมัดระวัง (เช่น จุดการออกแบบ 40-80 จุด การออกแบบการทดลองจะกระจายโดย DoE) จะถูกคำนวณด้วย CFD แบบเต็ม จากนั้นโมเดลการเรียนรู้ของเครื่อง (การถดถอยกระบวนการแบบเกาส์/คิริง ฟังก์ชันพื้นฐานแนวรัศมี หรือโครงข่ายประสาทเทียม) จะได้รับการฝึกด้วยคู่อินพุต-เอาท์พุตเหล่านี้ ขณะนี้โมเดลคาดการณ์ CL/CD สำหรับเรขาคณิตใหม่ได้ในไม่กี่วินาที ผู้สมัครหลายพันรายได้รับการคัดกรองด้วยโมเดลราคาไม่แพงนี้ และผู้สมัครที่ดูดีที่สุด 3-5 รายจะได้รับการคำนวณใหม่และตรวจสอบด้วย CFD แบบเต็ม
จุดวิกฤติที่นี่คือช่วงความเชื่อมั่น โมเดลอย่าง Kriging ไม่เพียงแต่ให้การคาดการณ์เท่านั้น แต่ยังรวมถึงความมั่นใจในการทำนายนั้นด้วย (ความไม่แน่นอน) ความไม่แน่นอนเพิ่มมากขึ้นในพื้นที่ห่างไกลจากจุดฝึกอบรม มีการเพิ่มจุด CFD ใหม่แทนที่จะเชื่อถือโมเดลแบบสุ่มสี่สุ่มห้า ลูป "เพิ่มตัวอย่างใหม่ที่มีความไม่แน่นอนสูง" นี้เรียกว่าการเรียนรู้แบบแอคทีฟและสแกนพื้นที่ขนาดใหญ่ได้อย่างมีประสิทธิภาพด้วยการรันที่มีราคาแพงจำนวนเล็กน้อย
วิธีการ
ต้นทุนการออกแบบหนึ่งจุด
ความแม่นยำ
เมื่อ
CFD เต็ม (RANS)
นาฬิกา
สูง
การตรวจสอบขั้นสุดท้าย มีผู้สมัครจำนวนน้อย
โมเดลตัวแทน (กริงกิ้ง)
วินาที
ปานกลาง-สูง (ในเขตพื้นที่การศึกษา)
การสแกนพื้นที่ขนาดใหญ่ การเพิ่มประสิทธิภาพ
แผง/วิธีการสั่งซื้อต่ำ
วินาที-นาที
ต่ำปานกลาง
การกำจัดเร็วเกินไป เป็นความคิดที่หยาบ
อุโมงค์ลม
วันสัปดาห์
สูงสุด (จริง)
การตรวจสอบที่สำคัญ, การรับรอง
เคล็ดลับ: ห้ามใช้แบบจำลองตัวแทนนอกช่วงที่ครอบคลุมโดยข้อมูลการฝึกอบรม (การประมาณค่า) หากโมเดลได้รับการฝึกฝนด้วยมุมการโจมตี 5-15 องศา ค่าที่ได้ให้ที่ 25 องศาไม่ใช่การคาดการณ์ แต่เป็นการประดิษฐ์ การขอให้ AI “เขียนช่วงการฝึกอบรมและปฏิเสธการสืบค้นนอกขอบเขต” เมื่อสร้างแบบจำลองจะปิดกับดักนี้
พรอมต์อ่อน / พรอมต์แข็งแกร่ง
พรอมต์ที่อ่อนแอ:
แอร์โฟล์ตัวนี้ดีมั้ย? ตีความผลลัพธ์ CFD ของฉัน: CD=0.009
พรอมต์อันทรงพลัง:
บทบาท: คุณเป็นที่ปรึกษาด้านการวิเคราะห์อากาศพลศาสตร์ คุณใช้การตรวจสอบยืนยันที่มีความสำคัญด้านความปลอดภัย บริบท: การวิเคราะห์ CFD ของ airfoil 2D RANS (ค่าเป็นตัวแทน):Re=1.5e6, Mach=0.2, มุมการโจมตี 4°, โมเดลความปั่นป่วน k-omega SST ผลลัพธ์: CL=0.62, CD=0.0091 เครือข่าย: 180,000 เซลล์ y+ ~1.งาน:1) แสดงรายการขั้นตอนการตรวจสอบที่ฉันจำเป็นต้องตรวจสอบก่อนพิจารณาผลลัพธ์ที่ถูกต้อง (การลู่เข้า ความเป็นอิสระของเครือข่าย y+)2) คำนวณอัตราส่วน CL/CD และเปรียบเทียบกับช่วงทั่วไปสำหรับคลาสโปรไฟล์นี้3) แสดงแหล่งที่มาของข้อผิดพลาดที่เป็นไปได้หากค่าดูน่าสงสัย ข้อจำกัด: เขียนหน่วย; ทำเครื่องหมายจุดที่คุณไม่แน่ใจ อย่าตัดสินว่า "ดี/ไม่ดี" อย่างแน่ชัด โปรดจัดทำแผนการตรวจสอบ
เทมเพลตพร้อมท์ที่คัดลอกได้
เทมเพลต 1 — เหตุผลในการตั้งค่า CFD:
ให้คำแนะนำการตั้งค่า CFD สำหรับเงื่อนไขการไหลต่อไปนี้ (ค่าตัวแทน): Re=[...], Mach=[...], เรขาคณิต=[...] แนะนำเหตุผลต่อไปนี้ให้ฉันทราบ: ตัวเลือกแบบจำลองความปั่นป่วนที่เหมาะสม เป้าหมาย y+ สำหรับเลเยอร์ขอบเขตและการคำนวณความสูงของเซลล์เริ่มต้น เงื่อนไขขอบเขต สำหรับแต่ละตัวเลือก ให้เพิ่มหมายเหตุว่า "ทำไม" และ "ในกรณีนี้จะผิด" เขียนหน่วยของตัวเลข.
เทมเพลต 2 — การออกแบบการทดลอง (DoE) และแผนแบบจำลองตัวแทน:
ฉันมีตัวแปรการออกแบบ [N]: [รายการ พร้อมช่วง] หากต้องการฝึกแบบจำลองตัวแทน: (a) คุณแนะนำจำนวนจุดตัวอย่างและวิธีการสุ่มตัวอย่างใด (เช่น Latin Hypercube) (b) โมเดลตัวแทนประเภทใดที่เหมาะสมและเพราะเหตุใด (c) ฉันจะตรวจสอบโมเดลได้อย่างไร (การตรวจสอบข้าม, ชุดทดสอบแยก) ฉันควรกำหนดกฎอะไรเพื่อป้องกันไม่ให้เกิดการคาดการณ์
เทมเพลต 3 — สคริปต์เพื่อแยกค่าสัมประสิทธิ์จากไฟล์ผลลัพธ์ CFD:
จากรายงาน CSV บังคับ CFD (คอลัมน์: การวนซ้ำ Fx, Fy, Fz) ด้วย Python: (a) คำนวณ convergedCL และ CD โดยการเฉลี่ยการวนซ้ำ 500 ครั้งล่าสุด; (b) เขียนค่าเบี่ยงเบนมาตรฐานของการวนซ้ำ 500 ครั้งล่าสุดและเปรียบเทียบกับเกณฑ์เพื่อตรวจสอบการลู่เข้า (c) พล็อต CL-alpha สำหรับมุมของการสแกนการโจมตี ตั้งค่าพื้นที่อ้างอิงและความดันไดนามิกเป็นพารามิเตอร์ อธิบายบัญชีด้วยบรรทัดแสดงความคิดเห็น
เทมเพลต 4 — แบบสอบถามความมั่นใจในการทำนายแบบจำลองตัวแทน:
โมเดลพร็อกซี kriging ที่ฉันฝึกให้ CL=0.71,ความไม่แน่นอน(std) 0.02 สำหรับการทำนายต่อไปนี้ ประเด็นคำถามคือ [ภายใน/ภายนอก] ช่วงการฝึกอบรม (ก) ระดับความไม่แน่นอนนี้เพียงพอต่อการตัดสินใจหรือไม่ ฉันจะตัดสินใจได้อย่างไร? (b) หากมีความไม่แน่นอนสูง ฉันควรเพิ่มอินสแตนซ์ CFD ใหม่ (ตรรกะการเรียนรู้เชิงรุก) ณ จุดใด (c) เมื่อใดที่ฉันควรยืนยันการคาดการณ์นี้ด้วย CFD แบบเต็ม?
เคสมินิ
กรณีที่ 1 — พบผลลัพธ์ที่ไม่มีการรวมกัน นักเรียนคนหนึ่งได้รับผล CD=0.0065 สำหรับแอร์ฟอยล์และรู้สึกยินดีเป็นอย่างยิ่ง ซีดีทั่วไปสำหรับคลาสโปรไฟล์อยู่ในช่วง 0.008-0.012 ผลลัพธ์ดูดีเกินไป การใช้การตรวจสอบการลู่เข้าที่แนะนำโดย AI แสดงให้เห็นว่าค่าสัมประสิทธิ์แรงยังคงผันผวน (ส่วนเบี่ยงเบนมาตรฐาน 8% ของค่าเฉลี่ย) ในการวนซ้ำครั้งล่าสุด เมื่อโซลูชันมาบรรจบกันด้วยการวนซ้ำมากขึ้น จะตัดสินที่ CD = 0.0094 บทเรียน: ผลลัพธ์ที่ "ดีเกินไป" มักเป็นผลลัพธ์ที่ไม่ได้มาบรรจบกัน
กรณีที่ 2 — โมเดลตัวแทนเร่งความเร็วขึ้น 200 เท่า ทีมดำเนินการวิ่ง CFD เต็มรูปแบบ 60 ครั้ง (ประมาณ 2 ชั่วโมงต่อครั้ง) สำหรับวิงที่มีพารามิเตอร์ทางเรขาคณิต 6 แบบ และฝึกโมเดลตัวแทน kriging จากนั้นจะสแกนการกำหนดค่าตัวเลือก 5,000 รายการด้วยโมเดลพร็อกซีภายใน 40 วินาที ตรวจสอบความถูกต้องของตัวเลือกที่ดีที่สุด 4 รายการด้วย CFD เต็มรูปแบบ ด้วยการรัน CFD ทั้งหมด 64 ครั้ง การประมาณการคร่าวๆ จะเท่ากับการรัน 5,000 ครั้ง ระยะเวลาลดลงจากสัปดาห์เป็นสองวัน บทเรียน: เรียกใช้การจำลองที่มีราคาแพงเฉพาะที่จุดตรวจสอบ ไม่ใช่ทุกจุด
กรณีที่ 3 — กับดักการคาดการณ์ วิศวกรถามคำถามยกที่ 18 องศากับโมเดลตัวแทนที่ได้รับการฝึกฝนด้วยมุมการโจมตี 3-12 องศา โมเดลให้ค่าที่เพิ่มขึ้นอย่างราบรื่น เช่น CL=1.6 ในความเป็นจริง ปีกสูญเสียการยึดเกาะประมาณ 15 องศา และแรงยกลดลง แต่แบบจำลองตัวแทนขยายออกตรงเนื่องจากไม่ "มองเห็น" ฟิสิกส์นี้ วิศวกรปฏิเสธผลลัพธ์ด้วยการตรวจสอบความน่าเชื่อถือทางกายภาพ (การคาดการณ์การสูญเสียการยึดเกาะ) และดำเนินการ CFD เต็มรูปแบบไปยังพื้นที่นั้น บทเรียน: โมเดลตัวแทนไม่รู้จักฟิสิกส์เกินกว่าระยะการฝึก
ข้อผิดพลาดทั่วไป
- ไม่ได้ตรวจสอบการบรรจบกัน ค่าสัมประสิทธิ์ของสารละลายที่ไม่มีการบรรจบกันนั้นไม่มีความหมาย ความสวยงามของกราฟไม่ได้รับประกันการบรรจบกัน
- ข้ามความเป็นอิสระของเครือข่าย หากผลลัพธ์ขึ้นอยู่กับเครือข่าย คำตอบที่แตกต่างกันจะออกมากับเครือข่ายที่แตกต่างกัน ไม่สามารถทราบได้ว่าอันไหนถูกต้อง
- การคาดการณ์ในรูปแบบตัวแทน การทำนายนอกช่วงการฝึกจะให้ส่วนขยายทางคณิตศาสตร์ ไม่ใช่ความจริงทางกายภาพ
- โดยละเลยความไม่แน่นอน หากไม่ได้ใช้ข้อมูลความเชื่อมั่นของการทำนาย Kriging ภูมิภาคที่แบบจำลองมีความมั่นใจมากที่สุดและภูมิภาคที่มีความมั่นใจน้อยที่สุดจะได้รับการปฏิบัติแบบเดียวกัน
- การเลือกแบบจำลองความปั่นป่วนโดยพลการ แบบจำลองความปั่นป่วนที่ไม่ถูกต้องทำให้แม้แต่โซลูชันแบบหลอมรวมและไม่ขึ้นกับเครือข่ายก็เกิดความผิดพลาดทางกายภาพ
โดยสรุป
CFD เป็นเครื่องมือที่ทรงพลังแต่มีราคาแพง AI เร่งความเร็วจากสองที่: การจัดการกระบวนการ (การติดตั้ง การแสดงความคิดเห็น สคริปต์) และการสแกนพื้นที่การออกแบบขนาดใหญ่ในไม่กี่วินาทีด้วยแบบจำลองตัวแทน แบบจำลองตัวแทนได้รับการฝึกฝนด้วยการรัน CFD เต็มรูปแบบจำนวนเล็กน้อย ซึ่งใช้กับช่วงความเชื่อมั่น และตัวเลือกที่ดีที่สุดจะต้องได้รับการตรวจสอบด้วย CFD แบบเต็ม ไม่มีการยอมรับผลลัพธ์ที่มีประสิทธิภาพใดๆ หากไม่มีการตรวจสอบการลู่เข้า ความเป็นอิสระของเครือข่าย และความน่าเชื่อถือทางกายภาพ AI ให้สมมติฐานและความเร็ว ตัวตัดสินสุดท้ายของฟิสิกส์คือข้อมูล
งานสมัคร
กำหนดสถานการณ์จำลองการทำงาน CFD สำหรับ airfoil หรือเรขาคณิตอย่างง่าย (เป็นตัวแทน ไม่ใช่ข้อมูลโครงการจริง) การใช้ AI (a) แสดงรายการขั้นตอนการตรวจสอบก่อนที่จะพิจารณาผลลัพธ์ที่ถูกต้อง (b) พิมพ์สคริปต์ Python ที่แยกค่าสัมประสิทธิ์จากไฟล์ผลลัพธ์ และตรวจสอบลอจิกทีละบรรทัด (c) เตรียมแผนเพื่อสร้างแบบจำลองตัวแทน (จำนวนตัวอย่าง วิธีใด วิธีตรวจสอบ) เปรียบเทียบผลลัพธ์กับช่วงทั่วไปและประเมินความน่าเชื่อถือ
รายการตรวจสอบ
- [ ] ฉันได้ตรวจสอบการลู่เข้าสำหรับผลลัพธ์ CFD แต่ละรายการ
- [ ] ฉันสงสัยว่าเครือข่ายมีความเป็นอิสระหรือไม่
- [ ] ฉันเปรียบเทียบค่าสัมประสิทธิ์ เช่น CL/CD กับช่วงชั้นเรียนทั่วไป
- [ ] ฉันใช้โมเดลตัวแทนเฉพาะภายในระยะการฝึกเท่านั้น
- [ ] ฉันคำนึงถึงความไม่แน่นอนของการทำนายแบบจำลองตัวแทนในการตัดสินใจ
- [ ] ฉันตรวจสอบผู้สมัครที่ดีที่สุดด้วย CFD เต็มรูปแบบ