add reset method which clears the internal states of the solver
make the solver a member in the runner
add a run_to() function to the two-scale solver