You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
The lambertw method has to take some pains to appropriately handle numerical overflow in an intermediate calculation.
Describe the solution you'd like
An implementation of [1,2], which reformulates the SDE so that it uses a different form of the Lambert W function and does not require calculating such large intermediate values.
Additionally, according to [3] and also my own brief testing, it is also computationally faster than the lambertw method.
@kandersolar Oh I fondly recall my brief interaction with Ken Roberts. I'm glad he and others have been able to develop his idea, and I didn't know it has apparently been extended to 2-diode models.
Is your feature request related to a problem? Please describe.
The
lambertw
method has to take some pains to appropriately handle numerical overflow in an intermediate calculation.Describe the solution you'd like
An implementation of [1,2], which reformulates the SDE so that it uses a different form of the Lambert W function and does not require calculating such large intermediate values.
Additionally, according to [3] and also my own brief testing, it is also computationally faster than the
lambertw
method.Additional context
[1] "On Calculating the Current-Voltage Characteristic of Multi-Diode Models for Organic Solar Cells": https://arxiv.org/abs/1601.02679
[2] "A Robust Approximation to a Lambert-Type Function": https://arxiv.org/abs/1504.01964
[3] "Solar Cells, Lambert W and the LogWright Functions": https://arxiv.org/abs/2307.08099
(I notice also that @markcampanelli is mentioned in the acknowledgements of [2])
Here is a rough implementation of the method, which I observe to be 2x faster than$\pm$ 1e-10 of its output.
_lambertw_v_from_i
while staying withinThe text was updated successfully, but these errors were encountered: