Giter VIP home page Giter VIP logo

pvtrace's Introduction

DOI

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.

If you use pvtrace please use the following citation,

Daniel J Farrell, "pvtrace: optical ray tracing for photovoltaic devices and luminescent materials", http://dx.doi.org/10.5281/zenodo.12820

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

pvtrace's People

Contributors

danieljfarrell avatar jsibbiso avatar achatten avatar

Watchers

James Cloos avatar 江湖隐行客 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.