> On Oct 30, 2017, at 9:32 PM, zakaryah . <[email protected]> wrote:
> 
> You were right, of course.  I fixed the problem with the function evaluation 
> and the code seems to be working now, at least on small test problems.
> 
> Is there a way to setup preallocation of the Jacobian matrix, with the entire 
> first row and column non-zero?

  No great way. What you need to do is copy the specific code that does the 
preallocation for your problem from src/dm/impls/da/fdda.c stick it in your 
code and modify it so that it does the full allocation as you need.


>  I set the preallocation error flag to false, as you suggested several 
> messages ago, and this was great for testing, but now the first assembly of 
> the Jacobian is terribly slow due to allocating on the fly.
> 
> Thanks!
> 
> On Sun, Oct 29, 2017 at 7:07 PM, Matthew Knepley <[email protected]> wrote:
> On Sun, Oct 29, 2017 at 5:15 PM, zakaryah . <[email protected]> wrote:
> Good point, Jed - I feel silly for missing this.
> 
> Can I use -snes_type test -snes_test_display with the Jacobian generated from 
> a DMComposite?  When I try, it looks like the finite difference Jacobian is 
> missing all the elements in the row corresponding to the redundant variable, 
> except the diagonal, which is wrong.
> 
> Well, this leads me to believe the residual function is wrong. What the FD 
> Jacobian does is just call the residual
> twice with different solutions. Thus if the residual is different when you 
> perturb the redundant variable, you should
> have Jacobian entries there.
>  
> I'm not sure my code for setting the submatrices is correct.  I'm especially 
> uncertain about the submatrix J_bh, where b is the redundant variable and h 
> is the displacements.  This submatrix has only one row, and all of its 
> columns are non-zero.  Can its values be set with MatSetValuesLocal, on all 
> processors?
> 
> Is there an example of manually coding a Jacobian with a DMRedundant?
> 
> I don't think so. We welcome contributions.
> 
>   Matt
> 
> -- 
> 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
> 
> https://www.cse.buffalo.edu/~knepley/
> 

Reply via email to