[firedrake] Nullspace & VectorSpaceBasis

Anna Kalogirou a.kalogirou at leeds.ac.uk
Wed Apr 29 18:10:42 BST 2015


Thanks Lawrence.

Unfortunately a lot of tests fail after the PyOP2 installation...



On 29/04/15 17:56, Lawrence Mitchell wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi Anna,
>
> On 29/04/15 14:50, Anna Kalogirou wrote:
>> Dear all,
>>
>> I am experiencing again the same error I reported in December,
>> when trying to solve an equation only on the boundary of a domain
>> (the code is the same as the one in my email below dated 11
>> December 12:46). The problem was fixed back then but after all
>> these months and after various updates, I get it again.
>>
>> Basically PETSc is complaining about Object being in wrong state
>> and Matrix missing a diagonal entry. The error arises when trying
>> to solve this VP:
>>
>> a = v*phi*ds(4) L = (v*phi0 - g*dt*v*eta0)*ds(4)
>>
>>
>> Note that I get two different errors on two different computers (on
>> the other computer I get a Zero pivot error in LU factorization, on
>> row 0), but the one I am reporting here is based on the computer
>> with the latest petsc/pyop2/firedrake update.
> Thanks, the missing diagonal entry was indeed a regression on our
> part.  I have fixed this in PyOP2 so if you just update PyOP2 again it
> should go away.  Additionally I actually added tests that the
> diagonals get created this time, so hopefully the same issue will not
> pop up again the next time one of us touches this part of the code.
>
> Now to address the zero pivot error.  This is due to a change in
> PETSc: previously (certainly back in December) the default ILU
> preconditioner would shift the diagonal to try and avoid zero pivots.
>   This was changed such that now the default is no shifting.
>
> With your operator, given that a large number of the entries /are/
> zero, you therefore hit this zero pivot error.
>
> To rectify this, pass the solver parameter option:
>
> solver_parameters={'pc_factor_shift_type': 'nonzero'}
>
> If you're running with MPI, you should also pass the pair:
>
>   'sub_pc_factor_shift_type': 'nonzero'
>
> Since the default PC in parallel is process-block ILU.
>
> Cheers,
>
> Lawrence
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1
>
> iQEcBAEBAgAGBQJVQQ0eAAoJECOc1kQ8PEYvgEEH+wY26EMvhg2RHR+hwBTVBruz
> DpJOGdyJaBIIgMkDCP4/F0Q7aNyAmX5VBjD4EOlLh3zUJu0DIUT3AkGpYV9cYQ16
> nRSed7eKsTb03HaiNwcxrNxJ2cGIiQeBWdJ8TadX3HYEGlBacTI7oMAzAjp+G0V2
> U4rOlq+6ilTdiPJMvfADMLxU70tV6Ni4QgsQNdT0yWygLA/cefFuRlM1D/jE4EPq
> Wr8NTp8e4bu6Z1q42sFiK0kIGahTu42hdYTnUHJx7g2mbYh3qBHEaILnb8f5yXR4
> OPRaLhCjiQAjYMsjoYexXpBgCX/zlVibYsCuJ+f1EbXuyVIQ/FJG64XhW/Dzrk4=
> =aHDU
> -----END PGP SIGNATURE-----
>
> _______________________________________________
> firedrake mailing list
> firedrake at imperial.ac.uk
> https://mailman.ic.ac.uk/mailman/listinfo/firedrake

-- 
  
  Dr Anna Kalogirou
  Research Fellow
  School of Mathematics
  University of Leeds

  http://www1.maths.leeds.ac.uk/~matak/




More information about the firedrake mailing list