นี่เป็นจุดประสงค์หลักสำหรับ PDEs รูปไข่ผ่านโดเมนนูนเพื่อให้ฉันได้ภาพรวมที่ดีของทั้งสองวิธี
นี่เป็นจุดประสงค์หลักสำหรับ PDEs รูปไข่ผ่านโดเมนนูนเพื่อให้ฉันได้ภาพรวมที่ดีของทั้งสองวิธี
คำตอบ:
วิธีการแยกย่อยโดเมนหลายระดับและหลายระดับมีเหมือนกันมากโดยทั่วไปแต่ละวิธีสามารถเขียนเป็นกรณีพิเศษของอีกวิธีหนึ่ง กรอบการวิเคราะห์ค่อนข้างแตกต่างกันซึ่งเป็นผลมาจากปรัชญาที่แตกต่างกันของแต่ละสาขา โดยทั่วไปวิธีการ multigrid ใช้อัตราอนุภาคในระดับปานกลางและsmoothers ง่ายขณะที่วิธีการสลายตัวโดเมนใช้มากอนุภาคอย่างรวดเร็วและsmoothers แข็งแกร่ง
Multigrid ใช้อัตรา coarsening ปานกลางและรับความทนทานผ่านการแก้ไข interpolation และ smoothers สำหรับปัญหารูปไข่ผู้ดำเนินการแก้ไขควรเป็น "พลังงานต่ำ" เช่นที่พวกเขารักษาพื้นที่ใกล้เป็นศูนย์ของผู้ประกอบการ (เช่นโหมดตัวแข็ง) ตัวอย่างวิธีการเชิงเรขาคณิตสำหรับหน่วยแทรกสอดพลังงานต่ำเหล่านี้คือWan, Chan, Smith (2000) , เปรียบเทียบกับการสร้างพีชคณิตของการรวมตัวที่ราบรื่นของVaněk, Mandel, Brezina (1996) (การใช้งานแบบขนานในMLและPETScผ่าน PCGAMG แทนPrometheus ) . หนังสือ Trottenberg, Oosterlee และSchüllerเป็นข้อมูลอ้างอิงทั่วไปที่ดีเกี่ยวกับวิธีการ Multigrid
Multigrid smoothers ส่วนใหญ่เกี่ยวข้องกับการผ่อนปรนแบบจุดเดียวไม่ว่าจะเป็นการเพิ่ม (Jacobi) หรือการคูณ (Gauss Seidel) สิ่งเหล่านี้สอดคล้องกับปัญหา Dirichlet (โหนดเดี่ยวหรือองค์ประกอบเดียว) เล็ก ๆ บางสเปกตรัมปรับตัวทนทานและ vectorizability สามารถทำได้โดยใช้ smoothers เซฟดูอดัมส์ Brezina อู่, Tuminaro (2003) สำหรับปัญหาที่ไม่สมมาตร (เช่นการขนส่ง) โดยทั่วไปจำเป็นต้องมีเครื่องปรับแบบนุ่มแบบเกาส์ - เซเดลและอาจใช้ interpolants แบบ upwind อีกวิธีหนึ่งคือการสร้างสมูทเทอร์สำหรับจุดอานและปัญหาคลื่นแข็งโดยการเปลี่ยนผ่าน "บล็อก preconditioners" แรงบันดาลใจจาก Schur - ส่วนประกอบหรือที่เกี่ยวข้อง "กระจายผ่อนคลาย" เป็นระบบที่เรียบง่ายมีประสิทธิภาพ
ประสิทธิภาพ Multigrid ของตำราเรียนหมายถึงการแก้ไขข้อผิดพลาดในการแยกส่วนย่อยในค่าใช้จ่ายเล็ก ๆ น้อย ๆ ของการประเมินที่เหลือเพียงไม่กี่อย่างเช่นเพียงสี่เท่าในตารางที่ละเอียด นี่ก็หมายความว่าจำนวนการทำซ้ำไปยังความทนทานพีชคณิตคงที่ลดลงเมื่อจำนวนของระดับเพิ่มขึ้น ในแบบขนานการประมาณเวลาเกี่ยวข้องกับคำลอการิทึมที่เกิดขึ้นเนื่องจากการซิงโครไนซ์โดยนัยโดยลำดับชั้น multigrid
วิธีการสลายตัวโดเมนแรกมีเพียงระดับเดียว ไม่มีระดับหยาบหมายเลขเงื่อนไขของตัวดำเนินการที่กำหนดเงื่อนไขไว้ต้องไม่น้อยกว่าโดยที่Lคือเส้นผ่านศูนย์กลางของโดเมนและHคือขนาดโดเมนย่อยที่ระบุ ในทางปฏิบัติหมายเลขเงื่อนไขสำหรับ DD ระดับเดียวจะอยู่ระหว่างขอบเขตนี้และO(L2)โดยที่hคือขนาดองค์ประกอบ โปรดทราบว่าจำนวนการวนซ้ำที่จำเป็นโดยวิธี Krylov จะลดขนาดเป็นรากที่สองของหมายเลขเงื่อนไข วิธี Schwarz ที่ปรับปรุงแล้ว(Gander 2006)ปรับปรุงค่าคงที่และการพึ่งพาH/h ที่สัมพันธ์กับวิธี Dirichlet และ Neumann แต่โดยทั่วไปจะไม่รวมระดับหยาบและทำให้เสื่อมโทรมในกรณีของโดเมนย่อยจำนวนมาก ดูหนังสือโดยSmith, Bjørstadและ Gropp (1996)หรือToselli และ Widlund (2005)สำหรับการอ้างอิงทั่วไปเกี่ยวกับวิธีการย่อยสลายโดเมน
สำหรับอัตราคอนเวอร์เจนซ์ที่ดีที่สุดหรือกึ่งดีที่สุดจำเป็นต้องมีหลายระดับ วิธีการ DD ส่วนใหญ่จะถูกวางเป็นวิธีการสองระดับและบางวิธีเป็นการยากที่จะขยายไปสู่ระดับที่มากขึ้น วิธีการ DD สามารถจำแนกได้เป็นที่ทับซ้อนกันหรือไม่ทับซ้อนกัน
วิธีการ Schwarz เหล่านี้ใช้การทับซ้อนกันและโดยทั่วไปจะขึ้นอยู่กับการแก้ปัญหา Dirichlet ความแข็งแรงของวิธีการสามารถเพิ่มขึ้นได้โดยการเพิ่มการทับซ้อน คลาสของวิธีการนี้มักจะมีประสิทธิภาพไม่ต้องการการระบุพื้นที่ว่างในท้องถิ่นหรือการแก้ไขทางเทคนิคสำหรับปัญหาเกี่ยวกับข้อ จำกัด ของท้องถิ่น (ทั่วไปในกลศาสตร์ของแข็งวิศวกรรม) แต่เกี่ยวข้องกับการทำงานพิเศษ (โดยเฉพาะใน 3D) เนื่องจากการทับซ้อนกัน นอกจากนี้สำหรับปัญหาที่มีข้อ จำกัด เช่นการบีบอัดค่าคงที่ inf-sup ของแถบที่ทับซ้อนกันมักจะปรากฏขึ้นซึ่งนำไปสู่อัตราการลู่เข้าที่ไม่ดี วิธีการทับซ้อนกันที่ทันสมัยโดยใช้ช่องว่างหยาบคล้ายกับ BDDC / FeTi-DP (กล่าวถึงด้านล่าง) มีการพัฒนาโดยDorhmann, Klawonn และ Widlund (2008)และDohrmann และ Widlund (2010)
วิธีการเหล่านี้มักจะแก้ปัญหาของ Neumann บางประเภทซึ่งหมายความว่าไม่เหมือนกับวิธี Dirichlet พวกเขาไม่สามารถทำงานกับ matrix ที่ประกอบกันทั่วโลกได้และต้องการการฝึกอบรมที่ไม่ได้ประกอบหรือประกอบบางส่วนแทน วิธีการที่นิยมที่สุดของ Neumann บังคับใช้ความต่อเนื่องระหว่างโดเมนย่อยโดยการปรับสมดุลที่การวนซ้ำทุกครั้งหรือโดยการคูณตัวคูณ Lagrange ที่จะบังคับใช้ความต่อเนื่องเพียงครั้งเดียวเมื่อถึงการบรรจบกัน วิธีการเริ่มต้นของการจัดเรียงนี้ (Balancing Neumann-Neumann และ FETI) ต้องการลักษณะที่แม่นยำของพื้นที่ว่างของแต่ละโดเมนย่อยทั้งสองเพื่อสร้างระดับหยาบและเพื่อทำให้ปัญหาโดเมนย่อยไม่ใช่เอกพจน์ วิธีการในภายหลัง (BDDC และ FETI-DP) เลือกมุมโดเมนย่อยและ / หรือช่วงเวลาที่ขอบ / ใบหน้าเป็นองศาอิสระระดับหยาบ ดูKlawonn และ Rheinbach (2007)สำหรับการสนทนาเชิงลึกเกี่ยวกับการเลือกพื้นที่หยาบสำหรับความยืดหยุ่น 3 มิติ Mandel, Dohrmann และ Tazaur (2005)แสดงให้เห็นว่า BDDC และ FETI-DP มีค่าลักษณะเดียวกันทั้งหมดยกเว้น 0 และ 1 ที่เป็นไปได้
วิธีการ DD ส่วนใหญ่จะโพสต์เป็นวิธีการสองระดับเท่านั้นและบางพื้นที่เลือกหยาบที่ไม่สะดวกสำหรับการใช้งานที่มีมากกว่าสองระดับ น่าเสียดายที่โดยเฉพาะอย่างยิ่งใน 3D ปัญหาระดับหยาบกลายเป็นคอขวดอย่างรวดเร็ว จำกัด ขนาดของปัญหาที่สามารถแก้ไขได้ นอกจากนี้ตัวเลขเงื่อนไขของผู้ประกอบการที่มีเงื่อนไขเบื้องต้นโดยเฉพาะอย่างยิ่งสำหรับวิธี DD ที่ยึดตามปัญหาของ Neumann มีแนวโน้มที่จะขยายเป็น
นี่คือการเขียนที่ยอดเยี่ยม แต่ฉันคิดว่าการพูดว่า (หลายระดับ) DD และ MG มีจำนวนมากเหมือนกันไม่ถูกต้องหรืออย่างน้อยก็ไม่มีประโยชน์ วิธีการนั้นแตกต่างกันมากและฉันไม่คิดว่าความเชี่ยวชาญในที่หนึ่งมีประโยชน์มากในที่อื่น ๆ
ก่อนอื่นชุมชนทั้งสองใช้นิยามของความซับซ้อนที่แตกต่างกัน: DD ปรับจำนวนเงื่อนไขของระบบที่มีเงื่อนไขล่วงหน้าและ MG จะปรับความซับซ้อนของงาน / หน่วยความจำให้เหมาะสมที่สุด นี่คือความแตกต่างพื้นฐานที่ยิ่งใหญ่ - "การเพิ่มประสิทธิภาพ" มีความหมายที่แตกต่างกันโดยสิ้นเชิงในบริบททั้งสองนี้ สิ่งต่าง ๆ ไม่เปลี่ยนแปลงเมื่อคุณเพิ่มความซับซ้อนแบบขนาน (แม้ว่าคุณจะได้รับข้อความบันทึกที่เพิ่มเข้ามาใน MG) ชุมชนสองแห่งเกือบพูดภาษาต่างกัน
ประการที่สอง MG มีหลายระดับในตัวและวิธี DD หลายระดับได้รับการพัฒนาด้วยทฤษฎีระดับสองและการใช้งาน สิ่งนี้เป็นการ จำกัด พื้นที่ของพื้นที่กริดแบบหยาบที่คุณสามารถใช้ใน MG ได้ซึ่งจะต้องเรียกซ้ำ ตัวอย่างเช่นคุณไม่สามารถใช้ FETI ในกรอบงาน MG ผู้คนทำวิธี DD หลายระดับตามที่ Jed พูดถึง แต่อย่างน้อยบางวิธี DD ที่เป็นที่นิยมในปัจจุบันดูเหมือนจะไม่สามารถนำไปใช้ซ้ำได้
ประการที่สามฉันเห็นอัลกอริทึมของตัวเองซึ่งแตกต่างกันมาก พูดในเชิงคุณภาพฉันจะบอกว่าวิธีการ DD ฉายขอบเขตของโดเมนและแก้ปัญหาอินเตอร์เฟซนี้ MG ทำงานโดยตรงกับสมการดั้งเดิม การหลีกเลี่ยงการฉายภาพนี้ทำให้ MG สามารถใช้กับปัญหาที่ไม่เชิงเส้นและไม่สมมาตรได้อย่างง่ายดาย แม้ว่าทฤษฎีทั้งหมด แต่หายไปสำหรับปัญหาที่ไม่เชิงเส้นและไม่สมมาตรพวกเขาได้ทำงานให้กับผู้คนจำนวนมาก มกก็แยกปัญหาออกเป็นสองส่วนอย่างชัดเจน: พื้นที่กริดหยาบสำหรับการปรับสเกลและตัวแก้ซ้ำ ๆ (ความนุ่มนวล) เพื่อแก้ปัญหาฟิสิกส์ นี่เป็นสิ่งสำคัญในการทำความเข้าใจและทำงานกับ MG และเป็นคุณสมบัติที่น่าสนใจสำหรับฉัน
แม้ว่าในทางทฤษฎีแล้วสมูทเตอร์และพื้นที่กริดแบบหยาบนั้นจะถูกผนวกเข้าด้วยกันอย่างแน่นหนา แต่ในทางปฏิบัติคุณสามารถสลับไปมาระหว่างกันได้อย่างนุ่มนวลเป็นพารามิเตอร์การปรับให้เหมาะสม ดังที่ Jed กล่าวถึงจุดหรือจุดยอดจุดยอดนิยมและมักจะเร็วขึ้น แต่สำหรับปัญหาที่ท้าทายปัญหาที่หนักกว่าตัวปรับความเร็วจะมีประโยชน์ พล็อตนี้มาจากวิทยานิพนธ์ของฉันที่แสดงเวลาแก้ปัญหาในฐานะฟังก์ชันของอัตราส่วนปัวซองสำหรับ Jacobi บล็อก Jacobi และ "สารเติมแต่ง Schwarz" (ซ้อนทับกัน) มันอ่านยากนิดหน่อย แต่ที่อัตราส่วนปัวซองสูงสุด (0.499) ที่ทับซ้อนกันชวาตซ์นั้นเร็วกว่า Jocobi ประมาณ 2 เท่าในขณะที่มันจะช้ากว่าประมาณ 3 เท่าที่อัตราส่วนปัวซอง
ตามคำตอบของ Jed MG ใช้การทำให้หยาบในระดับปานกลางขณะที่ DD ใช้การทำให้หยาบอย่างรวดเร็ว ฉันคิดว่าสิ่งนี้สร้างความแตกต่างเมื่อพวกเขาขนานกัน จะมีการสื่อสารและการซิงโครไนซ์ทวีคูณสำหรับ MG เพื่อให้ผ่านการรวมกลุ่มหลายระดับที่เทียบเท่ากับการรวมกลุ่มเดียวของ DD อีกประเด็นหนึ่งจากคำตอบของเจดคือ MG ใช้ความนุ่มนวลในราคาถูกและ DD ใช้ความนุ่มนวลมากขึ้น เมื่อพิจารณาสองประเด็นจะมีรายงานว่า MG ที่ระดับหยาบจะมีอัตราส่วนการสื่อสาร / การคำนวณไม่ดี ดังนั้นตาม กฎของอัมดาห์ลการเร่งความเร็วแบบขนานนั้นไม่ดี วิธีการแก้ไขนี้คือการแก้ไขกริดหยาบแบบขนานเช่นตัวแก้ไขเงื่อนไข BPX. นอกจากนี้ MG สามารถใช้ DD ได้อย่างนุ่มนวลกว่าที่ Adams ชี้ให้เห็นและ MG สามารถใช้ภายใน DD ของโดเมนย่อยได้ จากการพิจารณาบาร์เกอร์ได้ชี้ให้เห็นว่าฉันเดาว่าการใช้ MG ภายใน DD นั้นดีกว่าซึ่งเป็นการใช้ประโยชน์จากทั้งคู่ที่เป็นคู่ของ DD และความซับซ้อนที่ดีที่สุดของ MG
ฉันต้องการเพิ่มคำตอบที่ดีเยี่ยมของ Jed อีกเล็กน้อยนั่นคือแรงจูงใจเบื้องหลังทั้งสองวิธีนั้นแตกต่างกัน (หรืออย่างน้อยก็)
การสลายตัวโดเมนเป็นแรงบันดาลใจเป็นเทคนิคสำหรับการคำนวณแบบขนาน โดยเฉพาะอย่างยิ่งสำหรับวิธีการหนึ่งระดับ DD นั้นเป็นเรื่องธรรมดามากที่จะนำไปใช้กับเครื่องคู่ขนาน - คุณแบ่งโดเมนออกเป็นชิ้น ๆ และมอบแต่ละชิ้นให้กับหน่วยประมวลผลที่แตกต่างกัน ในบางกรณีแรงจูงใจที่อยู่เบื้องหลัง DD คือการแบ่งการดำเนินการทางคณิตศาสตร์ระหว่างโปรเซสเซอร์
มีการใช้งานแบบหลายขนานที่ดี แต่มักจะไม่ค่อยเป็นธรรมชาติที่จะต้องทำควบคู่กัน แต่แรงจูงใจที่อยู่เบื้องหลัง Multigrid นั้นคือการดำเนินการทางคณิตศาสตร์น้อยลงตั้งแต่แรก