working PETSc solver (sequential) with a multitude of options, configurable after component instantiation