Ifpack2: Add a "please tell me if I messed up the parameters" flag
Created by: mhoemmen
@vbrunini requests the following Ifpack2 feature: Add an option to Ifpack2, which, if enabled, catches unknown parameters. That is, if the option is enabled, and if a user gives a parameter to a solver that the solver does not understand (e.g., because the user misspelled it), then the solver should report an error.
@trilinos/ifpack2 @trilinos/muelu
Ifpack2 solvers tend to ignore parameters they don't understand. This is a legacy Ifpack compatibility thing. The history is that ParameterList originally didn't have sublists, so people just had to shove everything into a single list. Hence Ifpack2's "namespaced" parameter names: "schwarz: ...", "ilut: ...", etc.
This behavior creates work for users. See e.g., Sierra Ticket 19152. Currently, the only way to diagnose failure to set some parameters, is to notice that linear solves aren't converging, compared with AztecOO solves. This particularly hinders use of more complicated but effective Ifpack2 solvers. For example, ticket 19152 concerns domain decomposition with ILUT preconditioning, with nondefault ILUT settings that are required for effective convergence.