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

Reply via email to