diff --git a/pvlib/pvsystem.py b/pvlib/pvsystem.py index ba64fc200b..47dfbcabec 100644 --- a/pvlib/pvsystem.py +++ b/pvlib/pvsystem.py @@ -1843,7 +1843,8 @@ def v_from_i(resistance_shunt, resistance_series, nNsVth, current, # evaluation (above) results in NaN from overflow, 3 iterations # of Newton's method gives approximately 8 digits of precision. w = logargW - for i in range(0, 3): + order = np.ceil(np.log10(w)).astype(int) + for i in range(0, 3*order): w = w * (1 - np.log(w) + logargW) / (1 + w) lambertwterm_log = w