Dear Matthew,

Thanks for the last Email. For the LSC preconditioner in Petsc, it allows to do 
inv(S)= inv(A10 A01) A10 A00 A01 inv(A10 A01). Is it also possible to do 
inv(S)= inv(Mp) Fp inv(Ap), where Mp and Ap are built by ourselves and not the 
same matrices. Thanks a lot.

Best,
Guoyi

Date: Mon, 12 Oct 2015 08:46:35 -0500
Subject: Re: [petsc-users] How to implement pressure convection�Cdiffusion 
preconditioner in petsz
From: [email protected]
To: [email protected]
CC: [email protected]

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�Cdiffusion 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
                                          

Reply via email to