ไลบรารีใดบ้างที่มีการสนับสนุนระดับสูงสำหรับ multigrid


17

ฉันวางแผนที่จะใช้หลายค่าเพื่อคำนวณค่าลักษณะเฉพาะและเวกเตอร์และฉันสังเกตเห็นว่า PETSc มีการรองรับหลายระดับในระดับสูง เอกสาร PETSc บอกว่าไม่ควรใช้ส่วนของ PETSc เพราะมันจะถูกแทนที่ในไม่ช้า

ห้องสมุดอื่นใดที่มีการสนับสนุนระดับสูงสำหรับ multigrid และคร่าว ๆ ว่า PETSc จะปล่อยการสนับสนุน multigrid ใหม่เร็ว ๆ นี้?


2
MG ใหม่มีใน petc-dev และใช้งานได้เช่นเดียวกับตัวแก้ GAMG ใหม่ เรากำลังรอที่จะปล่อยจนกว่าเราจะสามารถเปลี่ยนทุกตัวอย่าง (และมีหลายร้อย) ฉันเพิ่งจะเริ่มใช้ Petsc-dev ตอนนี้
Matt Knepley

คำตอบ:


7

ทั้ง PETSc และ Trilinos มีวิธีการทางพีชคณิตแบบมัลติดีที่ดี

การดำเนินการ deal.II วิธี multigrid เรขาคณิตสำหรับ discretizations องค์ประกอบ จำกัด , ดูตัวอย่างขั้นตอน-16 โปรแกรมกวดวิชา


2
PETSc ทำเรขาคณิต MG หากคุณใช้กริด DMDA (คาร์ทีเซียน) ตั้งแต่นั้นมาเรารู้วิธีการสร้างตัวแทรกและปัญหาหยาบ
Matt Knepley

11

PETSc multigrid (ในฐานะที่เป็นเงื่อนไขล่วงหน้า) ค่อนข้างเป็นผู้ใหญ่และอาจใช้กับตัวแก้ KSP (วิธีวนซ้ำแบบวนซ้ำ) ใน PETSc โดยพิมพ์:

-pc_type mg

อย่างไรก็ตามสิ่งนี้ต้องการให้คุณมีวิธีในการสร้างระดับหยาบเช่นมีกริดที่มีโครงสร้างที่กำหนดโดยวัตถุ PETSc DA ซึ่งจะหยาบโดยอัตโนมัติ

หรือถ้าคุณต้องการใช้มัลติพีชคณิตพีชคณิตจากแพ็คเกจ HYPRE คุณสามารถใช้

-pc_type hypre

หรือจากแพ็คเกจ ML ด้วย

-pc_type ml

สิ่งเหล่านี้จะถูกดาวน์โหลดในระหว่างกระบวนการกำหนดค่าโดยการต่อท้าย

--download-hypre=1 --download-ml=1

ไปยัง. / config ของคุณบรรทัดคำสั่ง

ส่วนที่คิดค่าเสื่อมราคา (ตอนนี้) คือเฟรมเวิร์ก DMMG ซึ่งจะถูกแทนที่ด้วย SNAS (ไม่เชิงเส้น) แก้ปัญหา FAS และสนับสนุนการจัดการ discretizations หลายระดับได้ดีขึ้นในขณะที่ใช้ MG หรือ FAS อย่างที่เราพูด การทดแทนอื่น ๆ (สำหรับปัญหาเชิงเส้น) คือ

-pc_type gamg -pc_gamg_type sa

นี่เป็นรหัสใหม่ที่มาจากภาษาพื้นเมืองใน PETSc ซึ่งสามารถปรับขนาดได้หลายระดับแบบพีชคณิตแบบรวมเรียบ

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