MatGetVecs and MATMFFD

Boyce Griffith griffith at
Thu Aug 21 11:23:49 CDT 2008

Hi, Lisandro --

Is there any way to associate a context with a MFFD matrix?  It seems like 
the Otherwise, it seems like the implementation of MatGetVecs would need 
to use global variables in order to create the appropriate vectors.

Or is it possible to get access to the solution and right-hand-side 
vectors used by an associated SNES and use VecDuplicate on them?


-- Boyce

On Thu, 21 Aug 2008, Lisandro Dalcin wrote:

> On Thu, Aug 21, 2008 at 9:01 AM, Boyce Griffith
> <griffith at> wrote:
>> Hi, Folks --
>> I am using a home-grown "multi-Vec" (i.e., vector of vectors) implementation
>> with a PETSc nonlinear solver.  I'd like to be able to use PETSc's
>> matrix-free Jacobian with this solver along with a PCCOMPOSITE
>> preconditioner; however, it seems like I need to override the default
>> implementation of MatGetVecs in order to get this to work.
>> Is there a kosher way to do this?
> You can use MatShellSetOperation() and set the operation
> MATOP_GET_VECS. Despite the name, that function can let you set/change
> the implementation of Mat operations for any matrix type. Try to make
> the call to MatShellSetOperation() in the Jacobian routine and let me
> know if you have trouble.
>> Thanks,
>> -- Boyce
> -- 
> Lisandro Dalcín
> ---------------
> Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
> Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
> Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
> PTLC - Güemes 3450, (3000) Santa Fe, Argentina
> Tel/Fax: +54-(0)342-451.1594

More information about the petsc-users mailing list