Current Projects:

Composable Nonlinear Solvers:

Diagram of Composable Solvers.

Solution of nonlinear systems of Partial Differential Equations are important to any number of scientific applications. I seek to extend the set of solvers used in practice beyond the standard Newton-Krylov scheme. Nonlinear preconditioning and composition allow for combinations of solvers akin to preconditioned and composite linear solvers, with a cornucopia of available nestings and combinations that may yield high-performance nonlinear solvers for difficult problems.

Extending nonlinear solvers to include notions of composition, preconditioning, locality, and hierarchy may also expose new opportunities for parallelism. Additive splittings and compositions are low-communication ways of exploiting the performance characteristics of different nonlinear algorithms. Discarding the Newton-Krylov model, which relies upon memory-bandwidth intensive matrix-vector products, allows hierarchical nonlinear algorithms to get a high percentage of peak on modern architectures.

Multilevel nonlinear algorithms, such as the Full Approximation Scheme, allow this idea to be taken even further. By allowing multilevel nonlinear compositions, we may create near-optimal methods for nonlinear equations that have good memory and communication profiles on large machines.

This work is available in PETSc. The software produced in the process of this work includes freely-available library implementations of:

These are accessible from the command line to any application using PETSc. Try them on your slow-converging nonlinear problem today with no additional effort! They are also fully compatible with PETSc's implicit timesteppers. Methods requiring hierarchies or subdomains work seamlessly with the PETSc structured grid interface.

Robust Multigrid Methods:

Multilevel methods, both for linear (MG) and nonlinear (FAS) problems, enable an unprecedented amount of algorithmic robustness in comparison to more traditional approaches. In addition to the work on multilevel nonlinear solvers and their flexible application to interesting problems outlined briefly above, I have been exploring the space of robust algebraic multigrid methods. In particular, I have been focusing on the bootstrap variants, which use an initial multigrid hierarchy to discover the near-nullspace of the operator and build interpolation operators that are optimized to transfer these modes at each level.

Past Projects:

Optimal Algorithms:

Hierarchy of meshes for an "interesting" domain.

The applicability of geometric multigrid methods is limited by the degree to which one can guarantee good behavior. I have combined technologies from computational geometry, automated finite element methods, and multilevel methods to attempt to create coarse spaces that work for a variety of problems. I focused on problems with non-quasi-uniform meshes, and am extending it to anisotropy and nonlinear problems.

Integral Operators and Bioelectrostatics:

Mesh of a Trypsin molecule generated from a PDB file.

Integral operators for bioelectrostatics allow for the computation of nonlocal solvent and ion effects required to accurately capture solvation dynamics in biological systems such as proteins. In particular this work is aimed at providing reasonable computational and algorithmic frameworks to calculate solvation effects given interesting models of water as a dielectric. In order to do this, I have developed a finite element implementation of these models and am in the process of getting it to the point where I can calculate physical quantities, like the solvation free energy, small and medium sized molecules. This includes automating the mesh generation of interesting geometries, as shown above.

Efficient Classical DFT:

Cartoon of an Ion Channel Configuration.

The other part of this effort is speeding up the calculation of the non-local effects in classical DFT calculations around ion-channels. The reference-density approach to this problem requires the construction of a "reference density", which is basically an ion concentration modified to remove screening effects. The interaction of the ions is expanded around this. The calculation of this is a difficult problem as it is essentially a pseudoconvolution; a convolution where the filter is dependent upon the position in the domain. I have explored two interesting options for doing this pseudoconvolution: acceleration using CUDA, and fast approximation.

Automation of Scientific Computing:

Isoparametric Boundaries for Flow Problems.

I have also put a fair amount of effort into automating other interesting problems in scientific computing, including working on the automated use of parametric geometry information with standard FEM software.










Visiting Positions:


Software Projects: