Hi This example runs several linear solves because there is a nonlinear solver below a continuation scheme. I figured that it would be possible to reuse the preconditioner and see savings so I included the lines:
LinearSolver<Number> * linear_solver = system.get_linear_solver(); linear_solver->reuse_preconditioner(reuse_preconditioner); before the continuation loop. I didn’t see significative difference though. I ran the example with -log_summary to see if there was a difference in the preconditioned stage, but with or without reuse_preconditioner(true), the function PCSetup() is called the same number of times. Is this the correct way to reuse the preconditioned? Because I suspect it is not given that I don’t see such a flag inside libMesh::PetscNonlinearSolver< T >::solve() (https://libmesh.github.io/doxygen/classlibMesh_1_1PetscNonlinearSolver.html#a03b43dbd42cb7103e34f9238ab2ae7ff) What difference should I see in the -log_summary? PCSetup called just once? Thanks Miguel ------------------------------------------------------------------------------ Developer Access Program for Intel Xeon Phi Processors Access to Intel Xeon Phi processor-based developer platforms. With one year of Intel Parallel Studio XE. Training and support from Colfax. Order your platform today. http://sdm.link/xeonphi _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
