# Variable viscosity Stokes equation

One very efficient way to solve Stokes equation with periodic boundary conditions

$$-\eta \nabla^{2} \bf{v} + \nabla p = f \\ \nabla \cdot \bf{v} = 0$$

is using the transverse projection operator (in Fourier space)

$$\tilde{\bf{v}} = \frac{1}{\eta \bf{k}^2} \left (\bf{I} - \frac{k k}{\left | k \right |^2} \right ) \cdot \tilde{\bf{f}}$$

I believe a similar principle is behind the fractional step (i.e. splitting or projection operator) techniques for solving the Navier-Stokes equation (e.g. doi: 10.1016/0021-9991(89)90151-4).

Can we use a similar trick to help us out when the viscosity is not a constant function of space? In other words, what if our Stokes equation looks like this,

$$- \nabla \cdot \left (\eta(\bf{r}) \nabla \bf{v} \right ) + \nabla p = \bf{f} \\ \nabla \cdot \bf{v} = 0$$

Is there an efficient (non-iterative) method to solve such a system of equations?

• Do you solve this problem, my friend. I need to solve the same problem, if you already solved it, please let me know. Thank you so much. – LU LI Oct 8 '18 at 20:49
• @LULI I wasn't able to find a non-iterative way, but we found a very efficient way to iterate. We ended up using a fixed point method, and then accelerating the convergence using Anderson acceleration and a first-order continuation method. We could usually converge in 20 steps or less. For our purposes, this was sufficient and we were able to resolve viscosity contrasts of at least 4 orders of magnitude in our simulations. There are more details in a paper we recently published here: dx.doi.org/10.1039/C6SM02839J and maybe some more in the SI here: dx.doi.org/10.1021/acsmacrolett.8b00012. – Doug Oct 10 '18 at 5:19