├── .github └── workflows │ └── pythonpackage.yml ├── .gitignore ├── LICENSE.txt ├── README.md ├── docs ├── Makefile ├── _modules │ ├── modules.rst │ ├── pvtrace.algorithm.rst │ ├── pvtrace.common.rst │ ├── pvtrace.data.rst │ ├── pvtrace.device.rst │ ├── pvtrace.geometry.rst │ ├── pvtrace.light.rst │ ├── pvtrace.material.rst │ ├── pvtrace.rst │ └── pvtrace.scene.rst ├── conf.py ├── design.rst ├── example.png ├── index.rst ├── info.rst ├── logo.png ├── logo.svg ├── make.bat ├── pvtrace-demo.gif └── pvtrace-design.png ├── examples ├── 001 Quick Start.ipynb ├── 002 Materials.ipynb ├── 003 Lights.ipynb ├── 004 Nodes.ipynb ├── 005 Geometry.ipynb ├── 006 Coatings.ipynb ├── Luminescent solar concentrators.ipynb ├── Validation.ipynb ├── Validation.png ├── coatings.png ├── cylinder.py ├── hello_box.py ├── hello_world.py ├── nested_cylinders.py ├── notes │ └── ray-cylinder.ipynb └── tutorial_support.py ├── pvtrace ├── __init__.py ├── algorithm │ ├── __init__.py │ └── photon_tracer.py ├── common │ ├── __init__.py │ └── errors.py ├── data │ ├── __init__.py │ ├── fluro_red.py │ └── lumogen_f_red_305.py ├── device │ ├── __init__.py │ └── lsc.py ├── geometry │ ├── __init__.py │ ├── box.py │ ├── cylinder.py │ ├── geometry.py │ ├── intersection.py │ ├── mesh.py │ ├── sphere.py │ ├── transformable.py │ ├── transformations.py │ └── utils.py ├── light │ ├── __init__.py │ ├── event.py │ ├── light.py │ ├── ray.py │ └── utils.py ├── material │ ├── __init__.py │ ├── component.py │ ├── distribution.py │ ├── material.py │ ├── surface.py │ └── utils.py └── scene │ ├── __init__.py │ ├── node.py │ ├── renderer.py │ └── scene.py ├── requirements.txt ├── requirements_dev.txt ├── setup.cfg ├── setup.py └── tests ├── __init__.py ├── test_3D_flux_comparison.py ├── test_box.py ├── test_cylinder.py ├── test_distibution.py ├── test_frensel_reflection.py ├── test_frensel_refraction.py ├── test_geometry_utils.py ├── test_intersection.py ├── test_light_utils.py ├── test_material.py ├── test_mesh.py ├── test_node.py ├── test_refractored_tracer.py ├── test_scene.py ├── test_scene_renderer.py ├── test_sphere.py └── test_transformable.py /.github/workflows/pythonpackage.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/.github/workflows/pythonpackage.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/README.md -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/docs/Makefile -------------------------------------------------------------------------------- /docs/_modules/modules.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/docs/_modules/modules.rst -------------------------------------------------------------------------------- /docs/_modules/pvtrace.algorithm.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/docs/_modules/pvtrace.algorithm.rst -------------------------------------------------------------------------------- /docs/_modules/pvtrace.common.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/docs/_modules/pvtrace.common.rst -------------------------------------------------------------------------------- /docs/_modules/pvtrace.data.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/docs/_modules/pvtrace.data.rst -------------------------------------------------------------------------------- /docs/_modules/pvtrace.device.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/docs/_modules/pvtrace.device.rst -------------------------------------------------------------------------------- /docs/_modules/pvtrace.geometry.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/docs/_modules/pvtrace.geometry.rst -------------------------------------------------------------------------------- /docs/_modules/pvtrace.light.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/docs/_modules/pvtrace.light.rst -------------------------------------------------------------------------------- /docs/_modules/pvtrace.material.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/docs/_modules/pvtrace.material.rst -------------------------------------------------------------------------------- /docs/_modules/pvtrace.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/docs/_modules/pvtrace.rst -------------------------------------------------------------------------------- /docs/_modules/pvtrace.scene.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/docs/_modules/pvtrace.scene.rst -------------------------------------------------------------------------------- /docs/conf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/docs/conf.py -------------------------------------------------------------------------------- /docs/design.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/docs/design.rst -------------------------------------------------------------------------------- /docs/example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/docs/example.png -------------------------------------------------------------------------------- /docs/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/docs/index.rst -------------------------------------------------------------------------------- /docs/info.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/docs/info.rst -------------------------------------------------------------------------------- /docs/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/docs/logo.png -------------------------------------------------------------------------------- /docs/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/docs/logo.svg -------------------------------------------------------------------------------- /docs/make.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/docs/make.bat -------------------------------------------------------------------------------- /docs/pvtrace-demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/docs/pvtrace-demo.gif -------------------------------------------------------------------------------- /docs/pvtrace-design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/docs/pvtrace-design.png -------------------------------------------------------------------------------- /examples/001 Quick Start.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/examples/001 Quick Start.ipynb -------------------------------------------------------------------------------- /examples/002 Materials.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/examples/002 Materials.ipynb -------------------------------------------------------------------------------- /examples/003 Lights.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/examples/003 Lights.ipynb -------------------------------------------------------------------------------- /examples/004 Nodes.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/examples/004 Nodes.ipynb -------------------------------------------------------------------------------- /examples/005 Geometry.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/examples/005 Geometry.ipynb -------------------------------------------------------------------------------- /examples/006 Coatings.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/examples/006 Coatings.ipynb -------------------------------------------------------------------------------- /examples/Luminescent solar concentrators.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/examples/Luminescent solar concentrators.ipynb -------------------------------------------------------------------------------- /examples/Validation.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/examples/Validation.ipynb -------------------------------------------------------------------------------- /examples/Validation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/examples/Validation.png -------------------------------------------------------------------------------- /examples/coatings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/examples/coatings.png -------------------------------------------------------------------------------- /examples/cylinder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/examples/cylinder.py -------------------------------------------------------------------------------- /examples/hello_box.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/examples/hello_box.py -------------------------------------------------------------------------------- /examples/hello_world.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/examples/hello_world.py -------------------------------------------------------------------------------- /examples/nested_cylinders.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/examples/nested_cylinders.py -------------------------------------------------------------------------------- /examples/notes/ray-cylinder.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/examples/notes/ray-cylinder.ipynb -------------------------------------------------------------------------------- /examples/tutorial_support.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/examples/tutorial_support.py -------------------------------------------------------------------------------- /pvtrace/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/pvtrace/__init__.py -------------------------------------------------------------------------------- /pvtrace/algorithm/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pvtrace/algorithm/photon_tracer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/pvtrace/algorithm/photon_tracer.py -------------------------------------------------------------------------------- /pvtrace/common/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pvtrace/common/errors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/pvtrace/common/errors.py -------------------------------------------------------------------------------- /pvtrace/data/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pvtrace/data/fluro_red.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/pvtrace/data/fluro_red.py -------------------------------------------------------------------------------- /pvtrace/data/lumogen_f_red_305.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/pvtrace/data/lumogen_f_red_305.py -------------------------------------------------------------------------------- /pvtrace/device/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pvtrace/device/lsc.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/pvtrace/device/lsc.py -------------------------------------------------------------------------------- /pvtrace/geometry/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pvtrace/geometry/box.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/pvtrace/geometry/box.py -------------------------------------------------------------------------------- /pvtrace/geometry/cylinder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/pvtrace/geometry/cylinder.py -------------------------------------------------------------------------------- /pvtrace/geometry/geometry.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/pvtrace/geometry/geometry.py -------------------------------------------------------------------------------- /pvtrace/geometry/intersection.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/pvtrace/geometry/intersection.py -------------------------------------------------------------------------------- /pvtrace/geometry/mesh.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/pvtrace/geometry/mesh.py -------------------------------------------------------------------------------- /pvtrace/geometry/sphere.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/pvtrace/geometry/sphere.py -------------------------------------------------------------------------------- /pvtrace/geometry/transformable.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/pvtrace/geometry/transformable.py -------------------------------------------------------------------------------- /pvtrace/geometry/transformations.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/pvtrace/geometry/transformations.py -------------------------------------------------------------------------------- /pvtrace/geometry/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/pvtrace/geometry/utils.py -------------------------------------------------------------------------------- /pvtrace/light/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/pvtrace/light/__init__.py -------------------------------------------------------------------------------- /pvtrace/light/event.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/pvtrace/light/event.py -------------------------------------------------------------------------------- /pvtrace/light/light.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/pvtrace/light/light.py -------------------------------------------------------------------------------- /pvtrace/light/ray.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/pvtrace/light/ray.py -------------------------------------------------------------------------------- /pvtrace/light/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/pvtrace/light/utils.py -------------------------------------------------------------------------------- /pvtrace/material/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pvtrace/material/component.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/pvtrace/material/component.py -------------------------------------------------------------------------------- /pvtrace/material/distribution.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/pvtrace/material/distribution.py -------------------------------------------------------------------------------- /pvtrace/material/material.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/pvtrace/material/material.py -------------------------------------------------------------------------------- /pvtrace/material/surface.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/pvtrace/material/surface.py -------------------------------------------------------------------------------- /pvtrace/material/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/pvtrace/material/utils.py -------------------------------------------------------------------------------- /pvtrace/scene/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pvtrace/scene/node.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/pvtrace/scene/node.py -------------------------------------------------------------------------------- /pvtrace/scene/renderer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/pvtrace/scene/renderer.py -------------------------------------------------------------------------------- /pvtrace/scene/scene.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/pvtrace/scene/scene.py -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | anytree 2 | meshcat>=0.0.16 3 | numpy 4 | pandas 5 | trimesh[easy] -------------------------------------------------------------------------------- /requirements_dev.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/requirements_dev.txt -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [metadata] 2 | description-file = README.md 3 | 4 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/setup.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/test_3D_flux_comparison.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/tests/test_3D_flux_comparison.py -------------------------------------------------------------------------------- /tests/test_box.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/tests/test_box.py -------------------------------------------------------------------------------- /tests/test_cylinder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/tests/test_cylinder.py -------------------------------------------------------------------------------- /tests/test_distibution.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/tests/test_distibution.py -------------------------------------------------------------------------------- /tests/test_frensel_reflection.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/tests/test_frensel_reflection.py -------------------------------------------------------------------------------- /tests/test_frensel_refraction.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/tests/test_frensel_refraction.py -------------------------------------------------------------------------------- /tests/test_geometry_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/tests/test_geometry_utils.py -------------------------------------------------------------------------------- /tests/test_intersection.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/tests/test_intersection.py -------------------------------------------------------------------------------- /tests/test_light_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/tests/test_light_utils.py -------------------------------------------------------------------------------- /tests/test_material.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/tests/test_material.py -------------------------------------------------------------------------------- /tests/test_mesh.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/tests/test_mesh.py -------------------------------------------------------------------------------- /tests/test_node.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/tests/test_node.py -------------------------------------------------------------------------------- /tests/test_refractored_tracer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/tests/test_refractored_tracer.py -------------------------------------------------------------------------------- /tests/test_scene.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/tests/test_scene.py -------------------------------------------------------------------------------- /tests/test_scene_renderer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/tests/test_scene_renderer.py -------------------------------------------------------------------------------- /tests/test_sphere.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/tests/test_sphere.py -------------------------------------------------------------------------------- /tests/test_transformable.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieljfarrell/pvtrace/HEAD/tests/test_transformable.py --------------------------------------------------------------------------------