\documentclass{article}
\textheight 8.75in
\textwidth 6.0in
%\oddsidemargin -0.5in
%\topmargin -0.5in
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{moreverb}
\usepackage{graphicx}
\usepackage[all]{xy}

%\nu \tbu'' - \lambda \tbu - \tgrad \tq & = -\tbR \label{tau_eqn_0a}\\
%\tgrad \cdot \tbu &= 0 \label{tau_eqn_0b} \\
%\tbu(a) = \tbu &= 0 \label{tau_eqn_0c} 

%*+[F]{\txt{SparseNonlin \\ $ N_{mnp} \: a_m a_n \rightarrow b_p$}}

\include{macros}

\pagestyle{empty}

\begin{document}

\large
{\bf Structure of Channelflow class library}
\normalsize

\vspace{1cm}

\begin{centering}
\xymatrix{
*+[F]{\txt{PressureSolver \\ $\lapl p = \grad \cdot (\bu \cdot \grad \bu)$}} \ar@<1ex>@/^/@{.>}[rrdd] & *+[F]{\txt{DNSIntegrator \\ $\bu(t) \rightarrow \bu(t+\Delta t)$ \\ $p(t) \rightarrow p(t+\Delta t)$}} \ar@<1ex>@/^/@{.>}[rdd] & *\txt{\bf High-level objects\\ \bf for simulation programs} \\
*+[F]{\txt{PoissonSolver \\ $\lapl \bu = \bff$}} \ar[u] \ar@<1ex>@/^/@{.>}[rrd] &  & *+[F]{\txt{TurbStats \\ $\langle \bu(\bx) \bu(\bx') \rangle$ \\ $\langle \bu(\bx) \rangle$, etc.}} \ar@/^/@{.>}[d] \\ 
& *+[F]{\txt{TauSolver \\ $\nu \tibu'' - \lambda \tibu - \tgrad \tilde{p} = \tilde{\bff} $ \\ $\tgrad \cdot \tibu = 0$ \\ $\tibu(\pm 1) = 0$ }}\ar[uu] & *+[F]{\txt{FlowField $\bu(\bx)= $\\ $\tilde{\bu}_{k_xk_zn} e^{2\pi i (k_x x + k_z z)} T_n(y)$ }} \ar[llu] \ar[luu] \ar[u] \ar@/^/@{.>}[d]  \\
& & *+[F]{\txt{BasisFunc \\ $\bu(y) = \hbu_n T_n(y)$}} \ar[u] \ar[ul] \ar@/^/@{.>}[d] \\
*+[F]{\txt{HelmholtzSolver \\ $u'' - \lambda u = f$}} \ar[uuu] \ar[uur]& &*+[F]{\txt{ComplexChebyCoeff \\ $u(y) = \hu_n T_n(y)$}} \ar[u] \ar@/^/@{.>}[d]   \\
*+[F]{\txt{BandedTridiag \\ $ T_{ij} u_j = f_j$ }} \ar[u]  & &*+[F]{\txt{ChebyCoeff \\ $u(y) = \hu_n T_n(y)$}} \ar[u] \ar[ull] \\
*\txt{\bf Low-level objects \\ \bf for libraries} & *+[F]{\txt{Array$<type>$ \\ $[x_n]$}} \ar[lu] \ar[ur] & *+[F]{\txt{fftw-2.1.3 \\ FFT libraries}} \ar[u]  \\
}
\end{centering}
\end{document}


\ar@/^/@{.>}[dd]