Hi,
While doing multigrid it is possible to explicitly set restriction and prolongation/interpolation operators in PETSC using PCMGSetRestriction and PCMGSetInterpolation. In many cases, the restriction (R) and prolongation (P) operators are simply the transpose of each other (R=P’). Yet, in certain cases, for example variable viscosity Stokes with a staggered finite difference discretization, it is advantageous if they are different (see http://arxiv.org/pdf/1308.4605.pdf). Accordding to the Wesseling textbook, Galerkin coarsening of the fine grid matrix is defined as: Acoarse = R*A*P Yet, as far as I can tell, PETSc seems to implement this as: Acoarse = R*A*R’ even in the case that R is different from P’. Is there a way for PETSc to use the actually provided prolongation and restriction operators to compute the coarse grid approximation? thanks! Boris _______________________________________________________ Boris J.P. Kaus Institute of Geosciences, Geocycles Research Center & Center for Computational Sciences. University of Mainz, Mainz, Germany Office: 00-285 Tel: +49.6131.392.4527 http://www.geo-dynamics.eu _______________________________________________________
