Solar Panel Shadow Simulation โ 3D Web Application
A full-stack scientific web application built for
Davele at BionomeeX, designed to
simulate shadows, irradiance, and energy performance across
complex solar panel installations. The system provides
high-precision 3D visualizations and detailed irradiance statistics
for any field configuration.
Solar Simulation3D VisualizationStreamlitPythonDockerMultiprocessingDevOpsPASE Library
๐ The Challenge
Simulating solar shadows and irradiance across large photovoltaic
fields is computationally demanding. Each simulation depends on
numerous parameters โ geographic position, date, solar trajectory,
panel orientation, tilt, and spacing โ requiring real-time 3D
feedback to guide configuration choices. The goal was to deliver a
responsive and accurate web app capable of handling
heavy physics calculations while remaining fluid and accessible to
non-technical users.
โ๏ธ High-precision irradiance and shadow modeling
๐งฎ Heavy computational load across large panel arrays
๐ป Need for smooth visualization and background computation
๐ก The Solution
The Solar Panel Shadow Simulation App provides a
complete, parameter-driven environment for modeling and visualizing
solar installations. Users can define every aspect of a setup โ from
panel dimensions and pitch to site latitude and time resolution โ
then launch simulations that compute irradiance, shadow overlap, and
light diffusion using the open-source scientific library
PASE.
The results are displayed in an interactive
3D visualization window, enabling users to view how
shadows evolve through the day and how total irradiance changes with
geometry. Computations are handled in the background by a dedicated
backend service, allowing the user to close the page or run multiple
simulations in parallel.
3D visualization of solar panel shadows
โ๏ธ Technical Architecture
Frontend: Streamlit web interface with 3D scene
rendering and parameter control
Backend: Python API handling simulation requests
asynchronously
Computation: Multi-process system using
multiprocessing to run concurrent simulations
Scientific engine: PASE library for solar
geometry and irradiance computation
Containerization: Full Docker deployment with
persistent volume management
Task management: Background queue system allowing
simulations to continue when UI is closed
This architecture ensures efficiency, scalability, and robustness,
making it suitable for large solar projects or educational demos
requiring multiple concurrent simulations.
๐ Results
The application enables engineers and clients to
visualize and quantify the impact of configuration changes
instantly. The backendโs multiprocessing system reduces total simulation
time by a lot (the more thread the faster) compared to sequential
execution.
โ๏ธ Realistic 3D irradiance and shadow modeling
๐ Improved DevOps workflow and deployment automation
๐ง My Role
I was responsible for developing the
backend architecture and implementing the
multi-process computation system. My work focused
on performance, scalability, and seamless integration with the
Streamlit interface.
โ๏ธ Designed and implemented the multi-process simulation backend
๐ณ Set up full Dockerized environment and CI/CD deployment
๐งฎ Integrated PASE scientific library for shadow and irradiance
modeling
๐ Developed communication API between backend and Streamlit
frontend
๐ง Optimized resource allocation and background task scheduling
This project reinforced my expertise in
Python system design, DevOps, multiprocessing, and scientific
software integration
โ bridging simulation performance with web-based usability.