Skip to content

taymingyang/pvtrace

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pvtrace -- Optical ray tracing for photovoltaic devices and luminescent materials
-------

pvtrace was originally written to simulate luminescent solar concentrators during my PhD studies. However it has grown into a much more powerful tool, capable of optical ray tracing complicated structures, and the collection of statistical data to enable characterisation of optics useful for photovoltaics and solar energy conversion.

Overview of features:
* Constructive Solid Geometry
* Generalised 3D ray intersections (ray optics):
  - ray-box
  - ray-cylinder
  - ray-CSG object
* Arbitrary 3D object transformations:
  - translation
  - rotation
  - scaling and skewing
* Photon path visualiser
* Statistical collection of photonic properties:
  - wavelength
  - direction
* Automatic Fresnel reflection and refraction
* Sampling from statistical distributions:
  - optical absorption coefficient
  - emission spectrum
  - wavelength and angular reflectivity

pvtrace is written entirely in Python. Using the numpy library. This was chosen to emphasis rapid development, learning and collaboration rather than speed of execution. On a single core machine pvtrace takes a few minutes to produce sensible results which for me is an acceptable trade-off considering the pleasure it was to write in Python!

Authors:
Daniel J Farrell -- Original author and benevolent dictator
Carl Poelking -- Constructive Solid Geometry
Karl C Godel -- Convex objects, Faces, and Polygons
Markus Fuhrer -- povray scene rendering and multiprocessing
Amanda Chatten -- Windows friendly

Installation:

For detailed installation instructions see the wiki,
http://github.com/danieljfarrell/pvtrace/wiki



About

Optical ray tracing for photovoltaic devices and luminescent materials

Resources

Stars

Watchers

Forks

Packages

No packages published