Thank you very much Jed, <div>The two last emails gave us the answer. </div><div><br></div><div>Paul, <br><br><div class="gmail_quote">2011/10/27 Jed Brown <span dir="ltr"><<a href="mailto:jedbrown@mcs.anl.gov" target="_blank">jedbrown@mcs.anl.gov</a>></span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div class="gmail_quote">On Thu, Oct 27, 2011 at 08:54, Paul Sicsic <span dir="ltr"><<a href="mailto:paul.sicsic@polytechnique.edu" target="_blank">paul.sicsic@polytechnique.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>   SubRoutine IJacobianPoisson(dummyTS, t, U, Udot, a, Jac, PreJac, AppCtx, iErr)</div><div>      Type(TS)                                     :: dummyTS</div>



<div>      PetscReal                                    :: t, a </div><div>      Type(Vec)                                    :: U, Udot</div><div>      Type(Mat)                                    :: Jac, PreJac  </div>






<div>
      Type(AppCtx_Type)                            :: AppCtx</div><div>      PetscInt                                     :: iErr</div></blockquote></div><br></div><div>You are missing the MatStructure argument here. Add that and your AppCtx should come through correctly.</div>



<div><br></div><div>(This produces a warning in sane languages like C because the function type is checked.)</div>
</blockquote></div><br>
</div>