On Tue, Mar 15, 2011 at 20:47, Barry Smith <bsmith at mcs.anl.gov> wrote:
> Do you form the big-assed matrix > > | A dg_dx | > > | df_dy df_dx | > > explicitly as one big matrix? And each time-step you changes values in > the dg_dx, df_dy and df_dx parts with MatSetValues? > > > One fix may be to make PCSetUp() smarter and know the matrix has not > changed and hence it doesn't have to be refactored (instead of only relying > on the flag passed to KSPSetOperators()). > If you use MatNest (the logical choice with PCFieldSplit, it's a runtime option except for preallocation), then we could PetscObjectStateQuery() to decide when sub-objects need to be rebuilt. Seems like a better general-purpose solution if you want an easy high-level way to control when things get rebuilt. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20110315/34c70b4b/attachment.html>
