SNESSetUp() and matrix-free options

Barry Smith bsmith at
Thu May 7 15:14:20 CDT 2009

On May 7, 2009, at 3:00 PM, Lisandro Dalcin wrote:

> On Wed, May 6, 2009 at 5:53 PM, Barry Smith <bsmith at>  
> wrote:
>>   It is ok with me if you try moving it all.
> Ok, I've already started to work on this.
> 1) I would like to condensate -snes_mf_operator and -snes_mf_operator2
> in a single option, were you have to pass the version, 1 or 2 (the
> fist by default). It seems that version 2 does not work on all
> configurations, so what to do if version 2 is selected? Ignore it (as
> currently done)? Generate a PETSC_ERR_SUP?
    Yes an error

> 2) What should happen if a user pass BOTH options -snes_mf and
> -snes_mf_operators? Error? One of them should overrides the other?

    An error.
> 3) I would like to add a call to set matrix-free programatically...
> something like SNESSetUseMFFD(snes,...). Any signature suggetions
> regarding my previous discussions about the many options?

    No need to add this. One can already make the appropriate call to  
generate the
matrix and set it for the SNES Jacobian. So adding this would be  
functionality that already exists and hence illegal under PETSc policy.


> -- 
> 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-dev mailing list