A slight tangent but still related to this topic of reusing the preconditioner:
The TimeSolver in DifferentiableSystem has both a DiffSolver and a LinearSolver. The DiffSolver is used in the regular primal/forward solve() and the LinearSolver in the adjoint_solve(). It would be convenient to reuse the forward preconditioner in the adjoint solve, and it seems that there is a method for that in LinearSolver::reuse_preconditioner(bool ), but it is not the case actually. Both DiffSolver and LinearSolver don¹t seem to have a way to talk to each other so there is not really a preconditioner reusing between them. The reuse_preconditioner is only used between adjoint solves. Can anyone confirm that this is the case? And if so, how can I fix this? Thanks Miguel On 11/15/16, 12:59 PM, "Roy Stogner" <[email protected]> wrote: > >On Tue, 15 Nov 2016, Salazar De Troya, Miguel wrote: > >> What would be a good place to insert PetscDiffSolver::init()? Maybe >> in DifferentiableSystem::init() after the user initialization? > >I believe so. >--- >Roy ------------------------------------------------------------------------------ _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
