เชื่อมต่อวิธีการ FEM DG ไปยังนักแก้ปัญหา Riemann


9

มีเอกสารและรหัสที่ดีหรือไม่ที่คู่ galerkin finite element solver กับ Riemann solver หรือไม่?

ฉันจำเป็นต้องสำรวจปัญหาเกี่ยวกับรูปไข่และการผ่อนชำระซึ่งกันและกัน แต่วิธีการแยกส่วนใหญ่เป็นแบบเฉพาะกิจที่ดีที่สุด เนื่องจากฉันมีรหัส FEniCS จำนวนมากฉันจึงขอเพียงผู้แก้ปัญหา Riemann มาจับคู่กับมัน ในขณะที่นักแก้ปัญหาไข่ปลาเรียบง่ายจะเป็นจุดเริ่มต้นฉันกำลังมองหาแนวทางในการใช้วิธีการที่ซับซ้อนมากขึ้น


1
ตัวแก้ปัญหา DG ทั้งหมดสำหรับปัญหาไฮเปอร์โบลิกใช้ตัวแก้ Riemann บางทีคุณอาจต้องการถามเกี่ยวกับการแก้ปัญหาวิธีไฮเพอร์โบลิก - วงรีผสมกับวิธี DG
David Ketcheson

@DavidKetcheson ฉันเห็นในความคิดเห็นแรกของคุณกับคำถาม:> * นักแก้ปัญหา DG ทุกคนสำหรับปัญหาไฮเปอร์โบลิกใช้นักแก้ปัญหา Riemann * ฉันกำลังทำงานกับแบบฟอร์มรหัส Warburton สำหรับ 1D euler พวกเขามีตัว จำกัด ความชันตามที่คาดไว้จากรหัส DG ส่วนใหญ่ แต่ฉันไม่แน่ใจว่าได้เห็นฟังก์ชั่นที่แก้ฟลักซ์ที่ไม่ต่อเนื่องบนอินเทอร์เฟซตามทิศทางการไหล ฉันเป็นมือใหม่ใน CFD และยังไม่เจอรหัส Riemann Solver จนกว่าจะถึงตอนนี้ ฉันมีรหัสโดย Dr. Katate Masatsuka โดยใช้ตัวแก้ Riemann โดยประมาณของ Roe แต่เป็นรหัส FV ฉันไม่แน่ใจว่ามี Riemann Solver Imp หรือไม่
Suyash Sharma

1
หากคุณมีคำถามใหม่โปรดขอได้โดยคลิกที่ถามคำถามปุ่ม รวมลิงค์ไปยังคำถามนี้หากช่วยระบุบริบท - จากรีวิว
Christian Clason

คำตอบ:


5

ฉันขอแนะนำให้ดูที่วรรณกรรมเกี่ยวกับวิธีการ DG สำหรับการไหลที่ไม่สามารถบีบอัดซึ่งมีอักขระไฮเพอร์โบลิก - รูปไข่ผสมที่คุณพูดถึง มีวิธีการมากมาย ตัวอย่างเช่นกระดาษนี้ใช้ตัวแก้ Riemann ที่แน่นอน อันนี้แนะนำให้ใช้พื้นที่ไม่ต่อเนื่องสำหรับส่วนไฮเพอร์โบลิกและส่วนต่อเนื่องสำหรับส่วนรูปไข่


5

เช่นเดียวกับวิธีการสั่งซื้อที่สูงจำนวนมากความแม่นยำของโครงร่างมักจะมีความอ่อนไหวน้อยต่อตัวแก้ Riemann อย่างไรก็ตามไม่มีเอกสาร DG สำหรับปัญหาการผ่อนชำระเกินจริงที่จะใช้ค่าเฉลี่ย ตัวเลือกที่พบบ่อยที่สุดคือฟลักซ์ Rusanov (aka. Lax-Friedrichs) ซึ่งง่ายมากถ้าคุณมีขอบเขตบนสำหรับความเร็วของคลื่นที่เร็วที่สุด


2
จุดดี. นักแก้ปัญหา Riemann ที่ซับซ้อนมักจะใช้ทักษะมากเกินไปโดยเฉพาะอย่างยิ่งหากคุณมีการแยกส่วนที่ซับซ้อน
David Ketcheson

1
@DavidKetcheson ไม่นักแก้ปัญหา Riemann ที่ดีนั้นไม่ทำงานหนักเกินไปโดยเฉพาะอย่างยิ่งคนที่ซับซ้อนมาก ๆ ซึ่งมีราคาค่อนข้างแพงกว่า Lax-Friedrichs ลำดับความแม่นยำสูงและข้อผิดพลาดในการแก้ปัญหานั้นไม่เหมือนกัน แม้ว่าพวกเขาจะไม่ส่งผลกระทบต่อลำดับความถูกต้อง แต่ตัวแก้ปัญหา Riemann ที่ดีจะลดข้อผิดพลาดของคุณลงได้อย่างมากสำหรับต้นทุนการคำนวณที่เพิ่มขึ้น
gnzlbg

@DavidKetcheson หากถูกต้องเขาหมายถึงข้อผิดพลาดใช่มัน ถ้าเขาหมายถึงความแม่นยำมันก็ไม่ได้
gnzlbg

1
@gnzlbg ในกรณีส่วนใหญ่การใช้ตัวแก้ปัญหา Riemann ที่ดีกว่าด้วยวิธีการสั่งซื้อที่สูงนั้นค่อนข้างจะเป็นการล้าง ตัวอย่างเช่นบทความนี้เปรียบเทียบ LxF กับ HLLC และพบว่าข้อผิดพลาดครึ่งหลังที่ดีที่สุดในตารางเดียวกัน เป็นวิธีการสั่งซื้อลำดับที่ห้าซึ่งเทียบเท่ากับการปรับแต่ง 13% ซึ่งมีค่าใช้จ่ายเพิ่มเติมที่คล้ายคลึงกัน โปรดทราบว่าวิธีการสั่งซื้อประเภทที่สองอย่างเป็นทางการชนิด "WENO5" นั้นมีความแม่นยำมากกว่าวิธีการสั่งซื้อ TVD ลำดับที่สอง
Jed Brown

1
@JedBrown แน่นอนฉันเห็นด้วยกับคุณอย่างสมบูรณ์สำหรับ HLL, HLLC, Roe ... มันเป็นฟลักซ์ทั่วไปที่ถูกต้องและค่อนข้างหนักกับค่าใช้จ่ายในการคำนวณ ฉันหมายถึง แต่ฟลักซ์เฉพาะเช่น AUSM (Euler eqts. และ NS สำหรับการไหลที่อัดได้) ซึ่งราคาถูกมาก (เกือบเท่ากับ LxF) และแม่นยำมาก นอกจากนี้เรายังต้องพิจารณาว่าขั้นตอนเวลามีการปรับแต่งอย่างไร (Δเสื้อO(ชั่วโมง2/พี)ฉันคิดว่า). นอกจากนี้หากคุณมีความไม่ต่อเนื่อง h-refinement และ low p จะไม่ตัดคุณจะต้องมีฟลักซ์ที่ดี ฉันไม่สามารถแสดงความคิดเห็นเกี่ยวกับโครงร่าง ENO / WENO ได้เพียง DG
gnzlbg
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.