Parallel Implicit Algorithms for CFD

The main goal of this project was efficient distributed parallel and workstationcluster implementations of Newton-Krylov-Schwarz (NKS) solvers for implicitCFD. "Newton" refers to a quadratically convergent nonlinear iteration usinggradient information based on the true residual, "Krylov" to an inner lineariteration that accesses the Jacobian matrix only through highly parallelizablesparse matrix-vector products, and "Schwarz" to a domain decomposition formof preconditioning the inner Krylov iterations with primarily neighbor-only ex-change of data between the processors. Prior experience has established thatNewton-Krylov methods are competitive solvers in the CFD context and thatKrylov-Schwarz methods port well to distributed memory computers. The com-bination of the techniques into Newton-Krylov-Schwarz was implemented on 2Dand 3D unstructured Euler codes on the parallel testbeds that used to be atLaRC and on several other parallel computers operated by other agencies ormade available by the vendors. Early implementations were made directly inMPI with parallel solvers we adapted from legacy NASA codes and enhancedfor full NKS functionality. Later implementations were made in the frameworkof the PETSc library from Argonne National Laboratory, which now includespseudo-transient continuation Newton-Krylov-Schwarz solver capability (as aresult of demands we made upon PETSc during our early porting experiences).A secondary project pursued with funding from this contract was parallelimplicit solvers in acoustics, specifically in the Helmholtz formulation. A 2Dacoustic inverse problem has been solved in parallel within the PETSc frame-work.