A comprehensive toolkit for analyzing and simulating solar cell performance using the single diode model. This project provides various Jupyter notebooks for calculating key performance parameters, simulating J-V curves, and analyzing solar cell efficiency.
- Single Diode Parameter Calculation: Calculate key parameters of the single diode model including photocurrent, saturation current, series resistance, shunt resistance, and ideality factor.
- J-V Curve Analysis: Analyze current density-voltage (J-V) curves to extract performance parameters such as short-circuit current (Jsc), open-circuit voltage (Voc), fill factor (FF), and power conversion efficiency (PCE).
- Dark Diode J-V Characteristics: Simulate and analyze dark J-V curves for solar cells.
- Efficiency Analysis: Calculate efficiency from J-V curve data with various interpolation methods.
- Voc Simulation: Simulate open-circuit voltage under different conditions.
solarcell_SingleDiodeModel/
├── Efficiency-single-JV.ipynb # Efficiency calculation from J-V curve
├── Voc_simulation.ipynb # Open-circuit voltage simulation
├── dark_diode_JV.ipynb # Dark J-V curve analysis
├── dark_diode_JV_scan.ipynb # Dark J-V curve scanning
├── single_diode_param.ipynb # Single diode parameter calculation
├── single_diode_param_lambertW.ipynb # Single diode parameter using Lambert W function
├── data_JV.csv # Sample J-V curve data
└── README.md # Project documentation
- Python 3.x
- NumPy
- SciPy
- Pandas
- Matplotlib
- Jupyter Notebook
- Clone this repository:
git clone https://github.com/yourusername/solarcell_SingleDiodeModel.git
cd solarcell_SingleDiodeModel
- Install the required packages:
pip install numpy scipy pandas matplotlib jupyter
Open the Efficiency-single-JV.ipynb notebook to analyze J-V curve data:
- Load your J-V data in CSV format with columns for Voltage (V) and Current density (mA/cm²).
- Run the analysis cells to calculate key performance parameters.
- Visualize the J-V curve and power curve.
Use the single_diode_param.ipynb notebook to calculate single diode model parameters:
- Set the temperature and other physical constants.
- Input known parameters such as photocurrent, saturation current, series resistance, shunt resistance, and ideality factor.
- Run the notebook to calculate Jsc, Voc, FF, and PCE.
The dark_diode_JV.ipynb notebook allows you to:
- Simulate dark J-V curves based on single diode model parameters.
- Analyze the characteristics of dark J-V curves.
- Extract parameters from experimental dark J-V data.
The Voc_simulation.ipynb notebook provides:
- Simulation of open-circuit voltage under different conditions.
- Analysis of temperature dependence of Voc.
- Visualization of Voc as a function of various parameters.
A sample J-V curve dataset is provided in data_JV.csv with columns:
- Voltage (V)
- Current density (mA/cm²)
You can use this data to test the notebooks or replace it with your own experimental data.
The single diode model is a widely used equivalent circuit model for solar cells, consisting of:
- A current source representing the photocurrent generated by light
- A diode representing the p-n junction
- Series resistance (Rs)
- Shunt resistance (Rsh)
The model equation is:
J = Jph - J0 * [exp((V + J*Rs)/(n*Vt)) - 1] - (V + J*Rs)/Rsh
Where:
- J is the current density
- Jph is the photocurrent density
- J0 is the saturation current density
- V is the voltage
- Rs is the series resistance
- Rsh is the shunt resistance
- n is the ideality factor
- Vt is the thermal voltage (k*T/q)