domain decomposition methods
**Domain Decomposition Methods** — Domain decomposition divides a computational domain into subdomains assigned to different processors, enabling parallel solution of partial differential equations and other spatially-structured problems by combining local solutions with boundary exchange communication.
**Spatial Partitioning Strategies** — Dividing the domain determines communication and load balance:
- **Regular Grid Decomposition** — structured grids are divided into rectangular blocks along coordinate axes, producing simple communication patterns with predictable load distribution
- **Recursive Bisection** — the domain is recursively split along the longest dimension, creating balanced partitions that adapt to irregular domain shapes and non-uniform computational density
- **Graph-Based Partitioning** — tools like METIS and ParMETIS model the mesh as a graph and partition it to minimize edge cuts while maintaining balanced vertex weights across partitions
- **Space-Filling Curves** — Hilbert or Morton curves map multi-dimensional domains to one-dimensional orderings that preserve spatial locality, enabling simple partitioning with good communication characteristics
**Ghost Cell Communication** — Boundary data exchange enables local computation:
- **Halo Regions** — each subdomain is extended with ghost cells that mirror boundary values from neighboring subdomains, providing the data needed for stencil computations near partition boundaries
- **Exchange Protocols** — at each time step or iteration, processors exchange updated ghost cell values with their neighbors using point-to-point MPI messages or one-sided communication
- **Halo Width** — the number of ghost cell layers depends on the stencil width, with wider stencils requiring deeper halos and proportionally more communication per exchange
- **Asynchronous Exchange** — overlapping ghost cell communication with interior computation hides latency by initiating non-blocking sends and receives before computing interior points
**Non-Overlapping Domain Decomposition** — Subdomains share only boundary interfaces:
- **Schur Complement Method** — eliminates interior unknowns to form a reduced system on the interface, which is solved iteratively before recovering interior solutions independently
- **Balancing Domain Decomposition** — a preconditioner that ensures the condition number of the interface problem grows only polylogarithmically with the number of subdomains
- **FETI Method** — the Finite Element Tearing and Interconnecting method uses Lagrange multipliers to enforce continuity at subdomain interfaces, naturally producing a parallelizable dual problem
- **Iterative Substructuring** — alternates between solving local subdomain problems and updating interface conditions until the global solution converges
**Overlapping Domain Decomposition** — Subdomains share overlapping regions for improved convergence:
- **Additive Schwarz Method** — all subdomain problems are solved simultaneously and their solutions are combined, providing natural parallelism with convergence rate depending on overlap width
- **Multiplicative Schwarz Method** — subdomain problems are solved sequentially using the latest available boundary data, converging faster but offering less parallelism than the additive variant
- **Restricted Additive Schwarz** — each processor only updates its owned portion of the overlap region, reducing communication while maintaining convergence properties
- **Coarse Grid Correction** — adding a coarse global problem that captures long-range interactions dramatically improves convergence, preventing the iteration count from growing with the number of subdomains
**Domain decomposition methods are the primary approach for parallelizing PDE solvers in computational science, with their mathematical framework providing both practical scalability and theoretical convergence guarantees for large-scale simulations.**