Iterative methods in semiconductor device simulation