ปัญหา
ขณะนี้ฉันกำลังทำงานกับการจำลองสถานการณ์ไฟไนต์เอลิเยร์สโต๊คและฉันต้องการตรวจสอบผลกระทบของพารามิเตอร์ที่หลากหลาย บางพารามิเตอร์ถูกระบุในไฟล์อินพุตหรือผ่านตัวเลือกบรรทัดคำสั่ง มีการระบุพารามิเตอร์อื่น ๆ เป็นแฟล็กใน Makefile เพื่อให้โค้ดของฉันต้องถูกคอมไพล์ใหม่ทุกครั้งที่ฉันเปลี่ยนตัวเลือกเหล่านั้น ฉันสนใจที่จะรับคำแนะนำเกี่ยวกับวิธีที่ดีในการสำรวจพื้นที่พารามิเตอร์อย่างเป็นระบบ
- มีไลบรารี / กรอบงาน C ++ / Python ที่มีประโยชน์ที่สามารถช่วยแก้ไขสิ่งนี้ได้ไหม? ตัวอย่างเช่นการค้นพบboost.Program_optionsเป็นความช่วยเหลือที่ยิ่งใหญ่เนื่องจากเป็นไปได้ที่จะโอเวอร์โหลดตัวเลือกไฟล์อินพุตด้วยอาร์กิวเมนต์บรรทัดคำสั่ง ฉันเคยเห็นบางคนใช้ไฟล์งานที่อธิบายแต่ละกรณีค่อนข้างมีประสิทธิภาพและเพื่อนร่วมงานแนะนำว่าการเขียนพารามิเตอร์ลงในไฟล์ vtu เนื่องจากบล็อกข้อคิดเห็นสามารถใช้งานได้เช่นกัน
- บางทีมันอาจไม่คุ้มค่ากับการลงทุนเวลานี้ มันเป็นเพียงสิ่งที่ทำให้ไขว้เขวและเสียเวลาและเป็นวิธีที่ดีที่สุดเพียงแค่กล้ามเนื้อผ่านกระบวนการทดสอบกำลังดุร้ายและเฉพาะกิจ
ความคิดบางอย่าง
ขณะนี้ฉันกำลังทำสิ่งต่าง ๆ ด้วยมือเป็นส่วนใหญ่และฉันพบปัญหาต่อไปนี้:
- การตั้งชื่อกรณีทดสอบ
Re100_dt02_BDF1...
ฉันพยายามเก็บผลในโฟลเดอร์ที่ชื่อมีพารามิเตอร์วิ่งคั่นด้วยขีดเช่น สิ่งเหล่านี้กลายเป็นยาวหรือยากต่อการอ่าน / เข้ารหัสหากพวกมันยากเกินไป นอกจากนี้พารามิเตอร์จำนวนจริงรวมถึงสิ่ง.
ที่น่าอึดอัดใจ / น่าเกลียด - บันทึกข้อมูลการวิ่ง บางครั้งฉันต้องการเห็นผลลัพธ์ที่เขียนไปยังเทอร์มินัลและบันทึกลงในไฟล์ข้อความ อินสแตนซ์คำตอบจาก StackOverflow นี้ค่อนข้างมีประโยชน์ แต่โซลูชันดูเหมือนจะน่ารำคาญเล็กน้อย
- พล็อตข้อมูลตามพารามิเตอร์ ใช้เวลาค่อนข้างนานในการรวบรวมข้อมูลที่เกี่ยวข้องจากไฟล์บันทึกต่าง ๆ เป็นไฟล์เดียวซึ่งฉันสามารถทำพล็อตได้ด้วยระบบที่ดีกว่าบางทีนี่อาจจะง่ายขึ้น
- ความคิดเห็นเกี่ยวกับการบันทึกข้อมูล หลังจากตรวจสอบผลลัพธ์ฉันเขียนข้อคิดเห็นในไฟล์ข้อความ แต่การเก็บข้อมูลนี้เป็นการซิงค์กับโฟลเดอร์ผลลัพธ์บางครั้งก็ยาก