ฉันจะทำให้กระบวนการออกแบบวัตถุทางกายภาพเป็นไปอย่างอัตโนมัติได้อย่างไร


9

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


1
ส่วนการค้นหาพารามิเตอร์สำหรับฉันนั้นเป็นส่วนที่ง่าย ส่วนที่ไม่สำคัญคือการกำหนดรูปทรงเรขาคณิตของพารามิเตอร์
Geoff Oxberry

คำตอบ:


4

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

สำหรับพารามิเตอร์จำนวนน้อยคุณสามารถใช้ FD แต่สำหรับพารามิเตอร์จำนวนมากคุณต้องค้นหาวิธีการติด หากคุณกำลังใช้รหัสเชิงพาณิชย์หรือรหัสของบุคคลอื่นที่ไม่สามารถแก้สมการ adjoint แล้ว FD เป็นตัวเลือกเดียวของคุณ

ดูหนังสือพื้นฐานการเพิ่มประสิทธิภาพรูปร่างขั้นพื้นฐาน

แก้ไข: สำหรับปัญหา FE เชิงโครงสร้างคุณสามารถตรวจสอบหนังสือโดย Choi และ Kim I และ II


พารามิเตอร์บางตัวเป็นจำนวนเต็มเท่านั้น ... วิธีการไล่ระดับสียังสามารถใช้ได้หรือไม่?
Paul

คุณแนะนำบทเรียนหรือหนังสือดีๆเกี่ยวกับการปรับรูปร่างให้เหมาะสมหรือไม่?
Paul

สำหรับบางสิ่งบางอย่างสั้น / ง่ายๆที่คุณสามารถอ่านบทความนี้: acdl.mit.edu/mdo/mdo_06/EulerAdjoint.pdf อย่างที่ผมบอกกับ FD ว่ามันไม่สำคัญอย่างที่คุณต้องคำนวณการไล่ระดับสี (หมายถึงเรียกใช้โค้ด CFD ของคุณหลายครั้งขึ้นอยู่กับจำนวนพารามิเตอร์) จากนั้นใช้การไล่ระดับสีเพื่อทำการปรับให้เหมาะสม โดยทั่วไปจะใช้เวลาทำซ้ำสองสามครั้งก่อนที่พารามิเตอร์จะมาบรรจบกัน สำหรับพารามิเตอร์ที่มีขนาดใหญ่สิ่งนี้จะมีราคาแพงและคุณจะต้องใช้วิธีการติดตั้งเพื่อคำนวณการไล่ระดับ
stali

ขอบคุณ stali นั่นเป็นการแนะนำที่ดีมากสำหรับวิธีการ adjoint
Paul

5

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

DAKOTA http://dakota.sandia.gov/และ NOMAD http://www.gerad.ca/NOMAD/Project/Home.htmlเป็นแพ็คเกจที่มีประโยชน์สองแบบที่ให้คุณเลือกการเลือกพารามิเตอร์ที่ดีที่สุดโดยอัตโนมัติ (DAKOTA มีการสนับสนุนแอปพลิเคชันที่ดีขึ้น แต่ NOMAD อาจมีเครื่องมือเพิ่มประสิทธิภาพที่ดีกว่า)

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

หลังจากเสร็จสิ้นการสำรวจอวกาศด้วยแพ็คเกจใดแพ็คเกจหนึ่งข้างต้นคุณสามารถปรับแต่งการวิเคราะห์โดยทำการปรับให้เหมาะสมที่แม่นยำยิ่งขึ้นซึ่งพารามิเตอร์แยกทั้งหมดและพารามิเตอร์ต่อเนื่องทั้งหมดได้รับการแก้ไขซึ่งคุณไม่สามารถรับอนุพันธ์การวิเคราะห์ได้ แต่คุณสามารถเพิ่มจำนวนพารามิเตอร์รูปร่างต่อเนื่องที่คุณสามารถคำนวณอนุพันธ์การวิเคราะห์เป็นเครื่องมือเพิ่มประสิทธิภาพการไล่ระดับสี (เช่น IPOPT https://projects.coin-or.org/Ipopt ) ได้อย่างมีประสิทธิภาพสามารถจัดการปัญหาที่ใหญ่กว่าได้ .

หากคุณไม่รู้ว่าจะหาอนุพันธ์ได้อย่างไร แต่การพึ่งพาอาศัยนั้นราบรื่นคุณอาจพิจารณาใช้โปรแกรมสร้างความแตกต่างอัตโนมัติหรือเขียนรหัสปัญหาต่อเนื่องของคุณใน AMPL ซึ่งในกรณีนี้อินเตอร์เฟสตัวแก้จะดูแลอนุพันธ์

สำหรับพื้นฐานเกี่ยวกับการปรับรูปร่างให้เหมาะสมให้ดูเช่น Haftka, RT และ Grandhi, RV, การปรับรูปร่างให้เหมาะสมที่สุด - การสำรวจวิธีการคอมพิวเตอร์ในกลศาสตร์ประยุกต์และวิศวกรรมประยุกต์ 57 (1986), 91-106 (เชื่อถือคำอธิบายเกี่ยวกับการสร้างแบบจำลอง แต่ไม่ควรใช้ตัวแก้ปัญหาที่พวกเขาแนะนำเนื่องจากเทคโนโลยีการปรับให้เหมาะสมนั้นดีขึ้นมากตั้งแต่นั้นมา)


ฉันจะใช้วิธีการใดเพื่อกำหนดรูปทรงเรขาคณิตของพารามิเตอร์
Paul

ดูการเพิ่มคำตอบของฉัน
Arnold Neumaier

@ พอล: ฉันเพิ่งแก้ไขข้อผิดพลาดโง่ ๆ ในการเขียนของฉัน - แน่นอนว่าพารามิเตอร์ทางเรขาคณิตอาจไม่ต่อเนื่องหรือต่อเนื่อง!
Arnold Neumaier

3

เท่าที่การแปรปรวนของรูปทรงเรขาคณิตนั้นเป็นปัญหา (ตามที่เจฟฟ์ชี้ให้เห็นว่าไม่มีความสำคัญ) - ฉันสามารถแนะนำเบรนด้ากัลตัน -อย่างจริงใจขอแนะนำวิธีการแทนรูปทรงเรขาคณิตพาราเมตริกแบบสากล, เจเครื่องบิน, ปีที่ 45, ฉบับที่ 1

วิธีการอธิบายที่ใช้ในการเพิ่มประสิทธิภาพอากาศพลศาสตร์ของเครื่องบิน


3

นอกจากนี้ยังมีการปรับพื้นที่ให้เหมาะสมซึ่งดูเหมือนจะเร็วกว่าการปรับพารามิเตอร์ตามมาตรฐานใน CFD เมื่อเร็ว ๆ นี้มันได้รับความนิยมเพิ่มขึ้นอย่างมากในชุมชน CFD โดยทั่วไปและใน OpenFOAM โดยเฉพาะ ขณะนี้เรากำลังจัดการประชุมเชิงปฏิบัติการเกี่ยวกับ OpenFOAM และเราได้รับผลงานที่เป็นนามธรรมมากมายเกี่ยวกับวิธีนี้ หากคุณสนใจลองดูที่นี่สำหรับข้อมูลอื่นเพียงแค่ google "adjoint การปรับรูปร่างพื้นที่ใน CFD"

ข้อมูลเพิ่มเติม:

หากคุณสามารถใช้ OpenFOAM มีห้องสมุดตามงูใหญ่ที่ใช้สำหรับสิ่งนั้นเพียงเพื่อจัดการกับจำนวนมากของคดีและเปลี่ยนพารามิเตอร์ของพวกเขาเรียกว่าPyFoam สำหรับเรขาคณิตอย่างง่ายคุณสามารถกำหนด mesh เป็นblockMeshแบบง่ายและวนซ้ำสิ่งที่คุณต้องการ สำหรับกรณีง่ายๆนี่คือคำถามของการเขียนสองสามลูปใน Python นี่เป็นวิธีที่สคริปต์ดูเหมือนว่าหากคุณเปลี่ยนความเร็วของเงื่อนไขขอบเขต "ขาเข้า" การเปลี่ยนแปลงรูปทรงตาข่ายแบบเรียบง่ายจะเป็นโค้ดอีกไม่กี่บรรทัด ...


2

คุณจะต้อง:

  1. เครื่องมือเพิ่มประสิทธิภาพและ
  2. เครื่องมือ CFD ที่มีความสามารถ (ยืดหยุ่น) เพียงพอที่จะจัดการกับการออกแบบที่แตกต่างภายในแนวคิดที่เป็นรูปธรรมหรือแม้แต่เป็นของแนวคิดที่แตกต่างกัน

คุณสมบัติต่อไปนี้มีความสำคัญสำหรับเครื่องมือ CFD:

  • ประสิทธิภาพการคำนวณสูง (ความเร็ว) เพื่อรักษาจำนวนการออกแบบแยกต่างหากในระยะเวลาที่เหมาะสม
  • ความยืดหยุ่นสูงและความน่าเชื่อถือของเทคนิคตัวเลขเพื่อแยกการแทรกแซงด้วยตนเองลงในกระบวนการค้นหา / วิเคราะห์
  • การยศาสตร์เชิงเรขาคณิตแบบโปรแกรม

ดังนั้นฉันสามารถแนะนำซอฟต์แวร์ต่อไปนี้:

  1. Insight Toolkitซึ่งมีเครื่องมือเพิ่มประสิทธิภาพจำนวนมากที่สามารถใช้ร่วมกับ
  2. ห้องสมุดจำลองขั้นสูงที่ให้บริการ

    • ประสิทธิภาพสูง:

      • ห้องสมุดเร่งฮาร์ดแวร์คือสามารถใช้ GPU หรือฮาร์ดแวร์ FPGA (ถ้ามี) ซึ่งหมายถึงความเร็ว 10-100 เมื่อเทียบกับโปรแกรมที่ใช้ CPU นอกจากนี้ใน CPU ทั่วไปยังใช้คุณสมบัติขั้นสูงเช่น SIMD
      • มันขึ้นอยู่กับวิธีการรวบรวมแบบไดนามิกซึ่งหมายความว่าไม่จำเป็นต้องเสียสละประสิทธิภาพเพื่อความยืดหยุ่น ผลลัพธ์นี้เพิ่มความเร็วได้สูงสุดถึง 10 เท่าเมื่อเทียบกับเทคนิคการรวบรวมมาตรฐาน
      • ASL สามารถใช้ในโครงสร้างพื้นฐานของคลัสเตอร์และในคอมพิวเตอร์หลาย GPU
    • ความยืดหยุ่นสูงและความน่าเชื่อถือ:

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.