@mayukh33 pointed out that PicardIteration is confusing. A better name would be FixedPointIteration.
Also, fixed-point iteration is useful for more things than just solving the equilibrium profile, so it would be helpful to generalize this class to accept various functions. The current solver is a special case that solves the equilibrium DFT.