Feature/generalize newton
Makes three things more general in the Newton
- Allow to replace the name of the solver (default "Newton"). Can be useful in derived classes to overwrite.
- Allow to overwrite the initial verbosity settings without using the parameter tree.
- Support non-nested types like
Dune::BlockVector<double>
in the VariablesBackend (before, a nestedDune::BlockVector<Dune::FieldVector<double, 1>>
was the only option)
Also add a setter/getter for the line search feature.
Remark: (For a later MR) I might be good to offer a Newton constructor that takes a parameter tree object from which the parameters are being read. This allows a programmatic way of initializing the Newton which is useful in (non-standard) programs where the Newton is just a component used in some function or something.