Change Log

All notable changes to this project will be documented in this file.

v1.03 - 2025-05-11 - VMLC-PV

  • JV_steady_state.py, hysteresis.py, impedance.py, imps.py, EQE.py, CV.py: Added verbose output option for simulation functions made sure that we only return an integer (return code) and a message (string) from the simulation functions. This is to ensure that the return value is always an integer, never an object.

  • general.py: remade the ‘error_message’ function to provide more informative error messages and implemented an error code 666 when multiple simulations ran in parallel failed with different error messages.

v1.02 - 2025-04-28 - VMLC-PV, SH, FE

  • general.py: Modified the construct_cmd to work on Windows by adding “” around the parameter names and values.

  • Impedance.py: Let the function ‘run_impedance_simu’ return a result and message. With this update, ‘result’ is always a number, never an object. Handle failed to converge Voc simulation.

  • Hysteresis.py: removed np.trapezoid and replaced it with scipy.integrate.trapezoid, small update to the message output.

  • addons.py: Added some very simple functions to calculate the performance metrics of the solar cell.

  • get_SIMsalabim.py: fix some indentation issues.

  • Removed redundant SIMsalabim folder.

  • update docs.

v1.01 - 18-02-2025 - SH

  • Impedance.py: If the tolerance of the density solver (tolDens) was not strict enough when doing impedance, the calculated spectrum could be wrong/incorrect in some cases due to not high enough accuracy. As a small delta t creates a very large spike in current, we need sufficient accuracy to resolve this, hence the tolerance must be strict enough. We added a function to calculate the tolerance of the density solver to ensure that it is sufficiently strict. It is calculated using tolDens = J(t=∞) - J(t=0) / J_displacement.

  • Impedance.py: Added the option to calculate impedance at open-circuit voltage (Set applied voltage V0 to ‘oc’). When set, first the Voc is calculated by SIMsalabim, after which the just calculated Voc is then used as the applied voltage for the impedance calculation.

  • Hysteresis.py: Included the calculation of the hysteresis index (HI). The HI is defined as the area between the forward and backward scan normalised over the spanned area of the curves.

v1 - 2024-10-16 - VMLC-PV

  • Initial release of the project.

  • Includes new test and documentation.

  • added varFile as an input for the experiment functions.

  • added turn_off_autoTidy as a kwargs for the experiment functions to avoid autoTidy when not using threadsafe functions.

  • created setup.py and requirements.txt files.