SNESSetApplicationContext usage
Vijay S. Mahadevan
vijay.m at gmail.com
Tue Mar 25 21:31:45 CDT 2008
Matt,
> There is a misunderstanding. The application context is separate from both
> the Function context and the Jacobian context.
If the object completely belongs to the user, can I use this function to
pass on pointers to my user objects ? Or is there some advanced usage that
would conflict with this procedure ?
Alternately I did try using SetFunction/Jacobian() already followed by
SetFromOptions and it does pass the correct user context as expected. The
glitch in this path is that even when I have -snes_mf, my Jacobian function
is being called with a MFFD Mat type. And hence, I get an error there while
trying to manipulate it. I should note that the first time I use my SNES
object, the Jacobian is never called. It happens only after I set the
Jacobian again.
Please do let me know if the first method or the second one would be a good
choice and the workaround needed to get it working.
Thanks.
Vijay
> -----Original Message-----
> From: owner-petsc-users at mcs.anl.gov [mailto:owner-petsc-users at mcs.anl.gov]
> On Behalf Of Matthew Knepley
> Sent: Tuesday, March 25, 2008 9:16 PM
> To: petsc-users at mcs.anl.gov
> Subject: Re: SNESSetApplicationContext usage
>
> On Tue, Mar 25, 2008 at 8:54 PM, Vijay S. Mahadevan <vijay.m at gmail.com>
> wrote:
> > Hi,
> >
> > I am trying to use the SNESSetApplicationContext function to set an
> object
> > as a user application context. This is being done after the SNESSolve
> was
> > already called once on the SNES object, using a NULL application
> context.
> >
> > For some reason, after the SNESSetApplicationContext call, the
> application
> > context on SNES is not being set. I am wondering if maybe I need to set
> some
> > flag to tell the SNES object to include this new context in further
> residual
> > and Jacobian calls. I saw the code for the SNESSetApplicationContext
> > function and it doesn't look like it but may be I am missing something
> ?
>
> There is a misunderstanding. The application context is separate from both
> the
> Function context and the Jacobian context. If you want to change these,
> you
> must call SetFunction/Jacobian() again.
>
> Matt
>
> > Thanks for the help.
> >
> > Vijay
> >
> > No virus found in this outgoing message.
> > Checked by AVG.
> > Version: 7.5.519 / Virus Database: 269.22.0/1342 - Release Date:
> 3/25/2008
> > 10:26 AM
> >
> >
> >
>
>
>
> --
> What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which
> their experiments lead.
> -- Norbert Wiener
>
> No virus found in this incoming message.
> Checked by AVG.
> Version: 7.5.519 / Virus Database: 269.22.0/1342 - Release Date: 3/25/2008
> 10:26 AM
>
No virus found in this outgoing message.
Checked by AVG.
Version: 7.5.519 / Virus Database: 269.22.0/1342 - Release Date: 3/25/2008
10:26 AM
More information about the petsc-users
mailing list