@jehicken I think this kind of solver setup should not be in AbstractSolver::solveSteady and should instead be in its own setup function that is called by AbstractSolver::initDerived.
Alternatively, instead of making a new virtual function for this setup and calling it in initDerived we could initialize the linear/newton solvers in the AbstractSolver constructor, and use options to select which solver/preconditioner to use.
@jehicken I think this kind of solver setup should not be in
AbstractSolver::solveSteady
and should instead be in its own setup function that is called byAbstractSolver::initDerived
.Alternatively, instead of making a new virtual function for this setup and calling it in
initDerived
we could initialize the linear/newton solvers in theAbstractSolver
constructor, and use options to select which solver/preconditioner to use.https://github.com/OptimalDesignLab/mach/blob/dc110a00d3903d0a020c41b27e94f20ff5b7a2bd/src/physics/solver.cpp#L393-L454