Re: [petsc-dev] block size information in gamg

2016-10-14 Thread Mark Adams
FYI, I pushed a fix for snes/ex56 into knepley/feature-plex-bdfunc so this should fix next. On Fri, Oct 14, 2016 at 12:25 PM, Mark Adams wrote: > Note, I have a pull request in (for weeks) that adds a convergence study > to snes/ex56 so this might conflict Stefano is doing. > >

Re: [petsc-dev] block size information in gamg

2016-10-14 Thread Mark Adams
Note, I have a pull request in (for weeks) that adds a convergence study to snes/ex56 so this might conflict Stefano is doing. Also, next is broken because of what I think was an API change from Matt et.al. We are getting a bit tied up here. On Fri, Oct 14, 2016 at 11:05 AM, Mark Adams

Re: [petsc-dev] block size information in gamg

2016-10-14 Thread Mark Adams
Stefano, There is a bug, I think, that was discussed on an earlier thread and it did not get resolved AFAIK. If you feel like folding this into this project (if you page it back in) then that would be nice. Here is a quote: My pull request for snes/ex56 has: ierr =

Re: [petsc-dev] block size information in gamg

2016-10-11 Thread Stefano Zampini
Here is a first attempt: stefano_zampini/allow-late-matsetblocksizes The new block sizes are not yet propagated to the diagonal and off-diagonal part. ex56 seems to produce the same AMG hierarchy. 2016-10-11 9:54 GMT+03:00 Stefano Zampini : > > > >> >> So it doesn't

Re: [petsc-dev] block size information in gamg

2016-10-11 Thread Stefano Zampini
> > So it doesn't want to change the block size if map->range has been set > (i.e. PetscLayoutSetUp()) was called. But if the matrix is AIJ so long as > !(map->n % bs) one can actually set the block size at any time. So how > about if I change the Mat code to allow setting the block size late for

Re: [petsc-dev] block size information in gamg

2016-10-10 Thread Barry Smith
Stefano, There is currently a PCFieldSplitSetBlockSize() and a PCSPAISetBlockSize() PetscErrorCode MatSetBlockSize(Mat mat,PetscInt bs) { PetscErrorCode ierr; PetscFunctionBegin; PetscValidHeaderSpecific(mat,MAT_CLASSID,1); PetscValidLogicalCollectiveInt(mat,bs,2); ierr =