Skip to content

ofsng/sgo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Solar Panel Placement Optimizer using Physics-Informed Neural Networks

Project Overview

This project implements a Physics-Informed Neural Network (PINN) for optimizing solar panel placement. It combines deep learning with fundamental physics principles of solar irradiance to provide accurate predictions for optimal solar panel positioning.

Components

Core Models

  • solar_pinn.py: Base PINN implementation for solar irradiance prediction
  • solar_pinn_ideal.py: Enhanced PINN model with ideal conditions consideration
  • models/pinn_model.py: Core neural network architecture with physics constraints

Training Scripts

  • train_solar_pinn.py: Training script for the base model
  • train_solar_pinn_ideal.py: Training script for the ideal conditions model

Utilities

  • utils/data_processor.py: Data preprocessing and physics-based data generation
  • visualize_results.py: Visualization tools for model predictions
  • physics_validator.py: Physics-based validation of model predictions

Web Interface

  • main.py: Streamlit web application for interactive model usage

Model Architecture

Physics-Informed Neural Network

  • Input Features: Latitude, longitude, time, slope, aspect
  • Architecture:
    • Custom physics-informed layers
    • Batch normalization for training stability
    • Tanh activation functions
    • Physics-based constraints in forward pass

Physical Constraints

  • Solar constant (1367.0 W/m²)
  • Atmospheric extinction
  • Surface orientation factors
  • Day/night cycle constraints
  • Boundary conditions for sunrise/sunset

Training Results

Base Model Performance

  • Training completed with 200 epochs
  • Final loss: 255706.64
  • Early stopping implemented for optimal convergence
  • Consistent improvement in loss throughout training

Ideal Model Performance

  • Training completed with enhanced physics constraints
  • Final Validation Metrics:
    • MAE: 0.01 W/m²
    • RMSE: 0.03 W/m²
    • R²: 0.9714
  • Early stopping triggered at epoch 221
  • Stable convergence with physics-informed constraints
  • Excellent performance in predicting day/night cycle transitions

Setup and Usage

Requirements

# Core dependencies
torch
numpy
streamlit
plotly

Running the Application

The application is configured to run directly on Replit. The Streamlit interface will automatically start and be accessible via the provided URL.

Note: Training scripts have been removed from the default workflow to optimize startup time. The application uses pre-trained models for predictions.

To access the trained models:

  • Base model: best_solar_pinn.pth
  • Ideal conditions model: best_solar_pinn_ideal.pth

Web Interface Features

  • Interactive parameter adjustment
  • Real-time predictions
  • 3D visualization of optimal placement
  • Physics-based validation
  • Accuracy metrics display

Model Predictions

  • Provides solar irradiance predictions (W/m²)
  • Optimal tilt and orientation angles
  • Efficiency estimates
  • Day/night cycle consideration
  • Atmospheric effects integration

Current Status

  • Models successfully trained and validated
  • Web interface operational
  • Real-time prediction capability
  • Physics-based constraints implemented and verified
  • High accuracy in ideal conditions (R² > 0.96)

Deployment

The application is deployed on Replit and can be accessed through the web interface.

Future Improvements

  1. Enhanced terrain modeling
  2. Cloud cover integration
  3. Seasonal variation analysis
  4. Multi-location optimization
  5. Real-time weather data integration

About

solar panel

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors