qpv-research-group / solcore5

A multi-scale, python-based library for the modelling of solar cells and semiconductor materials
https://www.solcore.solar/
Other
133 stars 77 forks source link

Future Solcore: preparing existing resources #227

Closed dalonsoa closed 2 years ago

dalonsoa commented 2 years ago

In preparation for Solcore 6, this PR brings together the existing improvements in the code - mostly thanks to a NumFOCUS short development grant - and makes them available within the solcore.future subpackage.

These features - partly translating existing code into a more maintainable state - might be useful in isolation, but do not allow for an end-to-end simulation of a solar cell, yet. They are made available to check with the community the convenience and usability of the interface and to enable a progressive transition. Obviously, they are not for production.

The transition plan to Solcore 6, to be further elaborated and discussed with the community and stakeholders in the Wiki and the Discussion areas of the page is summarised in the following figure:

Solcore_roadmap

TODO before this PR can be merged and Solcore version 5.9 can be released:

codecov[bot] commented 2 years ago

Codecov Report

Merging #227 (68454e7) into develop (6ab9925) will increase coverage by 0.81%. The diff coverage is 48.68%.

@@             Coverage Diff             @@
##           develop     #227      +/-   ##
===========================================
+ Coverage    48.52%   49.34%   +0.81%     
===========================================
  Files           84      101      +17     
  Lines         9032    11041    +2009     
===========================================
+ Hits          4383     5448    +1065     
- Misses        4649     5593     +944     
Impacted Files Coverage Δ
solcore/analytic_solar_cells/detailed_balance.py 11.20% <0.00%> (ø)
solcore/analytic_solar_cells/diode_equation.py 14.10% <0.00%> (ø)
solcore/future/junctions/da_junction.py 0.00% <0.00%> (ø)
solcore/future/junctions/two_diode_junction.py 0.00% <0.00%> (ø)
solcore/absorption_calculator/nk_db.py 17.74% <50.00%> (-29.04%) :arrow_down:
solcore/future/junction_base.py 71.64% <71.64%> (ø)
solcore/absorption_calculator/adachi_alpha.py 76.28% <89.47%> (-1.38%) :arrow_down:
solcore/future/material.py 90.62% <90.62%> (ø)
...bsorption_calculator/dielectric_constant_models.py 75.32% <100.00%> (+0.16%) :arrow_up:
...ore/absorption_calculator/rigorous_coupled_wave.py 94.14% <100.00%> (+1.44%) :arrow_up:
... and 32 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more