On Mon, Oct 12, 2015 at 1:49 AM, keguoyi <[email protected]> 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
