A multiscale perspective on density functional theory
for inhomogeneous fluids

Michael A Heroux
18125 Kreigle Lake Rd, Avon MN 56310
maherou@sandia.gov
Laura J D Frink, Andrew G Salinger

Some modeling and simulations efforts have historically encompassed multiscale phenomena without explicitly handling multiscale features. One such area is density functional theories for inhomogeneous fluids (Fluid-DFTs). In this presentation we look at Fluid-DFTs from a fresh perspective, calling out the fact that Fluid-DFTs incorporate multiple length scales that are introduced in a way such that each longer scale increases the fidelity of the model. By viewing Fluid-DFTs from this perspective, we develop a mathematical framework and a collection of solution algorithms that have a dramatic impact on the robustness, performance and scalability of the implicit equations generated by Fluid-DFTs.

The basic framework for all of our solver algorithms reflects the importance of inter-physics coupling in the extended variable formulation of the Fluid-DFTs. This physics coupling led us to a physics-based block matrix formulation in order to partition critical and nonlocal ancillary variables. The idea is to partition the data into blocks that can be optimally managed or solved. The general $ 2\times 2$ block matrix is

\begin{displaymath}
\left(
\begin{array}{ccc\vert ccc} A_{11}^{11} & \cdots & A_...
...\\ \hline b_2^{j+1} \\ \vdots \\ b_2^k \\
\end{array} \right)
\end{displaymath}

where $ k$ is the number of DOFs tracked per node. The superscript $ (p, q)$ denotes the block of coefficients generated by DOF $ p$ interactions with DOF $ q$. The subscripts and partition lines impose a coarser partitioning of the matrix into a $ 2\times 2$ block system that will be used with a Schur complement approach. We denote by $ A_{11}$, $ A_{12}$, $ A_{21}$ and $ A_{22}$ the upper left, upper right, lower left and lower right submatrix of the coarse $ 2\times 2$ block matrix, respectively. Similarly $ x_1$ and $ x_2$, and $ b_1$ and $ b_2$ are the upper and lower parts of $ x$ and $ b$, respectively.

Given this two-level structure, the basic strategy for solving each global linear system generated by Newton's method is as follows:

  1. Identify and reorder DOFs $ 1$ through $ j$ such that $ A_{11}^{-1}$ (the inverse of $ A_{11}$) is easy to apply (in parallel).
  2. Determine a preconditioner $ P$ for $ S = A_{22} -
A_{21}A_{11}^{-1}A_{12}$, the Schur complement of $ A$ with respect to $ A_{22}$.
  3. Solve $ Sx_2 = (b_2 - A_{21}b_1)$ using a preconditioned Krylov method such as GMRES, with preconditioner $ P$. Note that $ S$ may or may not be explicitly formed, depending on other problem details.
  4. Finally, solve for $ x_1 = A_{11}^{-1}(b_1 - A_{12}x_2)$.

Given this basic framework, we will describe specific solvers for special categories of Fluid-DFT problems, including 2 and 3 dimensional hard-sphere problems and polymer chains. We give results for several problem areas including nanopore and lipid bi-layer models where this Schur complement approach provides one to two orders of magnitude improvement in performance and an order of magnitude reduction in memory requirements.