Closed jaydeshpande closed 3 years ago
What was the change you made?
I suspect ... I changed too many things when I tried it the last time. For this script above:
started with https://github.com/danieljfarrell/pvtrace/blob/dev/lsc-device/examples/lsc_custom_illumination.py
set parameters to match that from the thesis (thickness, refractive index)
set emit_method to 'full'. Partly because, 'kT' creates wavelengths out of bounds. I looked at modifying pvtrace/material/distribution.py. I was trying to re-write this part to "pass" when the nm is out of bounds. But quickly realized that this pass would destroy the photon accounting elsewhere. So instead, just decided to go with full.
eV = 1240.0 / nm
eV = eV + 3 / 2 * kB * T # Assumes 3 dimensional degrees of freedom
nm = 1240.0 / eV
p1 = dist.lookup(nm)
Comparison below:
Surface | Model | Fraction (%) |
---|---|---|
Bottom | Raytrace ICL | 49.2537313 |
Bottom | Raytrace ECL | 49.8507463 |
Bottom | Thermodynamic | 50 |
Bottom | PVtrace | 50 |
Top | Raytrace ICL | 13.5820896 |
Top | Raytrace ECL | 13.5820896 |
Top | Thermodynamic | 13.7313433 |
Top | PVtrace | 13.95 |
Long | Raytrace ICL | 7.1641791 |
Long | Raytrace ECL | 7.01492537 |
Long | Thermodynamic | 7.01492537 |
Long | PVtrace | 7.03125 |
Short | Raytrace ICL | 6.56716418 |
Short | Raytrace ECL | 6.26865672 |
Short | Thermodynamic | 5.67164179 |
Short | PVtrace | 5.7875 |
By the way - I truly believe in the capability of PVTrace. I might do some pull requests with new additions if you are open to it!
I like how clean and easy to understand it is.
What features are you thinking of adding? I would certainly consider any pull requests. You want to make a proposal first so that it's definitely something I want to include in the project.
Thanks for preparing the script above and the table! Makes it very clear. In fact I was half way along doing this myself. This is why I isolated this on its own branch.
Sure! I will think about it a bit more - I will run the proposal by you. So far, I feel that the ability to import meshes would be the most welcome addition. I see that you have already created an issue about that. Would be great if we can import STL meshes.
btw, feel free to use the script above as a demo script in the next version if you'd like.
Thanks! Those examples went under my radar. I will take a look.
Validation notebook has been added!
https://github.com/danieljfarrell/pvtrace/blob/dev/lsc-device/examples/Validation.ipynb
Thanks for your input in getting this completed.
See #37
https://core.ac.uk/download/pdf/76989828.pdf validating against fig 3.21