Smoothed aggregation mostly just cares about the near-null space (MatSetNearNullSpace), which is a global property. Classical AMG uses block size directly (number of dofs per C-point), but I'm not aware of any implementation that supports variable block size. This would be a research topic.
Marco Cisternino via petsc-users <petsc-users@mcs.anl.gov> writes: > Hi Stefano, > thanks for your interest. > Mainly, elliptic operators both in the context of methods in NS solvers and > in the context of mesh deformation. > I didn't think about AMG on each block. What I was thinking about is an AMG > preconditioner aware about the variable size blocks. > I hope it is clearer than before. > Thanks, > > > Marco Cisternino, PhD > marco.cistern...@optimad.it > _______________________________ > OPTIMAD Engineering srl > Via Giacinto Collegno 18, Torino, Italia. > +3901119719782 > www.optimad.it > > > ________________________________________ > Da: Stefano Zampini <stefano.zamp...@gmail.com> > Inviato: lunedì 28 ottobre 2019 17:09 > A: Marco Cisternino > Cc: petsc-users > Oggetto: Re: [petsc-users] AMG Variable block preconditioner > > Marco, > > you should define what do you mean by "AMG block preconditioning"; separate > AMG on each block? What operator do you plan to precondition? > AFAIK, MatSetVariableBlockSizes is just exploited by the Jacobi solver . > > Thanks > Stefano > > Il giorno lun 28 ott 2019 alle ore 19:05 Marco Cisternino via petsc-users > <petsc-users@mcs.anl.gov<mailto:petsc-users@mcs.anl.gov>> ha scritto: > Hello everybody. > We would like to setup an algebraic multi-grid block preconditioner and I > would like to be able to define custom blocks of variable sizes. Reading the > documentation, it seems that this can be achieved using the "PCGAMG" > preconditioner and defining the blocks with the function > "MatSetVariableBlockSizes". Is this correct? > Are the variable blocks exploited by PCGAMG algorithms? We suppose this PC > structure is already exploited in PCVPBJACOBI. > Are the different options like PCHYPRE (setting "-pc_hypre_type" to > "boomeramg") suitable for AMG preconditioner with variable size blocks? > If none of the above solutions are available, could anyone suggest any other > strategy in order to get a preconditioner like this using PETSc? > Any help is much appreciated. > Thanks. > > Best regards, > > Marco Cisternino > > > -- > Stefano