To simulate the physical process necessary to solve the arising systems of linear algebraic equations. The SLE matrix has a highly sparse form. There are a couple dozen non-zero elements in the string, including the diagonal. And all unknown a couple of million.
During the simulation, the matrix retains its portrait, but the coefficients change greatly. Therefore, it is more efficient (in terms of time) to use different solvers / preconditioners at different simulation times. It is necessary to come up with a criterion that uses some data about the matrix (perhaps its spectrum, but I think it is expensive to calculate), the characteristics of the computing system, and the estimate . According to this criterion, the decision will be made which solver / preconditioner to choose.
I can, of course, go the easy way. Run all solvers / preconditioners every N steps and select the fastest one.
But I would like to use something more difficult. Can you tell me what you can read? Or give your ideas that you used for something similar?