sogno-platform/dpsim

Create linear solver configuration class

LennartSchu opened this issue · 0 comments

Currently, the linear solvers (KLU, SparseLU, etc.) are using default solver settings. These default settings may not be optimal for each simulation. Therefore, it would be reasonable to have a configuration-object that can be passed to each linear solver (which inherit from DirectLinearSolver) , from which each solver can read the required configuration. Configuration options could be:

  1. Ordering, such as
    • AMD
    • COLAMD
    • specialised orderings for partial refactorization, if applicable
  2. Scaling
  3. Partial refactorization method (Refactorization Restart or Factorization Path), if applicable

If a option is not available in the solver, it could make sense to log this circumstance as information to the user and default to a certain option. This would require the DirectLinearSolver-classes would have access to spdlog, which is not the case now.