[petsc-users] discontinuous viscosity stokes equation 3D staggered grid

Jed Brown jedbrown at mcs.anl.gov
Wed Jul 17 14:48:07 CDT 2013


Bishesh Khanal <bisheshkh at gmail.com> writes:

> Now, I implemented two different approaches, each for both 2D and 3D, in
> MATLAB. It works for the smaller sizes but I have problems solving it for
> the problem size I need (250^3 grid size).
> I use staggered grid with p on cell centers, and components of v on cell
> faces. Similar split up of K to cell center and faces to account for the
> variable viscosity case)

Okay, you're using a staggered-grid finite difference discretization of
variable-viscosity Stokes.  This is a common problem and I recommend
starting with PCFieldSplit with Schur complement reduction (make that
work first, then switch to block preconditioner).  You can use PCLSC or
(probably better for you), assemble a preconditioning matrix containing
the inverse viscosity in the pressure-pressure block.  This diagonal
matrix is a spectrally equivalent (or nearly so, depending on
discretization) approximation of the Schur complement.  The velocity
block can be solved with algebraic multigrid.  Read the PCFieldSplit
docs (follow papers as appropriate) and let us know if you get stuck.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20130717/3ca9b6f7/attachment.pgp>


More information about the petsc-users mailing list