SimShady is a package for shading simulation and PV yield estimation based on 3D meshes. It runs on the GPU using WebGL. See it in action at openpv.de.
To install the package, run
npm i @openpv/simshady
We publish our documentation at https://open-pv.github.io/simshady/. Additionally, we have built a minimal vite webapp to showcase the most relevant features. Check out its source code here.
The basic usage of the package works as follows:
import ShadingScene from '@openpv/simshady';
const lat = 50.0;
const lon = 11.0;
const scene = new ShadingScene(lat, lon);
scene.addShadingGeometry(someShadingGeometry);
scene.addSimulationGeometry(someSimulationGeometry);
let mesh = await scene.calculate({
numberSimulations: 100,
diffuseIrradiance: "https://www.openpv.de/data/irradiance",
urlDirectIrrandianceTIF:
"https://www.openpv.de/data/irradiance/geotiff/average_direct_radiation.tif",
urlDiffuseIrrandianceTIF:
"https://www.openpv.de/data/irradiance/geotiff/average_diffuse_radiation.tif",
});
showThreeJS(mesh);
MartGro |
Konrad Heidler |
Florian Kotthoff |
kpoeppel |
You are welcome to contribute to this project, either by adding code or creating Issues. As a first step, you might check out our contributing guidelines.
We thank our sponsors.