High fidelity simulation of solidification problems involves free surface flow, heat transfer, phase change, and surface effects, generally in complex geometries. Crucial to these simulations is efficient parallel solution of large systems of linear equations resulting from the implicit discretization of elliptic and parabolic PDEs. In this talk we describe our efforts to develop scalable, parallel approaches for accelerating the solution of these linear systems through domain decomposition, preconditioning, and hierarchical approaches. We will describe a 2-level Additive-Schwartz (AS) preconditioning method which we have developed to accelerate convergence and reduce the iteration count of the global solve. In all cases, a global solve is still required, but is made less costly by efficient preconditioning.
Parallelism is achieved by domain decomposition, whereby the mesh is decomposed into domains, and the domains are mapped onto processors. A naive solution step solves the global linear system (which is distributed across all processors), hence requires inter-processor communication, which we strive to avoid during preconditioning.
In our preconditioning scheme, we first solve the preconditioning equations (with appropriate boundary conditions) on each domain independently, and then piece the solutions together. That is the AS aspect of our preconditioner. Since we are solving the equations independently on each domain, we can use solvers that normally don't parallelize well (such as ILU) and that offer better preconditioning then some of the easy to parallelize solvers (i.e. Jacobi).
To move towards a more scalable solution technique we have added a 2-level component to the preconditioning algorithm. We let each domain be a single cell of an adjunct coarse mesh, and collapse the equation system to a much smaller system, with the number of unknowns being the same as the number of domains in the decomposition. The linear system on this coarse mesh is determined from the linear system on the fine mesh. We solve on the coarse mesh to determine the long wavelength components of the solution, incorporate these components in the fine mesh solution, and then solve independently on each domain of the fine mesh to determine the shorter wavelength components, resulting in a multi-grid-like V-cycle.
Performance results from simulations using this 2-level AS technique will be presented.