[params] Make it possible to initialize parameters when not called from main
We cannot expect that we always have argv
,argc
to initialize the parameters. Also we might wanna run a simulation without input file. Unfortunately, the new interface makes it possible to easily overwrite parameters in every class / function. The name init
still suggests that it should be only used to initialize parameters. Do we want such an option for the singleton? AFAIK Fenics also has a global parameter object that can be changed everywhere. This makes it possible to easily change parameters in the main file. However, the feature should never be used in any class as setting the parameter will have hidden side effects on the whole program. Maybe just having a function init
instead of a function setParam
documents our intent on how to use it well. By the way, overwriting the params in some class is also possible with the current init
, it's just inefficient as you overwrite all parameters and have to read the input file again.