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 ซึ่งสามารถปรับขนาดได้หลายระดับแบบพีชคณิตแบบรวมเรียบ