LinearSolver does not have the capability to have null spaces attached to it. In my opinion, wouldn’t it be a good idea to have a Solver class from which all the solvers can inherit common things like attaching null spaces or setting up the preconditioner?
On 11/16/16, 8:50 AM, "Salazar De Troya, Miguel" <[email protected]> wrote: >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 ------------------------------------------------------------------------------ _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
