Dear Firedrakers, I am solving a 3 fields coupled problem with Firedrake. I would like to use a multiplicative block-preconditioner but PETSc complains about a local size not being correct. [0] Arguments are incompatible [0] Local size 9 not compatible with block size 2 I have noticed that the use of a MatAij solves the problem (see comment in line 132) but I am afraid this is just a side effect. Am I missing something? Thanks in advance, Nicolas
Hi,
On 18 Jun 2020, at 15:15, Karin&NiKo <niko.karin@gmail.com> wrote:
Dear Firedrakers,
I am solving a 3 fields coupled problem with Firedrake. I would like to use a multiplicative block-preconditioner but PETSc complains about a local size not being correct. [0] Arguments are incompatible [0] Local size 9 not compatible with block size 2
I have noticed that the use of a MatAij solves the problem (see comment in line 132) but I am afraid this is just a side effect.
Am I missing something?
It looks like this is a bug inside PETSc. I have a proposed a fix here: https://gitlab.com/petsc/petsc/-/merge_requests/2883 With that change, your code runs fine in both nest and aij mode. Lawrence
Thank you very much for the quick fix Lawrence. What is Firedrake's policy with respect to PETSc versioning ? To make it clear, when will your fix be available through "firedrake-update" ? Thanks, Nicolas Le jeu. 18 juin 2020 à 18:04, Lawrence Mitchell <wence@gmx.li> a écrit :
Hi,
On 18 Jun 2020, at 15:15, Karin&NiKo <niko.karin@gmail.com> wrote:
Dear Firedrakers,
I am solving a 3 fields coupled problem with Firedrake. I would like to use a multiplicative block-preconditioner but PETSc complains about a local size not being correct. [0] Arguments are incompatible [0] Local size 9 not compatible with block size 2
I have noticed that the use of a MatAij solves the problem (see comment in line 132) but I am afraid this is just a side effect.
Am I missing something?
It looks like this is a bug inside PETSc. I have a proposed a fix here: https://gitlab.com/petsc/petsc/-/merge_requests/2883
With that change, your code runs fine in both nest and aij mode.
Lawrence
On 19 Jun 2020, at 08:36, Karin&NiKo <niko.karin@gmail.com> wrote:
Thank you very much for the quick fix Lawrence. What is Firedrake's policy with respect to PETSc versioning ? To make it clear, when will your fix be available through "firedrake-update" ?
We update relatively regularly, I expect that it will be available through firedrake-update some time next week (after the petsc side of things merges). I will update here when that happens. Lawrence
Great, thanks! You're so fast! Le ven. 19 juin 2020 à 11:43, Lawrence Mitchell <wence@gmx.li> a écrit :
On 19 Jun 2020, at 08:36, Karin&NiKo <niko.karin@gmail.com> wrote:
Thank you very much for the quick fix Lawrence. What is Firedrake's policy with respect to PETSc versioning ? To make it clear, when will your fix be available through "firedrake-update" ?
We update relatively regularly, I expect that it will be available through firedrake-update some time next week (after the petsc side of things merges). I will update here when that happens.
Lawrence
On 19 Jun 2020, at 11:11, Karin&NiKo <niko.karin@gmail.com> wrote:
Great, thanks! You're so fast!
This took a little longer than I advertised, but the change is now merged in PETSc and the Firedrake tracking branch is updated, so if you firedrake-update this code should now work. Lawrence
Thank you very much for the information, Lawrence. I will upgrade my firedrake asap. Nicolas Le ven. 10 juil. 2020 à 16:42, Lawrence Mitchell <wence@gmx.li> a écrit :
On 19 Jun 2020, at 11:11, Karin&NiKo <niko.karin@gmail.com> wrote:
Great, thanks! You're so fast!
This took a little longer than I advertised, but the change is now merged in PETSc and the Firedrake tracking branch is updated, so if you firedrake-update this code should now work.
Lawrence
participants (2)
- 
                
                Karin&NiKo
- 
                
                Lawrence Mitchell