Skip to content

kcg/pvtrace

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 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 in to a much more powerful tool, capable of optical ray tracing through complicated shapes, 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 and scipy libraries. This was chosen to enable 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

Installation:

pvtrace is being successfully used on Mac, Linux and Windows. However, it is a new project and currently no in the pip or easy_install systems. For now please follow the instructions below.

Linux (Ubuntu 10.10 32-bit):

1. Install the packages
$ apt-get install git python python-numpy python-scipy python-visual

2. Clone pvtrace
Change to a directory where you want to install pvtrace, say DIR=~/code
$ cd DIR
$ git clone git@github.com:danieljfarrell/pvtrace.git

3. Update PYTHONPATH
Add the path to the pvtrace directory to you PYTHONPATH variable e.g. add this to you .profile or .bashrc,
export PYTHONPATH="/home/<username>/<DIR>/pvtrace"

4. Done.
Now try and run an example script e.g.
$ cd pvtrace/scripts/examples
$ python homogen.py

MacOS (10.6)

To come...

Window

To come...
  




About

Optical ray tracing for photovoltaic devices and luminescent materials

Resources

Stars

Watchers

Forks

Packages

No packages published