Discussion:
[petsc-users] =?gb2312?Q?How_to_imp?= =?gb2312?Q?lement_pre?= =?gb2312?Q?ssure_conv?= =?gb2312?B?ZWN0aW9uqENkaWY=?= =?gb2312?Q?fusion_pre?= =?gb2312?Q?conditione?= =?gb2312?Q?r_in_petsz?=
keguoyi
2015-10-12 06:49:44 UTC
Permalink
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.

Any suggestion will be highly appreciated. Thank you so much!

Best,
Guoyi
Matthew Knepley
2015-10-12 13:46:35 UTC
Permalink
On Mon, Oct 12, 2015 at 1:49 AM, keguoyi <***@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
keguoyi
2015-10-14 23:31:47 UTC
Permalink
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: ***@gmail.com
To: ***@hotmail.com
CC: petsc-***@mcs.anl.gov

On Mon, Oct 12, 2015 at 1:49 AM, keguoyi <***@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š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
Loading...