\documentclass[reqno]{amsart}
\usepackage{graphicx}
\usepackage{hyperref}
\AtBeginDocument{{\noindent\small
Sixth Mississippi State Conference on Differential Equations and
Computational Simulations,
{\em Electronic Journal of Differential Equations},
Conference 15 (2007), pp. 193--210.\newline
ISSN: 1072-6691. URL: http://ejde.math.txstate.edu or http://ejde.math.unt.edu
\newline ftp ejde.math.txstate.edu (login: ftp)}
\thanks{\copyright 2007 Texas State University - San Marcos.}
\vspace{9mm}}
\begin{document} \setcounter{page}{193}
\title[\hfilneg EJDE-2006/Conf/15\hfil An augmented IIM-level set method]
{An augmented IIM-level set method for Stokes
equations with discontinuous viscosity}
\author[Z. Li, S. R. Lubkin, X. Wan\hfil EJDE/Conf/15 \hfilneg]
{Zhilin Li, Sharon R. Lubkin, Xiaohai Wan} % in alphabetical order
\address{Zhilin Li \newline
Center for Research in
Scientific Computation \& Department of Mathematics, North
Carolina State University, Raleigh, NC 27695-8205, USA}
\email{zhilin@math.ncsu.edu}
\address{Sharon R. Lubkin \newline
Center for Research in Scientific Computation \& Department of Mathematics,
North Carolina State University, Raleigh, NC 27695-8205, USA}
\email{lubkin@math.ncsu.edu}
\address{Xiaohai Wan\newline
Biomathematics Graduate Program \& Department of Mathematics,
North Carolina State University, Raleigh, NC 27695-8203, USA}
\email{xwan@unity.ncsu.edu}
\thanks{Published February 28, 2007.}
\subjclass[2000]{65M06, 65M12, 76T05}
\keywords{Incompressible Stokes equations; discontinuous viscosity;
\hfill\break\indent
interface problem; immersed interface method; level set method;
fast Poisson solver, GMRES}
\begin{abstract}
A finite difference method is proposed for
incompressible Stokes equations with discontinuous viscosity.
The method combines the augmented immersed interface method with a
level set representation of the interface on a uniform Cartesian grid.
In the proposed method, augmented interface variables are introduced
along the interface and be solved by the GMRES iterative method.
The augmented approach allows fast Poisson
solvers to be used and therefore is very efficient. Numerical examples
including two moving interface problems are presented.
\end{abstract}
\maketitle
\numberwithin{equation}{section}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{remark}[theorem]{Remark}
\section{Introduction}
In this paper, we present a numerical method for solving
the stationary incompressible Stokes equations for two-phase Newtonian
flows with an arbitrary interface. The governing equations have the
following form
\begin{equation}\label{eq:1}
\nabla p = \nabla \cdot \mu \left( \nabla \mathbf{u} +
(\nabla \mathbf{u})^T \right) + \mathbf{F} (\mathbf{x}) + \mathbf g(\mathbf{x}),
\end{equation}
with the incompressibility condition
\begin{equation} \label{incomp}
\nabla \cdot \mathbf{u} = 0,
\end{equation}
where $\mathbf{u} =(u,v)^T$ is the fluid velocity, $p$ is the fluid pressure,
$\mu$ is the fluid viscosity, $\mathbf{x} = (x,y)$ is the Cartesian coordinate
variable, $\mathbf g = (g_1,g_2)^T$ is a body force
such as gravity, and $\mathbf{F}$ is a source which can have a Dirac delta
function singularity,
\begin{equation}
\mathbf{F} (\mathbf{x}) = \int_{\Gamma} \mathbf f(s)
\delta(\mathbf{x}-\mathbf{X}(s))ds
\end{equation}
where $\Gamma$ is a smooth interface in the solution domain with the
arc-length parameter $s$, $\mathbf f = (f_1,f_2)^T$ is the source density,
and $\delta(\cdot)$ is the
Dirac delta function defined in the distribution sense. The body force
term $\mathbf g$ may also have a finite
jump across the interface $\Gamma$ as well.
The interface $\Gamma$ divides the solution domain $\Omega$ into two parts
$\Omega^+$ and $\Omega^-$ with $\Omega = \Omega^+ \cup \Omega^-$. If the
interface is closed, we use $\Omega^+$ to express the exterior domain of
the interface.
We assume that the viscosity coefficient $\mu$ is
piecewise constant across the interface:
\begin{equation} \label{eqmu}
\mu (\mathbf{x})= \begin {cases}
\mu^+ &\mbox{if }\mathbf{x}\in \Omega^+, \\
\mu^- & \mbox{if }\mathbf{x}\in \Omega^-,
\end {cases}
\end{equation}
where $\mu^+$ and $\mu^-$ are two positive constants.
In this paper, we propose a finite difference method
coupled with a level set function representation of the interface
on a uniform Cartesian grid to solve the problem. Finite element and
boundary integral methods for this problem can be found in the literature.
These methods may be more efficient if only the solution on the interface
is solved. In our method, we solve for the velocity in the entire domain.
There are at least two difficulties in solving \eqref{eq:1}-\eqref{eqmu}
numerically using finite difference methods. The first one is to deal with
the singular force term. A
simple way is to use Peskin's discrete delta function approach \cite{peskin1} to distribute
the singular force to nearby grid points. Such a discretization is
typically first
order accurate and will smooth out the solution. The second difficulty is how
to deal with the discontinuous viscosity. A simple smoothing method may
introduce large errors; see \cite{li:review} for a one-dimensional example.
In the case of a continuous viscosity with a Dirac delta function
source distribution along an interface, various methods have been developed. We refer the readers to
\cite{cortez-stokes,fo-pe,rjl-li:stokes,mayo-pe,tu-peskin} for various
methods and the references therein. The difficulty with a discontinuous
viscosity is that the jump conditions for the pressure and velocity are
coupled together (section \ref{sec:4}),
which makes it difficult to
discretize the system accurately. Approximations of the jump conditions have been used to decouple the system
\cite{li-lubkin} and have been productively used to simulate problems in biological fluid dynamics \cite{lubkin-li}.
The augmented immersed interface
method for incompressible 2D Stokes flows with discontinuous viscosity
has been developed \cite{li-ito-lai} with the interface represented by a
cubic spline interpolation, a variation of the particle approach.
It is easy with splines to obtain the surface derivatives of jumps of the material
variables (pressure and velocity) since they can be expressed as the functions
of the arc-length. However, the spline approach is difficult to use
for multi-connected domains, moving interface problems with topological
changes such as merging and splitting, and for three dimensional (3D)
problems. In addition, the level set method usually has better stability. For a
spline approach, re-parameterization, filtering, and re-griding may be
needed at every or every other time steps. All these reasons favor a level set approach over a spline approach.
Nevertheless, it is not trivial
to compute surface derivatives of an interface quantity from the level set
method since the interface is explicitly defined only at grid points.
\section{The Stokes solver: Three Poisson equations approach} \label{sec:3}
Instead of writing the singular force as a source term for the Stokes
equations (\ref{eq:1}), we can solve the Stokes equations
in the form
\begin{equation}\label{stokes1}
\nabla p = \nabla \cdot \mu^+\left( \nabla \mathbf{u} +
(\nabla \mathbf{u})^T\right) + \mathbf g(\mathbf{x}),
\quad \mathbf{x} \in \Omega^+
\end{equation}
and
\begin{equation}\label{stokes2}
\nabla p = \nabla \cdot \mu^- \left( \nabla \mathbf{u} +
(\nabla \mathbf{u})^T \right) + \mathbf g(\mathbf{x}),
\quad \mathbf{x} \in \Omega^-.
\end{equation}
We define viscosity ratio $ \lambda = {\mu^-}/{\mu^+}$.
If $\Gamma$ is closed and $\lambda > 1$, then
the fluid phase inside the interface is more viscous and is called a drop;
if $\Gamma$ is closed and $\lambda < 1$, then the fluid phase inside the
interface is less viscous than the ambient fluid and is called a bubble
(see for example \cite{POZRIKIDIS-eds}); if $\lambda = 1$ the fluids inside
and outside have equal viscosity.
The solutions to (\ref{stokes1})-(\ref{stokes2}) are coupled by the jump
conditions which will be stated
in Section \ref{sec:4}.
If we apply the divergence operator to both sides of the momentum equation
(\ref{stokes1}, \ref{stokes2}) and make use of the incompressibility
condition(\ref{incomp}) in each fluid, we get
\begin{equation} \label{p1}
\Delta p = \nabla \cdot \mathbf g,
\end{equation}
where $\Delta$ is the Laplacian.
This is a Poisson equation for the pressure $p$. Once $p$ is solved from the
equation above, we can rewrite the Stokes equation
(\ref{stokes1})-(\ref{stokes2}) in the form \cite{chorin:proj}
\begin{gather} \label{p2}
\Delta \tilde{u} = \frac{\partial p}{\partial x} - g_1, \\
\label{p3}
\Delta \tilde{v} = \frac{\partial p}{\partial y} - g_2,
\end{gather}
where
\begin{equation}
\tilde{u} ( {\mathbf{x}}) = \begin{cases} \mu^+ u( {\mathbf{x}})
\quad {\mathbf{x}} \in \Omega^+ \\
\mu^- u( {\mathbf{x}}) \quad {\mathbf{x}} \in \Omega^-, \end{cases} \quad
\tilde{v}( {\mathbf{x}}) = \begin{cases} \mu^+ v ( {\mathbf{x}})\quad \mathbf{x}
\in \Omega^+ \\
\mu^- v( {\mathbf{x}}) \quad \mathbf{x} \in \Omega^-. \end{cases}
\end{equation}
We obtain $\mathbf{u} = (u,v)$ by solving $\tilde{\mathbf{u}} = (\tilde{u},
\tilde{v})$ from the Poisson equations above.
The three decoupled Poisson equations (\ref{p1})-(\ref{p3}) each can be
solved efficiently using a fast Poisson solver if the solutions are smooth
across the interface.
\section{Jump conditions} \label{sec:4}
It is well known that if there are singular
interface forces, then the pressure $p$ is discontinuous, and the velocity
${\mathbf{u}}$ is non-smooth across the interface. If the viscosity is discontinuous, that is
$\lambda \neq 1$, then $\tilde{\mathbf{u}}$ is also discontinuous.
Due to these discontinuities, the direct application of three Poisson
solvers without modifications will not give the correct solution.
It is critical to incorporate the jump conditions in the
finite difference schemes so that the solutions in different phases
can be coupled together correctly across the interface. The jump condition on
the pressure $p$ at point $\mathbf{x}^*$ on the interface $\Gamma$ is defined as
\begin{equation}
[p]({\mathbf{x}^{*}}) = \Big(\lim_{\mathbf{x} \to
(\mathbf{x}^{*})^+}{p}({\mathbf{x}})\Big) -
\Big(\lim_{\mathbf{x} \to (\mathbf{x}^{*})^-}{p}({\mathbf{x}}) \Big).
\end{equation}
Other jump conditions are defined similarly. Jump conditions on each variable
can be derived either from the physics of the problem itself or from the
partial differential equations. The derivations of the jump conditions for
the Stokes equation are described elsewhere \cite{li-ito-lai}. Here we just list
the results. Define
\begin{equation}
\mathbf q = \left( q_1, q_2 \right)^T = \left( \left[ \tilde{u} \right] , \left[ \tilde{v} \right] \right)^T.
\end{equation}
Then the solutions of the Stokes flow are the following three Poisson
equations:
\begin{equation} %\label{S2}
\left\{ \begin{aligned}
& \Delta p = \nabla \cdot {\bf g}, \\
& [p] = \hat{f}_1 - 2 \frac{\partial}{\partial {\mathbf{\tau}}}
\left( \mathbf{q} \cdot \mathbf{\mathbf{\tau}}\left( \mathbf{x}^{*}\right) \right), \\
&\big[\frac{\partial p}{\partial {\mathbf{n}}}\big] = \frac{\partial \hat{f}_2}{\partial{\mathbf{\tau}}} +
2\frac{\partial^2}{\partial {\mathbf{\tau}}^2} \left( \mathbf{q} \cdot
{\mathbf{n}}\left( \mathbf{x}^{*} \right) \right) -
4 \kappa \frac{\partial}{\partial {\mathbf{\tau}}}( {\bf q}\cdot {\mathbf{\tau}}\left( \mathbf{x}^{*} \right))
+ [ \mathbf g \cdot \mathbf{n} ],
\end{aligned} \right.\label{Sab}
\end{equation}
\begin{equation}
\left\{\begin{aligned}
& \Delta \tilde{u} = p_x - g_1, \\
& [\tilde{u}] =q_1, \\
& \big[\frac{\partial \tilde{u}}{\partial {\mathbf{n}}}\big ]
= \Big( \hat{f}_2 + \frac{\partial }{\partial {\mathbf{\tau}}}
\left( {\mathbf{q}} \cdot {\mathbf{n}}\left( \mathbf{x}^{*} \right) \right) \Big)
\sin \theta -
\Big( \frac{\partial }{\partial {\mathbf{\tau}}} \left( {\mathbf{q}} \cdot
{\mathbf{\tau}}\left( \mathbf{x}^{*} \right) \right) \Big) \cos \theta, \\
\end{aligned} \right. \label{Sbb}
\end{equation}
\begin{equation}
\left\{ \begin{aligned}
& \Delta \tilde{v} = p_y-g_2, \\
& [\tilde{v}] =q_2, \\
& \big[\frac{\partial \tilde{v} }{\partial {\mathbf{n}}}
\big] = -\Big( \hat{f}_2 + \frac{\partial }{\partial {\mathbf{\tau}}}
\left( {\mathbf{q}} \cdot {\mathbf{n}}\left( \mathbf{x}^{*} \right) \right) \Big)
\cos \theta -
\Big( \frac{\partial }{\partial {\mathbf{\tau}}} \left( {\mathbf{q}} \cdot
{\mathbf{\mathbf{\tau}}}\left( \mathbf{x}^{*} \right) \right) \Big)
\sin \theta,
\end{aligned} \right. \label{Scb}
\end{equation}
\begin{equation}
\big[ \frac{\tilde{u}}{\mu} \big] = 0, \quad
\big[ \frac{\tilde{v}}{\mu} \big] = 0. \label{Scd}
\end{equation}
In the jump conditions above, $\mathbf{n} = (\cos\theta,\sin\theta)^T$ and
$\mathbf{\tau} = (-\sin\theta,\cos\theta)^T$ are unit outward normal and
tangential
directions respectively, $\theta$ is the angle between the $x$-axis and the
normal directions, $\hat{f_{1}} = \mathbf f \cdot \mathbf{n}$ and
$\hat{f_{2}} = \mathbf f \cdot \mathbf \mathbf{\tau}$ are the force components in
the normal and tangential directions. $\kappa$ is interface curvature. Unit circle
is defined to have constant curvature $-1$.
The vector $\mathbf q$ is called
the augmented variable which is
unknown unless we know the solution $\left( u,v \right)^T$. However, if we know
$\mathbf q$, then
the jump conditions for the pressure and the velocity are decoupled in
terms of $\mathbf q$ and its surface derivatives.
In this paper,
we assume that we have a periodic boundary for all the variables.
The main idea of the
augmented approach is to solve $\mathbf q$ such
that $(\tilde{u},\tilde{v})^T$
and $p$ satisfy the Stokes equations, the jump conditions above, and
the kinematic condition
\begin{equation}
[u] = [v] = 0.
\end{equation}
Then $(u,v)^T $ and $p$ must be the solution to the original problem.
The jump conditions above enable us to use the immersed interface
method (IIM) to solve the three Poisson equations (\ref{p1})-(\ref{p3}) if
a guess $\mathbf q$ is given. The generalized minimum residual (GMRES)
method \cite{saad} is used to solve for
$\mathbf q$ so that the kinematic condition can be satisfied.
\section{The numerical algorithm} \label{sec:5}
\subsection{Level set representation of interfaces and related quantities}
We use the zero level set of a two dimensional function $\varphi(x,y)$ to
represent the interface. That is, $\varphi(x,y)$ is such a function that
\begin{equation}
\Gamma = \left \{ (x,y): \varphi(x,y) = 0 \right \}.
\end{equation}
Generally $\varphi(x,y)$ is chosen as the signed distance function from the
interface.
We denote $\Omega^+ = \{(x,y), \, |\, \varphi(x,y) \geq 0\}$ and
$\Omega^- = \{(x,y), \, |\, \varphi(x,y) <0\}$. For simplicity, we assume
that the domain $\Omega$ is a rectangle $[a,\;b]\times [c,\;d]$.
The solution domain is discretized using a uniform Cartesian grid
\begin{equation}
\begin{aligned}
x_i = a + ih_x, \quad i = 0,1,\dots,m, \quad h_x = \frac{b-a}{m}; \\
y_j = c + jh_y, \quad j = 0,1,\dots,n, \quad h_y = \frac{d-c}{n}.
\end{aligned}
\end{equation}
In the rest of the paper, we take
$h_x = h_y = h$ to simplify the notation. The level set function
$\varphi_{i,j}=\varphi(x_i,y_j)$ is defined at grid points.
A grid point $(x_i,y_j)$ is an \emph{irregular inner grid point} if
\begin{equation}
\varphi_{i,j} <0
\end{equation}
and any of the following four inequalities is true:
\begin{equation}
\begin{gathered}
\varphi_{i,j}\cdot \varphi_{i-1,j} \leq 0, \quad
\varphi_{i,j}\cdot \varphi_{i+1,j} \leq 0, \\
\varphi_{i,j}\cdot \varphi_{i,j-1} \leq 0, \quad
\varphi_{i,j}\cdot \varphi_{i,j+1} \leq 0.
\end{gathered}
\end{equation}
Similarly, a grid point $(x_i,y_j)$ is an \emph{irregular outer grid point} if
\begin{equation}
\varphi_{i,j} \geq 0
\end{equation}
and any of the following four inequalities is true:
\begin{equation}
\begin{gathered}
\varphi_{i,j}\cdot \varphi_{i-1,j} < 0, \quad
\varphi_{i,j}\cdot \varphi_{i+1,j} < 0, \\
\varphi_{i,j}\cdot \varphi_{i,j-1} < 0, \quad
\varphi_{i,j}\cdot \varphi_{i,j+1} < 0.
\end{gathered}
\end{equation}
For a given irregular grid point $\mathbf{x} = (x_i,y_j)$ near a
sufficiently flat section of interface,
there is a corresponding orthogonal projection point
$\mathbf{x}^* = (x^*,y^*)$ on the interface satisfying
\begin{equation}
\mathbf{x}^* = \mathbf{x} + a \mathbf{n}(\mathbf{x})
\end{equation}
where $a$ is a real unknown variable and
$\mathbf{n} = {\nabla \varphi}/{|\nabla \varphi|}$ is the unit outward normal
direction at $\mathbf{x}$. See Fig. \ref{f1} for an illustration.
\begin{figure}[hpbt]
\begin{center}
\includegraphics[width=0.6\textwidth]{figures/x1}
\end{center}
\caption{An irregular grid point $\mathbf{x} = (x_i,y_j)$ and
its normal projection point $\mathbf{x}^* = (x^*,y^*)$ on
the interface $\Gamma$. $(\xi,\eta)$ is the local coordinate system at
$\mathbf{x}^*$.}
\label{f1}
\end{figure}
Since $\varphi(\mathbf{x}^*) = 0$, we have
\begin{equation}
0 = \varphi(\mathbf{x} + a \mathbf{n}) \approx \varphi(\mathbf{x}) + |\nabla \varphi|a + \frac{1}{2}(\mathbf{n}^{\mathsf T}\mathbf H(\varphi)\mathbf{n})a^2
\end{equation}
where the Hessian matrix $\mathbf H$ is defined as
\begin{equation}
\mathbf H(\varphi) = \begin{pmatrix}
\frac{\partial ^2 \varphi}{\partial x^2} &&
\frac{\partial ^2 \varphi}{\partial x \partial y} \\
\frac{\partial ^2 \varphi}{\partial y \partial x} &&
\frac{\partial ^2 \varphi}{\partial y^2}\end{pmatrix}.
\end{equation}
The derivatives are approximated using the central finite difference schemes:
\begin{gather} \label{d1}
\frac{\partial \varphi}{\partial x} \approx \frac{\varphi_{i+1,j}-\varphi_{i-1,j}}{2h},
\\ \label{d2}
\frac{\partial \varphi}{\partial y} \approx
\frac{\varphi_{i,j+1}-\varphi_{i,j-1}}{2h},
\\ \label{d3}
\frac{\partial^2 \varphi}{\partial x^2} \approx
\frac{\varphi_{i+1,j}-2\varphi_{i,j}+\varphi_{i-1,j}}{h^2},
\\ \label{d4}
\frac{\partial^2 \varphi}{\partial y^2} \approx
\frac{\varphi_{i,j+1}-2\varphi_{i,j}+\varphi_{i,j-1}}{h^2},
\\ \label{d5}
\frac{\partial^2 \varphi}{\partial x \partial y} =
\frac{\partial^2 \varphi}{\partial y \partial x} \approx
\frac{\varphi_{i+1,j+1}+\varphi_{i-1,j-1}-\varphi_{i+1,j-1}-
\varphi_{i-1,j+1}}{4h^2}.
\end{gather}
At each orthogonal projection $\mathbf{x}^*$, the geometrical information
needed includes the curvature $\kappa$ and the angle $\theta$ between the
normal direction and the $x$-axis at $\mathbf{x}^*$.
The curvature is defined as usual
\begin{equation}
\kappa = -\frac{\frac{\partial^2 \varphi}{\partial x^2}(\frac{\partial \varphi}{\partial y})^2 - 2\frac{\partial^2 \varphi}{\partial x \partial y}\frac{\partial \varphi}{\partial x}\frac{\partial \varphi}{\partial y} + \frac{\partial^2 \varphi}{\partial y^2}(\frac{\partial \varphi}{\partial x})^2}
{\left( (\frac{\partial \varphi}{\partial x})^2 + ( \frac{\partial \varphi}{\partial y})^2 \right) ^{\frac{3}{2}}}.
\end{equation}
The unit normal direction is determined by
\begin{equation}
\cos\theta = \frac{\frac{\partial \varphi}{\partial x}}{\sqrt{(\frac{\partial
\varphi}{\partial x})^2+(\frac{\partial \varphi}{\partial y})^2}}, \quad
\sin\theta = \frac{\frac{\partial \varphi}{\partial y}}{\sqrt{(\frac{\partial
\varphi}{\partial x})^2+(\frac{\partial \varphi}{\partial y})^2}}.
\end{equation}
The derivatives at $\mathbf{x}^*$ can be approximated using the bilinear interpolation formula from the derivatives already calculated at
grid points using (\ref{d1})-(\ref{d5}) as following. Given an interface point $\mathbf{x}^*$ and a grid
function $f(\cdot)$, we label the four grid points surrounding $\mathbf{x}^*$
as
\begin{equation}
(x_i,y_j), (x_{i+1},y_j), (x_{i},y_{j+1}), (x_{i+1},y_{j+1}).
\end{equation}
See Fig. \ref{f1} for an example.
If we define
\begin{equation}
a = \frac{2(x^*-x_i)}{h} - 1, \quad
b = \frac{2(y^*-y_j)}{h} - 1,
\end{equation}
then we can use the bilinear interpolation scheme
\begin{equation} \label{bilinear}
\begin{aligned}
& \big\{(1-a)(1-b)f_{i,j} + (1+a)(1-b)f_{i+1,j}\\
&+ (1-a)(1+b)f_{i,j+1} + (1+a)(1+b)f_{i+1,j+1}\big\}/4
\end{aligned}
\end{equation}
to approximate $f(\mathbf{x}^*)$. We can calculate $\kappa$, $\cos \theta$
and $\sin \theta$
at the orthogonal projection point $\mathbf{x}^*$ if we set $f=\kappa(\mathbf{x})$,
$f=\cos \theta$, and $f=\sin \theta$ respectively using the interpolated
formula above. Note that these quantities are poorly conditioned if $|\nabla \varphi| \sim 0$.
However our choice of $\varphi$ as the signed distance function avoids this difficulty.
\subsection{The immersed interface method for elliptic interface problems}
Given an intermediate approximation of $\mathbf{q}$, the solution to the
Stokes equations can be obtained by solving the three Poisson equations
(\ref{p1})-(\ref{p3}) with
known jump conditions in the solution and the flux:
\begin{equation} \label{poisson}
\begin{gathered}
(\Psi_x)_x + (\Psi_y)_y = R(x,y) \\
[\Psi] = w_1, \quad [\Psi_n]=w_2.
\end{gathered}
\end{equation}
using the immersed interface method \cite{rjl-li:sinum,li:fast,li-ito}.
The finite difference scheme using the immersed interface method
can be simply written as
\begin{equation}
\frac{\Psi_{i-1,j} + \Psi_{i+1,j} + \Psi_{i,j-1} + \Psi_{i,j+1} -
4 \Psi_{ij}}{h^2} = R_{ij} + C_{ij}
\end{equation}
where $C_{ij}=0$ at regular grid points. At an irregular grid point,
$C_{ij}$ depends on the interface curvature, first and second order surface
derivatives of $w_1$ and $w_2$ (see \cite{li:thesis} for its formulation and derivation). The immersed interface method
not only gives a second order accurate solution, but also enables us to
use widely available fast Poisson solvers to solve the discrete systems of
equations. The fast Poisson solver, for example the one from Fishpack
\cite{fish},
only requires $O(N \log(N))$ operations, where $N$ is the total number of
grid points. Therefore the Stokes equations with given ${\bf q}$ can be
solved in $O(3N \log(N))$ operations, which corresponds to the cost of
one GMRES iteration.
\subsection{Computing an interface quantity and its tangential derivatives
using the least squares interpolation scheme}
To determine the correction term $C_{ij}$ we need to know the jumps
$[\Psi] = w_1(s)$, $[\frac{\partial \Psi}{\partial \mathbf{n}}] = w_2(s)$
and the tangential derivatives $w_1'$, $w_1''$ and $w_2'$,
where $s$ is the arc-length parameterization of the interface \cite{li:thesis}.
The problem may be formulated thus: given the values of an interface
function $\phi(s)$ at a set of interface points ${s=s_1,\dots,s=s_n}$,
find the values of $\phi(s^*)$, $\phi'(s^*)$ and $\phi''(s^*)$.
It is critical to choose an interpolation scheme for the immersed
interface-level set method to work well.
We assume that the values of the interface function $\phi(s)$ are known at
all the projection points from the inner irregular grid points and we want
to interpolate $\phi(s)$ at the projection points from the outer irregular
grid points, and $\phi'(s)$ and $\phi''(s)$ at the projection points
from both inner and outer irregular grid points. See Fig. \ref{f2} for an illustration.
\begin{figure}[hpbt]
\begin{center}
\includegraphics[width=0.5\textwidth]{figures/x2}
\end{center}
\caption{On the interface $\Gamma$, the values of the interface function $\phi(s)$
at the projection points from the inner irregular grid points (dark circles) can be used
to interpolate both the values of $\phi(s)$ at the projection points from the outer irregular
grid points (white circles) and the values of $\phi'(s)$ and
$\phi''(s)$ at all the projection points.}
\label{f2}
\end{figure}
The least squares interpolation scheme for approximating $\phi(s^*)$
(or $\phi'(s^*)$ and $\phi''(s^*)$) can be written as
\begin{equation} \label{se3}
\sum_{i} \gamma_{i}\phi(s_i),
\end{equation}
where $\gamma_{i}$'s are the coefficients that need to be determined from
the Taylor expansion at the interpolation point $s^*$
\begin{equation} \label{se2}
\phi(s_i) = \phi(s^*) + \phi'(s^*)(s_i-s^*) +
\frac{1}{2}\phi''(s^*)(s_i-s^*)^2 + \dots.
\end{equation}
We define
\begin{equation} \label{least1}
a_1 = \sum_{i}\gamma_{i}, \quad
a_2 = \sum_{i}(s_i-s^*)\gamma_{i} \quad
a_3 = \sum_{i}\frac{1}{2}(s_i-s^*)^2\gamma_{i},
\end{equation}
where $(s_i-s^*)$ is the signed arc length from the interface point
at $s = s_i$ to the point at $s = s^*$(see \cite{li:void} for its formula
using the Hermite cubic spline approximation method). Substituting (\ref{se2})
into (\ref{se3}), we obtain the coefficients $\gamma_{i}$ from setting
\begin{equation} \label{se1}
a_1 = 1, \quad a_2 = 0, \quad a_3 = 0.
\end{equation}
If we choose more than three interface points for the interpolation, then
the linear system of equations (\ref{se1}) is under-determined, that is, there
are an infinite number of solutions. We use the singular value
decomposition (SVD) method to solve the system of equations (\ref{se1})
to get the unique solution that has the least 2-norm among all feasible
solutions.
For a given $s = s^*$, the interpolation points are chosen as a few
orthogonal projections of inner grid points ($\varphi_{i,j}< 0$) that are
the first few closest to the point $(X(s^*),Y(s^*))$. The criterion is
the arc length distance such that $|s-s^*| \leq \alpha$, where
$\alpha$ is a parameter. We choose $\alpha=6.5h$.
\subsection{Augmented immersed interface method for the Stokes equations}
The augmented unknown $\mathbf q$ needs to be solved only at orthogonal
projection points from the inner irregular
grid points because we can use interface interpolation to get the values
at outer projection points.
Given a discrete approximation of $(q_1,q_2)$ at $\{\mathbf{X}_k\}$,
we can solve the first three equations \eqref{Sab}-\eqref{Scb} to get an
approximate
solution: the pressure $\mathbf{P}({\bf Q})$, the scaled velocity
$\tilde{\mathbf{U}}({\bf Q})$
and $\tilde{\mathbf{V}}({\bf Q}).$ Generally the computed velocity
$(\tilde{\mathbf{U}}({\bf Q}),\,\tilde{\mathbf{V}}({\bf Q}))$ does
not satisfy the two augmented equations in \eqref{Scd}, that is,
$(\mathbf{U},\mathbf{V})=(\tilde{\mathbf{U}}/\mu,\tilde{\mathbf{V}}/\mu)$ may not
be continuous across the interface.
Let us concatenate the discrete solutions $\{P_{ij}\}$, $\{U_{ij}\}$, and
$\{V_{ij}\}$ as a vector $\mathbf{\tilde{\mathcal{U}}} $ whose dimension is
$O(3MN)$, where $M$ and $N$ are the number of grid lines in the $x$ and $y$
direction respectively. We denote also the vector of the discrete values of
$(q_1,q_2)$ at the control points $\{\mathbf{X}_k\}$ (consisted of projection points
only from the inner irregular grid points) by
$\mathbf{Q}$ whose dimension is $O(2 N_b)$. Then the discrete
solution of \eqref{Sab}-\eqref{Scb} given ${\bf Q}$ can be written as
\begin{equation} \label{bigeq1}
A \, \mathbf{\tilde{\mathcal{U}}} + B \mathbf{Q} = \mathbf{F}_1
\end{equation}
for some vector $\mathbf{F}_1$ and sparse matrices $A$ and $B$. It
requires solving three Poisson equations with different source
terms and jump conditions to get $\mathbf{\tilde{\mathcal{U}}} $.
Once we know the solution $\mathbf{\tilde{\mathcal{U}}} $ given $\mathbf{Q}$, we can use
$(\tilde{\mathbf{U}},\,\tilde{\mathbf{V}})$ and the jump conditions
$[{\tilde{\mathbf{U}}}_{\mathbf{n}}]$ and
$[{ \tilde{\mathbf{V}}}_{\mathbf{n}}]$ which also depend on $\mathbf{Q}$,
to get
$[\mathbf{U}(\mathbf{Q})]=[\tilde{\mathbf{U}}(\mathbf{Q})/\mu]$ and
$[\mathbf{V}(\mathbf{Q})]=[\tilde{\mathbf{V}}(\mathbf{Q})/\mu]$
at those control points $\{\mathbf{X}_k\}$, $1\le k \le N_b$. If both
$\|\, [\mathbf{U}(\mathbf{Q})]\, \|$ and
$\|\,[\mathbf{V}(\mathbf{Q})]\,\|$
are smaller than a given tolerance, then the method has already
converged and the set of $\mathbf{Q}$, $\tilde{\mathbf{U}}/\mu$,
$\tilde{\mathbf{V}}/\mu$ is an approximate
solution. The interpolation scheme to get
$[\tilde{\mathbf{U}}(\mathbf{Q})/\mu]$ and
$[\tilde{\mathbf{V}}(\mathbf{Q})/\mu]$, which will be explained in
the next sub-section, depends on
$\mathbf{\tilde{\mathcal{U}}} ,\mathbf{Q}$ \emph{linearly}. Therefore we can write
\begin{equation} \label{stinterp1}
\left( \big[{\tilde{\mathbf{U}}}/{\mu} \big], \,
\big[{\tilde{\mathbf{V}}}/{\mu}\big] \right)^T =
S \,\mathbf{\tilde{\mathcal{U}}} + E \mathbf{Q} - \mathbf{F}_2,
\end{equation}
where ${S}$ and $E$ are two sparse matrices, and $\mathbf{F}_2$ is a vector.
The matrices depend on the interpolation scheme but do not need to be
actually constructed in the
algorithm. We need to choose such a vector $\mathbf{Q}$ that the continuity
condition for the velocity is satisfied along the interface $\Gamma$.
If we put the two
matrix-vector equations \eqref{bigeq1} and \eqref{stinterp1} together we get
\begin{equation}\label{MatVec1}
\begin{bmatrix}
A & B \\
S & E \end{bmatrix}
\begin{bmatrix}
\mathbf{\mathbf{\tilde{\mathcal{U}}} } \\
\mathbf{Q} \end{bmatrix}
=\begin{bmatrix}
\mathbf{F}_1 \\
\mathbf{F}_2 \end{bmatrix}.
\end{equation}
Note that $ \mathbf{Q}$ is defined only on a set of points $\{\mathbf{X}_k\}$
on the interface while $\mathbf{\mathbf{\tilde{\mathcal{U}}} }$ is defined at all grid points.
The Schur complement for $\mathbf{Q}$ is
\begin{equation} \label{smalleq}
(E-SA^{-1} B) \mathbf{Q} = \mathbf{F}_2 -SA^{-1} \mathbf{F}_1 =
\bar{\bf F}.
\end{equation}
If we can solve the system above to get $\mathbf{Q}$, then we can get \
$\mathbf{\mathbf{\tilde{\mathcal{U}}} }$ easily. Because the dimension of $\mathbf{Q}$ is much smaller
than that of $\mathbf{\mathbf{\tilde{\mathcal{U}}} }$, we expect to get a reasonably fast algorithm for
the two-phase Stokes equations if we can solve \eqref{smalleq}
efficiently.
In implementation, the GMRES iterative method \cite{saad} is used to solve
\eqref{smalleq}. The GMRES method only requires matrix-vector
multiplication. We explain below how to evaluate the right hand side
$\bar{\bf F}$ of the Schur complement, and how to evaluate the matrix-vector
multiplication needed by the GMRES iteration. We can see
why we do not need to form the coefficient matrix $E-SA^{-1} B$ explicitly.
\subsubsection{Evaluation of the right hand side of the Schur complement}
First we set $\mathbf{Q}={\bf 0}$ and solve the de-coupled system
\eqref{Sab}-\eqref{Scb},
or \eqref{bigeq1} in the discrete form, to get $\mathbf{\mathbf{\tilde{\mathcal{U}}} \!({\bf 0})}$ which
is $A^{-1}\mathbf{F}_1$ from \eqref{bigeq1}. From the interpolation
\eqref{stinterp1}, we also have
\[
\left( \big[ \mathbf{U}(\mathbf{0}) \big] ,
\big[ \mathbf{V}(\mathbf{0}) \big] \right)^T=
S \,\mathbf{\tilde{\mathcal{U}}} \!(\mathbf{0}) + E \,\mathbf{0} - {\bf F}_2=S \,\mathbf{\tilde{\mathcal{U}}} (\mathbf{0})
- {\bf F}_2.
\]
Note that the residual
of the Schur complement for $\mathbf{Q}={\bf 0}$ is
\begin{equation} \label{resid2b}
\begin{aligned}
R(\mathbf{0}) & = (E-SA^{-1}B) \, \mathbf{0} - \bar{\mathbf{F}}
= - \bar{\mathbf{F}} \\
& = - \left( {\bf F}_2 - SA^{-1} {\bf F}_1 \right)
= - {\bf F}_2 + S \, \mathbf{\mathbf{\tilde{\mathcal{U}}} (0)} \\
&= \left( \left [ \mathbf{U}(\mathbf{0}) \right ] , \left [ \mathbf{V}(\mathbf{0}) \right ] \right)^T,
\end{aligned}
\end{equation}
which gives the right hand side of the Schur complement system with an
opposite sign.
\subsubsection{Evaluation of the matrix-vector multiplication}
The matrix-vector multiplication of the Schur complement system given
$\mathbf{Q}$ is obtained from the following two steps:
\begin{description}
\item[Step 1] Solve the coupled system \eqref{Sab}-\eqref{Scb}, or \eqref{bigeq1}
in the discrete form, to get $\mathbf{\mathbf{\tilde{\mathcal{U}}} \!(Q)}$.
\item[Step 2] Interpolate $\mathbf{\mathbf{\tilde{\mathcal{U}}} \!(Q)}$ using \eqref{stinterp1} to get
$\left( \left [ \mathbf{U}(\mathbf{0}) \right ] , \left [ \mathbf{V}(\mathbf{0}) \right ] \right)^T$.
Then the matrix vector multiplication is
\begin{equation}
\left( E-S A^{-1} B\right) \mathbf{Q}=\left( \left [ \mathbf{U}(\mathbf{Q}) \right ] , \left [ \mathbf{V}(\mathbf{Q}) \right ] \right)^T-
\left( \left [ \mathbf{U}(\mathbf{0}) \right ] , \left [ \mathbf{V}(\mathbf{0}) \right ] \right)^T.
\end{equation}
This is because
\begin{align*}
\left( E-S A^{-1}B\right) \mathbf{Q}
& = E \mathbf{Q}-{S}A^{-1}B \mathbf{Q}\\
& = E \mathbf{Q} - S \left( A^{-1}{\bf F}_1 - \mathbf{\mathbf{\tilde{\mathcal{U}}} \!(Q)} \right)
\quad \text{(from \eqref{bigeq1}) }, \\
& = E \mathbf{Q} + S \,\mathbf{\mathbf{\tilde{\mathcal{U}}} \!(Q)} - {\bf F}_2 +
{\bf F}_2 - S A^{-1}{\bf F}_1 \\
& = \left( \big[ \mathbf{U}(\mathbf{Q}) \big] ,
\big[ \mathbf{V}(\mathbf{Q}) \big] \right)^T +
\bar{\mathbf{F}} \quad \mbox{(from \eqref{stinterp1})}, \\
& = \left( \big[ \mathbf{U}(\mathbf{Q}) \big] ,
\big[ \mathbf{V}(\mathbf{Q}) \big ] \right)^T-
\left( \big[ \mathbf{U}(\mathbf{0}) \big] ,
\big[ \mathbf{V}(\mathbf{0}) \big] \right)^T,
\quad \mbox{(from \eqref{resid2b})}.
\end{align*}
\end{description}
Now we can see that a matrix-vector multiplication is equivalent to solving
the coupled system \eqref{Sab}-\eqref{Scb}, or \eqref{bigeq1} in the
discrete form, to get
$\mathbf{\mathbf{\tilde{\mathcal{U}}} }\!,$ and using an interpolation scheme \eqref{stinterp1} to get
$\left( [ \mathbf{U}] , [ \mathbf{V}] \right)^T$ at the control points.
Since we know the right hand side of the linear system of equations and the
matrix-vector multiplication of the coefficient matrix, it is straightforward
to use GMRES or other iterative methods.
In summary, the system of equations for ${\bf Q}$ can be written as
\begin{equation}
G \mathbf Q = \mathbf b,
\end{equation}
where $\mathbf b = -\begin{pmatrix} [\mathbf U(\mathbf 0)] \\
[\mathbf V(\mathbf 0)] \end{pmatrix}$. The coefficient matrix $G$ does not need
to be formed explicitly.
Given a guess of $\mathbf Q^{k}$, the matrix vector multiplication that is
needed for the GMRES iterative method is simply
\begin{equation} \label{mv}
G\mathbf{Q^{k}} = \begin{pmatrix} [\mathbf U(\mathbf Q^{k} )]
\\ [\mathbf V(\mathbf Q^{k})] \end{pmatrix}-\begin{pmatrix}
[\mathbf U(\mathbf 0)] \\ [\mathbf V(\mathbf 0)] \end{pmatrix}.
\end{equation}
\subsection{Computing the residual vector using the least squares
interpolation}
The matrix-vector multiplication (\ref{mv}) only involves the velocity
jumps at the inner projection points. However, the velocity solved from the
Poisson equations (\ref{p1}, \ref{p2}, \ref{p3}) is defined only at grid points. We use a least squares
interpolation scheme again to get the velocity at the interface points. The
interpolation scheme is critical for the accuracy
and convergence speed of the GMRES method and thus is very important for
the new method.
For an inner projection point $\mathbf{x}^* = (x^*,y^*)$ and its neighboring
grid points $\{\mathbf{x} = (x_m,y_n)|m,n \in \mathbb N\}$, we can
find
\begin{equation}
(\tilde{u}(\mathbf{x}^*))^+ =
\lim_{\mathbf{x} \to (\mathbf{x}^*)^+}{\tilde{u}(\mathbf{x})}
\end{equation}
using the following interpolation
\begin{equation} \label{se4}
\sum_{m,n} \beta_{m,n}\tilde{u}(x_m,y_n) + C
\end{equation}
where the coefficients $\beta_{m,n}$ and the correction term $C$ are
to be determined. It is more convenient to use the local coordinate
system in the tangential and normal directions (Fig. \ref{f1}) defined as
\begin{equation}
\begin{gathered}
\xi_m = (x_m - x^*)\cos\theta + (y_n - y^*)\sin\theta, \\
\eta_n = -(x_m - x^*)\sin\theta + (y_n - y^*)\cos\theta.
\end{gathered}
\end{equation}
The Taylor expansion of $\tilde{u}(x_m,y_n)$ at $\left( \xi,\eta\right) = (0,0)$ is
\begin{equation} \label{taylor2}
\begin{aligned}
&\tilde{u}(\xi_m,\eta_n) \\
&= \tilde{u}^{\pm} +
\frac{\partial \tilde{u}^{\pm}}{\partial \xi}\, \xi_m +
\frac{\partial \tilde{u}^{\pm}}{\partial \eta} \,\eta_n +
\frac{1}{2} \, \frac{\partial ^2 \tilde{u}^{\pm}}{\partial \xi^2}\,\xi_m^2
+ \frac{1}{2}\,
\frac{\partial ^2 \tilde{u}^{\pm}}{\partial \eta^2}\,\eta_n^2 +
\frac{\partial ^2 \tilde{u}^{\pm}}{\partial \xi \partial \eta}\,\xi_m \eta_n
+ \dots.
\end{aligned}
\end{equation}
The ${\pm}$ sign is determined according to whether
$\mathbf{x} \in \Omega ^{\pm}$.
Let us define
\begin{equation} \label{aks}
\begin{gathered}
a_1^{+} = \sum_{(x_m,y_n) \in \Omega^{+}} \beta_{m,n}, \quad
a_1^{-} = \sum_{(x_m,y_n) \in \Omega^{-}} \beta_{m,n}, \\
a_2^{+} = \sum_{(x_m,y_n) \in \Omega^{+}} \beta_{m,n}\xi_m, \quad
a_2^{-} = \sum_{(x_m,y_n) \in \Omega^{-}} \beta_{m,n} \xi_m, \\
a_3^{+} = \sum_{(x_m,y_n) \in \Omega^{+}} \beta_{m,n}\eta_n, \quad
a_3^{-} = \sum_{(x_m,y_n) \in \Omega^{-}} \beta_{m,n} \eta_n, \\
a_4^{+} = \sum_{(x_m,y_n) \in \Omega^{+}} \beta_{m,n}\frac{1}{2}\xi_m^2, \quad
a_4^{-} = \sum_{(x_m,y_n) \in \Omega^{-}} \beta_{m,n} \frac{1}{2}\xi_m^2, \\
a_5^{+} = \sum_{(x_m,y_n) \in \Omega^{+}} \beta_{m,n}\frac{1}{2}\eta_n^2, \quad
a_5^{-} = \sum_{(x_m,y_n) \in \Omega^{-}} \beta_{m,n} \frac{1}{2}\eta_n^2, \\
a_6^{+} = \sum_{(x_m,y_n) \in \Omega^{+}} \beta_{m,n}\xi_m\eta_n, \quad
a_6^{-} = \sum_{(x_m,y_n) \in \Omega^{-}} \beta_{m,n} \xi_m\eta_n.
\end{gathered}
\end{equation}
Substituting (\ref{taylor2}) into (\ref{se4}), the coefficients $\beta_{m,n}$ of the interpolation scheme for $\tilde{u}^{+}$ are seen to be the
solution of the
following linear system of equations
\begin{equation} \label{lineq2}
\begin{gathered}
a_1^{+}+a_1^{-} = 1, \quad a_2^{+}+a_2^{-} = 0,
\quad a_3^{+}+a_3^{-} = 0, \\
a_4^{+}+a_4^{-} = 0, \quad a_5^{+}+a_5^{-} = 0, \quad a_6^{+}+a_6^{-} = 0.
\end{gathered}
\end{equation}
The correction term is
\begin{equation} \label{correc2}
C = a_1^{-}[\tilde{u}] + a_2^{-}\big[\frac{\partial
\tilde{u}}{\partial \xi} \big] + a_3^{-}
\big[\frac{\partial \tilde{u}}{\partial \eta}\big]
+ a_4^{-}\big[\frac{\partial^2 \tilde{u}}{\partial \xi^2} \big]
+ a_5^{-} \big[\frac{\partial^2 \tilde{u}}
{\partial \eta^2} \big] + a_6^{-} \big[\frac{\partial^2 \tilde{u}}
{\partial \xi \partial \eta} \big].
\end{equation}
Again, we choose more than six grid points for the interpolation to get an
under-determined system of equations. The linear system of equations
is solved by the SVD method. The jump conditions in the correction term
can be represented by the jump in the solution and the flux (see \cite{li-ito-lai}).
Similarly, we can get an interpolation scheme for $\tilde{u}^{-}$. Once we
have $\tilde{u}^{\pm}$ at all orthogonal projections of inner irregular
grid points, it is also straightforward to get
$\begin{pmatrix} [\mathbf U] \\ [\mathbf V] \end{pmatrix}$
which is needed in the matrix-vector multiplication.
To get the interpolation grid points for a given inner projection point
$\mathbf{x}^* = (x^*,y^*)$, we choose at least 6 closest grid points to
$(x^*,y^*)$ as the interpolation stencil so that we can have a third order accurate
interpolation scheme. To avoid excess points we use $|\left( \xi_m,\eta_n\right)| \leq 2.5h$.
\subsection{The level set method for moving interfaces}
We use the level set method first introduced by
Osher \& Sethian \cite{osher-sethian} to solve the moving interface problems
modeled by the incompressible Stokes equations. The level set function
is evolved according to the level set function (a Hamilton-Jacobi equation)
\begin{equation} \label{level1}
\frac{\partial \varphi}{\partial t} + V_n |\nabla \varphi|= 0
\end{equation}
where $V_n = \mathbf{u} \cdot \mathbf{n}$ is the component of the velocity in the
level sets normal direction and $\varphi = \varphi(\mathbf{x},t)$. The level set function $\varphi$ is often chosen as the
signed distance function which satisfies the Eikonal equation
\begin{equation}
|\nabla \varphi| = 1
\end{equation}
at least in a neighborhood of the interface. To ensure that the level set
function $\varphi$ remains the signed distance
function, we solve the following re-initialization equation at each time step after interface advection
until $|\nabla \varphi| = 1 + \mathrm{O}(h^2)$:
\begin{equation} \label{level2}
\begin{gathered}
\varphi(\mathbf{x},t=0) = \varphi_0, \\
\frac{\partial \varphi}{\partial t} =\text{sign}(\varphi_0)(1-|\nabla \varphi|).
\end{gathered}
\end{equation}
Numerical methods \cite{osher:book, sethian:book} for Hamilton-Jacobi (HJ)
equations can be used to solve the level set equations
(\ref{level1})-(\ref{level2}).
In our implementation, we use the explicit forward Euler scheme for the time
derivative and the third order WENO (Weighted Essentially Non-Oscillatory)
scheme for the spatial derivatives.
The standard level set methods do not preserve volume well. Sussman et. al. \cite{sussman:re}
incorporated the volume conservation condition into the re-initialization
equation (\ref{level2}) and a hybrid particle
level set approach has also been proposed \cite{ron-hybrid}. We use a simple
approach described in \cite{g1} to preserve the area.
\section{Numerical examples} \label{sec:6}
In this section we present one example with fixed interface, one with a
moving interface and one with four moving interfaces.
All the computations are done on a P4 2.80GHz DELL desktop PC with
512MB memory. The computational
domain is $\Omega = [-2,2] \times [-2,2]$. We choose to fix
$\mu^+ = 1.0$, so $\lambda = \frac{\mu^-}{\mu^+} = \mu^-$.
\subsection{A general fixed interface test problem}
We first present some results to a general fixed interface test problem.
The interface is chosen to be a unit circle
\begin{equation}
\varphi(x,y) = \sqrt{x^2+y^2} - 1.0.
\end{equation}
The initial guess of GMRES for the augmented variable $\mathbf Q$ takes zero values.
The non-physical exact test solutions of $(\mathbf{u},p)$ are constructed as \cite{li-ito-lai}
\begin{equation}
\begin{gathered}
u = \begin{cases}
\frac{y}{4}& \text{if $x^2+y^2 < 1$}, \\
\frac{y}{4}(x^2+y^2)& \text{if $x^2+y^2 \ge 1$};
\end{cases}
\\
v = \begin{cases}
-\frac{x}{4}(1-x^2)& \text{if $x^2+y^2 < 1$}, \\
-\frac{xy^2}{4}& \text{if $x^2+y^2 \ge 1$}; \\
\end{cases}
\\
p = \begin {cases}
(-\frac{3}{4}x^3+\frac{3}{8}x)y& \text{if $x^2+y^2 < 1$}, \\
0& \text{if $x^2+y^2 \ge 1$}. \\
\end {cases}
\end{gathered}
\end{equation}
The body force term $\mathbf g = (g_1,g_2)^T$ is chosen to be
\begin{equation}
\begin{gathered}
g_1 = \begin {cases}
\left( -\frac{9}{4}x^2+\frac{3}{8} \right) y& \text{if $x^2+y^2 < 1$}, \\
-2\mu^+y& \text{if $x^2+y^2 \ge 1$};
\end{cases}
\\
g_2 = \begin{cases}
-\frac{3}{4}x^3+\frac{3}{8}x-\frac{3\mu^-}{2}x& \text{if $x^2+y^2 < 1$}, \\
\frac{\mu^+}{2}x& \text{if $x^2+y^2 \ge 1$}.
\end {cases}
\end{gathered}
\end{equation}
And the singular interface force terms are
\begin{equation}
\begin{gathered}
\hat{f}_1 = (\frac{3}{4}\cos^3\theta-\frac{3}{8}\cos\theta)\sin\theta-\frac{3}{2}\cos^3\theta\sin\theta[\mu],\\
\hat{f}_2 = \frac{1}{2}\mu^++\frac{3}{4}[\mu]\cos^2\theta(1-2\cos^2\theta).
\end{gathered}
\end{equation}
To accommodate the exact solutions, the jump condition for
$\frac{\partial p}{\partial n}$ is modified by
adding a correction term,
which does not change the difficulty of the problem.
Note that this is a very general fixed interface problem with non-homogeneous jumps and
tangential derivatives in all quantities.
\begin{figure}[hptb]
\begin{center}
\begin{tabular}{cc}
(a) & (b)\\
\includegraphics[width=0.47\textwidth]{figures/fig2}
& \includegraphics[width=0.47\textwidth]{figures/fig1}\\
(c) & (d)\\
\includegraphics[width=0.47\textwidth]{figures/fig3}
& \includegraphics[width=0.47\textwidth]{figures/fig4}
\end{tabular}
\end{center}
\caption{Convergence analysis in the $\mathcal{L}^{\infty}$ norm for four cases in
$\log$-$\log$ scale. The slope of the linear regression line is the convergence rate which
is close to number $2.0$ for all cases. (a) $\mu^- = 0.001$ and $\mu^+ = 1.0$.
(b) $\mu^- = 0.1$ and $\mu^+ = 1.0$. (c) $\mu^- = 10$ and $\mu^+ = 1.0$.
(d) $\mu^- = 1000$ and $\mu^+ = 1.0$. Linear regressions $R^2>0.98$ for all cases.}
\label{fig1}
\end{figure}
\begin{figure}[hpbt]
\begin{center}
\includegraphics[width=0.8\textwidth]{figures/fig5}
\end{center}
\caption{Algorithm efficiency analysis for 32 by 32 through 896 by 896 grids.
Left axis represents
number of GMRES iterations and right axis represents computational
CPU cost with unit second using log scale. GMRES iterations (thick curves) remain relatively constant with
grid size, and CPU time (thin curves) $\sim$ grid number$^2$.}
\label{fig2}
\end{figure}
We use linear regression analysis to find the convergence order of all
quantities. For this purpose, we choose $m = n = 32 + 16k(k = 0, \dots, 54)$
and run the convergence analysis for
$\lambda = 0.001, 0.1, 10$ and
$1000$. Fig. \ref{fig1} is the grid refinement analysis of the test problem.
The error is the $\mathcal{L}^{\infty}$ error at all grid points. The slope of the linear
regression line is the order of the convergence.
It is clear from these results that the algorithm is
second order accurate in velocity $\mathbf{u} = (u,v)^T$, as expected, and
almost second order accurate in pressure $p$.
For this problem, it also seems that with larger $\lambda$, the numerical solution for
$u$ (or $v$) tends to be more accurate than the solution for $p$.
Fig. \ref{fig2} shows the algorithm efficiency analysis.
The number of GMRES iterations seems to
be independent of grid size for fixed $\lambda$, and increases slowly as
$\lambda$ increases. Most simulations finish within two minutes.
\begin{figure}[hptb]
\begin{center}
\includegraphics[width=0.6\textwidth]{figures/05}
\end{center}
\caption{A moving interface simulation with $\lambda = 0.5$,
at time $t = 0, 0.86, 1.90$
and $6.75$. Starting from the ellipse, the
interface evolves to a circle. The inner reference circle (dash curve) helps to show the
symmetry of the equilibrium interface.
The final area inside the interface is $3.14\approx \pi$ so our algorithm preserves area well.}
\label{fig3}
\end{figure}
\begin{figure}[hpbt]
\begin{center}
\includegraphics[width=0.6\textwidth]{figures/fig7}
\end{center}
\caption{Comparison of viscosity effects on interface motion. Three curves (thin curves) at time
$t = 1.5$, for $\lambda = 0.5,1.0,2.0$. $\lambda = 0.5$ approaches equilibrium
(thick curve) fastest.}
\label{fig4}
\end{figure}
\begin{figure}[hptb]
\begin{center}
\begin{tabular}{cc}
(a) & (b) \\
\includegraphics[width=0.47\textwidth]{figures/x3}
& \includegraphics[width=0.47\textwidth]{figures/x4}
\end{tabular}
\end{center}
\caption{A moving interface simulation starting with four elliptic interfaces (white boundary).
Streamlines are drawn and symmetry of streamlines are observed as expected. We choose $\lambda=1$ here.
(a) $t=5$. (b) $t=50$.}
\label{fig5}
\end{figure}
\subsection{A moving interface test problem}
We present a moving interface test problem where the surface tension is the only interface force, i.e.
the normal force $\hat{f}_1 = \alpha \kappa$ where $\alpha > 0$ and $\kappa$ is the curvature as
defined before; we set the tangential force $\hat{f}_2 = 0.0$. We choose $\alpha = 1.0$ and $m = n = 64$
in our simulations. It is known that starting from an arbitrary interface shape without any body forces,
i.e. $\mathbf{g = 0}$, the interface will evolve to the equilibrium circle shape \cite{rjl-li:stokes}.
The initial interface is chosen to be an ellipse
\begin{equation}
\varphi(x,y) = \sqrt{\frac{(x+y)^2}{2a^2}+\frac{(-x+y)^2}{2b^2}} - 1.0
\end{equation}
where $a = 2.0$ and $b = 0.5$. We use periodic boundary conditions for both $\mathbf{u}$ and $p$.
See Fig. \ref{fig3} for an example of the interface evolution. Also see Fig. \ref{fig4} for a
comparison of the evolving interfaces with different $\lambda$'s at a fixed time. It is clear from
Fig. \ref{fig4} that the more viscous fluid moves slower. For all the moving interface simulations, the
area conservation algorithm \cite{g1} preserves the initial area at each time step exactly.
\subsection{A moving multiple-interface problem}
We present another moving interface test problem with a
multiply-connected interface consisting initially of four ellipses. As
in the other test problems, we use periodic boundary conditions on the
edges of the simulation rectangle. The two fluids have equal viscosity,
the surface tension is given as $\hat{f}_1 = \alpha \kappa$ where $\alpha = 0.1$,
and we set $\hat{f}_2 = 0$. The initial interfaces are easily constructed using
the union of individual level set functions \cite{osher:book, sethian:book}. As the four
symmetrically placed ellipses relax to circles, we observe preservation
of the symmetries in the flow. Equilibrium is reached when the pressure
is uniformly distributed.
\section*{Discussion} \label{sec:7}
In this paper we proposed a new numerical method for Stokes equations
with interfaces, by combining the augmented interface method with the
level set method. Our method handles moving interfaces and multiply
connected interfaces more easily than a spline approach, and could more
easily be extended to 3D. Our algorithm is shown to be 2nd order
accurate in both velocity and pressure, and conserves volume well. Our
method should prove useful for interface problems in fluid flow and
biological models.
One of the remaining open questions is how to use a preconditioning technique
for the Schur complement system since the coefficient matrix for the Schur
complement system is not explicitly formed. Even the simplest diagonal
preconditioning technique needs to use the fast Stokes solver $N_b$ times
which would cost more than that of the entire solution process for the
testing examples in this paper. On the other hand, as discussed in
\cite{li:fast}, a good interpolation
scheme for the residual that takes advantages of the interface/jump conditions
can reduce the number of iteration significantly. Therefore, it is more
practical to tune-in the interpolation scheme as a preconditioner than to
use preconditioning techniques that require structures of the coefficient
matrix. Fortunately, for all the test examples in this paper, the number
of GMRES iterations is modest (fewer than $55$).
\subsection*{Acknowledgments}
This work was partially supported by grants: 0201094 from
NSF/NIH, 43751-MA from ARO, and DMS-0412654 from NSF.
The first author would like to thank Prof. John Bishir
for helpful discussions and proofreading the paper.
\begin{thebibliography}{00}
\bibitem {chorin:proj} A. J. Chorin,
\emph{Numerical solution of the Navier-Stokes equations},
Math. Comput. 22:745-762, 1968.
\bibitem {cortez-stokes} R. Cortez,
\emph{The Method of Regularized Stokeslets},
sisc, 23: 1204-1225, 2001.
\bibitem {ron-hybrid} D. Enright, R. Fedkiw, J. Ferziger and I. Mitchell,
\emph{A hybrid particle level set method for improved
interface capturing}, J. Comp. Phys., 183:83-116, 2002.
\bibitem {fauci1} L. J. Fauci and A. McDonald,
\emph{Sperm motility in the presence of boundaries}, B. Math. Biol.,
57:679-699, 1994.
\bibitem {fo-pe} A. L. Fogelson and C. S. Peskin;
\emph{Numerical solution of the three dimensional Stokes equations in
the presence of suspended particles},
Proc. SIAM Conf. Multi-phase Flow, SIAM. June 1986.
\bibitem {givelberg1} E. Givelberg and J. Bunn,
\emph{A comprehensive three-dimensional model of the
cochlea}, J. Comput. Phys., 191:377-391, 2003.
\bibitem {g1} S. Gro\ss, V. Reichelt and A. Reusken,
\emph{A finite element based level set method for two-phase incompressible flows},
IGPM-Report 243, RWTH Aachen, 2004.
\bibitem {jadhav1} S. Jadhav, C. D. Eggleton and K. Konstantopoulos,
\emph{A 3-D computational model predicts that
cell deformation affects selectin-mediated leukocyte rolling},
Biophys. J., 88:96-104, 2005.
\bibitem {rjl-li:sinum} R. J. LeVeque and Z. Li,
\emph{The immersed interface method for elliptic equations with discontinuous coefficients
and singular sources}, SIAM J. Numer. Anal., 31:1019, 1994.
\bibitem {rjl-li:stokes} R. J. LeVeque and Z. Li,
\emph{Immersed interface methods for Stokes flow with elastic boundaries or
surface tension}, SIAM J. Sci. Comput., 18:709-735, 1997.
\bibitem {li:thesis} Z. Li,
\emph{The immersed interface method - a numerical approach for partial differential equations
with interfaces}, PhD thesis, University of Washington, 1994.
\bibitem {li:review} Z. Li,
\emph{An overview of the immersed interface method and its applications},
Taiwanese J. Mathematics, 7:1-49, 2003.
\bibitem {li:fast} Z. Li,
\emph{A Fast Iterative Algorithm for Elliptic Interface Problems}, SIAM J. Numer. Anal.,
35:230-254, 1998.
\bibitem {li-ito} Z. Li and K. Ito,
\emph{Maximum Principle Preserving Schemes for Interface Problems with
Discontinuous Coefficients}, SIAM J. Sci. Comput., 23:1225-1242, 2001.
\bibitem{li-ito-lai} Z. Li and K. Ito and M-C. Lai;
\emph{An augmented approach for Stokes equations with a
discontinuous viscosity and singular forces},
NCSU-CRSC Tech. Report: CRSC-TR04-23, North Carolina
State University, 2004.
\bibitem {li-lubkin} Z. Li and S. R. Lubkin,
\emph{Numerical Analysis of Interfacial 2D Stokes Flow with
Discontinuous Viscosity and Variable Surface Tension},
Numerical Methods in Fluids, 37:525-540, 2001.
\bibitem {li:void} Z. Li, H. Zhao and H. Gao,
\emph{A numerical study of electro-migration voiding by evolving level
set functions on a fixed Cartesian grid}, J. Comput. Phys., 152:281-304, 1999.
\bibitem {lubkin-li} S. R. Lubkin and Z. Li,
\emph{Force and Deformation on Branching Rudiments: Cleaving Between Hypotheses},
Biomechanics and Modeling in Mechanobiology, 1(1):5-16, 2002.
\bibitem {mayo-pe} A. Mayo and C. S. Peskin,
\emph{An implicit numerical method for fluid dynamics problems with
immersed elastic boundaries}, Contemp. Math., 141:261-277. 1991.
\bibitem {mcqueen1} D. M. McQueen and C. S. Peskin,
\emph{Heart simulation by an immersed boundary method with formal second-order
accuracy and reduced numerical viscosity},
In Mechanics for a New Millennium, Proceedings of the International
Conference on Theoretical and Applied Mechanics
(H. Aref and J. W. Phillips, eds.), Kluwer Academic Publishers, 2001.
\bibitem {osher:book} S. J. Osher and R. P. Fedkiw,
\emph{Level set methods and dynamic implicit surfaces}, Springer-Verlag, 2002.
\bibitem {osher-sethian} S. J. Osher and J. A. Sethian,
\emph{Fronts propagating with curvature-dependent speed: algorithms based on
Hamilton-Jacobi formulations}, J. Comput. Phys., 79:12-49, 1988.
\bibitem {fish} P. Swarztrauber and R. Sweet,
\emph{Efficient FORTRAN subprograms for the solution of elliptic
partial differential equations}, NCAR Technical Note-TN/IA-109, 1975.
\bibitem {peskin1} C. S. Peskin,
\emph{The immersed boundary method}, Acta Numerica, 1-39, 2002.
\bibitem {peskin2} C. S. Peskin and D. M. McQueen,
\emph{Fluid dynamics of the heart and its valves}, In
Case Studies in Methematical Modeling: Ecology, Physiology,
and Cell Biology (H. G. Othmer, F. R. Adler, M. A. Lewis
and J. C. Dallon, eds.), Prentice-Hall, Englewood Cliffs, NJ, 309-337, 1996.
\bibitem {POZRIKIDIS-eds} C. Pozrikidis eds.,
\emph{Modeling and simulation of capsules and biological cells}, Chapman \& Hall, London, 2003.
\bibitem {saad1} Y. Saad and M. Schultz, \emph{GMRES: a generalized
minimal residual algorithm for solving nonsymmetric linear systems},
SIAM J. Sci. Statist. Comput., 7:856-869, 1986.
\bibitem{saad} Y. Saad,
\emph{GMRES: A Generalized minimal residual algorithm for solving
nonsymmetric linear systems}, sissc, 7:856-869, 1986.
\bibitem {sethian1} J. A. Sethian and P. Smereka,
\emph{Level set methods for fluid interfaces},
Annu. Rev. Fluid Mech., 35:341-72, 2003.
\bibitem {sethian:book} J.~A.~Sethian,
\emph{Level Set Methods and Fast Marching methods},
Cambridge University Press, nd edition, 1999.
\bibitem {sussman:re} M. Sussman and E. Fatemi,
\emph{An efficient, interface-preserving level set redistancing algorithm
and its application to interfacial incompressible fluid flow},
SIAM J. Sci. Comput., 20:1165-1191, 1999.
\bibitem{tu-peskin} C. Tu and C. S. Peskin,
\emph{Stability and instability in the computation of flows with moving
immersed boundaries: a comparison of three methods},
sissc, 13:1361-1376, 1992.
\bibitem {wang1} X. Wang and W. K. Liu,
\emph{Extended immersed boundary method using FEM and RKPM}, Comput. Methods
Appl. Mech. Eng., 193:1305-1321, 2004.
\bibitem {wiegmann1} A. Wiegmann and K. P. Bube,
\emph{The explicit-jump immersed interface method: finite difference
methods for PDEs with piecewise smooth solutions},
SIAM J. Numer. Anal., 37:827-862, 2000.
\bibitem {zhang1} L. Zhang, A. Gerstenberger, X. Wang and W. K. Liu,
\emph{Immersed finite element method}, Comput.
Methods Appl. Mech. Engrg., 193:2051-2067, 2004.
\end{thebibliography}
\end{document}