[petsc-users] How to implement pressure convection–diffusion preconditioner in petsz

Matthew Knepley knepley at gmail.com
Mon Oct 12 08:46:35 CDT 2015


On Mon, Oct 12, 2015 at 1:49 AM, keguoyi <coyigg at hotmail.com> wrote:

> Dear Petsc developers and users,
>
> This is Guoyi ke, a graduate student in Texas Tech University.  I have a
> 2D Navier Stokes problem that has block matrices: J=[F    B^T; B    0]. I
> want to build a pressure convection–diffusion preconditioner (PCD) P=[F
> B^T; 0   Sp]. Here, we let Sp=-Ap(Fp)^(-1)Mp approximate schur complement
> S=-BF^(-1)B^T, where Ap is pressure Laplacian matrix, Mp is pressure mass
> matrix, and Fp is convection-diffusion operators on pressure space.
>
>  We use right preconditioner J*P^(-1)=[F    B^T; B    0] * [F    B^T; 0
> Sp]^(-1), and is it possible for Petsz to build and implement this
> precondioner P? Since (Sp)^(-1)=-(Mp)^(-1) Fp(Ap)^(-1), is it possible that
> we can solve (Mp)^(-1) and (Ap)^(-1) by CG method separately inside
> preconditioner P.
>

Take a look at the PCFIELDSPLIT preconditioner. I think you want the LSC
option for that (
http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/PC/PCLSC.html)
if I am reading your mail correctly.

  Thanks,

    Matt


> Any suggestion will be highly appreciated. Thank you so much!
>
> Best,
> Guoyi
>



-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20151012/978d856a/attachment-0001.html>


More information about the petsc-users mailing list