fix solver based on Richardson iteration