-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Open
Labels
Description
This paper provides a Newton-based method of finding the MPP, with the function and starting point constructed in such a way that they claim guarantees convergence. Rough timing (for 1000 sets of SDE parameters) compared with our existing methods:
method='lambertw'
: 42.5 ms ± 1.64 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)method='newton'
: 8.57 ms ± 236 μs per loop (mean ± std. dev. of 7 runs, 100 loops each)method='brentq'
: 877 ms ± 20.3 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)method='chandrupatla'
: 22.3 ms ± 974 μs per loop (mean ± std. dev. of 7 runs, 10 loops each)- Toledo et al. : 9.4 ms ± 713 μs per loop (mean ± std. dev. of 7 runs, 100 loops each)
The implementation is fewer than 100 lines of code (although Isc and Vmp are calculated using pvlib's i_from_v
and v_from_i
functions instead of the method in the paper).
Reference:
Toledo, F.J., Galiano, V., Herranz, V. et al. A comparison of methods for the calculation of all the key points of the PV single-diode model including a new algorithm for the maximum power point. Optim Eng 25, 1469–1503 (2024). https://doi.org/10.1007/s11081-023-09850-8
Worth including in pvlib?