# Models of Cell and Module Behaviour

SolarFarmer uses the PVsyst single-diode model (SDM) [20] for
predicting performance at the module and submodule level. Alternate SDM implementations of cell and module
performance are the DeSoto 5-parameter [21] and CEC 6-parameter
[22] models. A two-diode model is another example of an equivalent
circuit model, but is **not** used in SolarFarmer because it has not been as widely documented as the SDM. There
are also point-value photovoltaic (PV) module performance models such as the Sandia Array Performance Model (SAPM)
[23] and NREL PVWatts. Point-value
models cannot be used for electrical mismatch calculations, therefore SolarFarmer **only** uses the PVsyst SDM.
For more information on PV performance models, please see the Sandia PVPMC website
and the pvlib python documentation.

## Single-Diode Model

A schematic diagram of the SDM PV cell equivalent circuit is shown below.

*Credit: Sandia Photovoltaic Performance Modeling Collaborative*

The current, \(I\) at the terminals is the sum of the currents in the circuit according to Kirchhoff's law.

$$I = I_\text{L} - I_\text{D} - I_\text{sh}$$

where \(I_\text{L}\) is the light (or photogenerated, \(I_\text{ph}\)) current which is proportional to the incident irradiance on the cell or module, the diode current, \(I_\text{D}\), is equivalent to the recombination loss, and the shunt current, \(I_\text{sh}\), is the shunt loss mainly due to cell defects (see PV Education PVCDROM by ASU and UNSW).

The diode current, \(I_\text{D}\), is given by Shockley's equation:

$$I_\text{D} = I_0 \left( \exp\left( \frac{V_\text{D}} {\gamma V_\text{th}}\right) - 1 \right)$$

where \(I_0\) is the dark or reverse saturation current of the diode in the equivalent circuit, \(V_\text{D}\), is the voltage drop across the diode in the equivalent circuit, \(\gamma\) is the Shockley diode ideality factor, and \(V_\text{th}\) is the thermal voltage, approximately 26[mV] at STC.

The shunt current, \(I_\text{sh}\), is given by Ohm's Law:

$$I_\text{sh} = \frac{V_\text{D}} {R_\text{sh}}$$

Finally, the voltage can be derived with Ohm's and Kirchhoff's from the sum of currents through the series resistor in the equivalent circuit.

$$V = V_\text{D} - I {R_\text{s}}$$

Therefore the SDM depends on five parameters:

- \(I_\text{ph}\) is the photogenerated (or light) current [A]
- \(I_0\) is the reverse bias saturation (or dark) current of the diode [A]
- \(R_\text{sh}\) is the shunt resistance [Ω]
- \(R_\text{s}\) is the series resistance [Ω]
- \(\gamma\) is the diode ideality factor

### Thermal Voltage

Although the dark current and thermal voltage both depend on cell temperature, the diode current is significantly more sensitive to the dark current because it has a cubic temperature dependence. The thermal voltage is given by the following equation:

$$V_\text{th} = \frac{ k_\text{B} T_\text{c} }{q_\text{e} }$$

where \(q_\text{e}\) is the elementary charge, \(k_\text{B}\) is the Boltzmann constant, and \(T_\text{c}\) is cell temperature in Kelvin [K].

### Dark Current

The reverse saturation current has a cubic temperature dependence.

$$I_\text{o} = I_\text{o,ref} \left( \frac{T_\text{c}}{\Tcref} \right)^3 \exp \left( \frac{q_\text{e} \epsilon_\text{g} }{ \gamma k_\text{B} } \left( \frac{1}{\Tcref} - \frac{1}{T_\text{c}} \right)\right)$$

- \(I_\text{o,ref}\) is the reverse saturation or dark current at the reference condition (
*e.g.*: STC) [A] - \(q_\text{e}\) is the elementary charge, approximately \(1.602176565 \times 10^{-19}\) [J/V]
- \(k_\text{B}\) is Boltzmann's constant, approximately \(1.3806485 \times 10^{23}\) [J/K]
- \(\epsilon_\text{g}\) is the effective semiconductor band-gap [eV]
- \(\Tcref\) is the reference cell temperature for modelling (25°C or 298.15[K] at STC) [K]

### Light Current

The photogenerated current is proportional to for temperature and irradiance.

$$I_\text{ph} = I_\text{ph,ref} \frac{G}{G_\text{ref}} \left( 1 + \alpha_\text{sc} \left( T_\text{c} - \Tcref \right) \right)$$

- \(\alpha_\text{sc}\) is the short circuit current temperature coefficient [1/°C]
- \(I_\text{ph,ref}\) is the photogenerated current at the reference condition (
*e.g.*: STC) [A] - \(G\) is the incident irradiance [W/m²]
- \(G_\text{ref}\) is irradiance at the reference condition (1000[W/m²] at STC) [W/m²]

## PVsyst Single-Diode Model

The PVsyst SDM is an example of the SDM PV cell equivalent circuit. It is similar to the DeSoto 5-parameter and CEC 6-parameter models, except that the temperature and irradiance dependence of shunt resistance, diode ideality factor, and band-gap energy differ.

### Thin-Film Recombination Current

The PVSyst SDM has been enhanced for thin-film technology such as cadmium-telluride (CdTe) and amorphous silicon (a-Si), with a voltage-dependent thin-film recombination current that depends on the built-in voltage of the intrinsic layer, \(V_\text{bi}\), which is technology specific, the thickness of the intrinsic layer, \(d_\text{i}\), and the effective carrier diffusion length, \(\mu\tau_\text{eff}\) [24]. For modules with silicon, CIGS, and CIS cell technology, the built thin-film recombination loss is zero.

$$I_\text{recomb} = I_\text{ph} \frac{d_i^2}{\mu\tau_\text{eff}}\frac{1}{V_\text{bi} - V_\text{D}}$$

The thin-film recombination current, \(I_\text{recomb}\), is combined with the photogenerated \(I_\text{ph}\), diode \(I_\text{D}\), and shunt \(I_\text{sh}\) currents from the SDM using Kirchhoff's law.

$$I = I_\text{ph} - I_\text{ph} \frac{d_i^2}{\mu\tau_\text{eff}} \frac{1}{V_\text{bi} - \left( V + IR_\text{s} \right)} - I_0 \left( \exp\left( \frac{V + IR_\text{s}} {\gamma V_\text{th}}\right) - 1 \right) - \frac{V + IR_\text{s}}{R_\text{sh}}$$

### Shunt Resistance

In the PVsyst SDM, the value of \(R_\text{sh}\) depends on irradiance according to the following expression:

$$R_\text{sh} = R_\text{sh,ref} + \left( R_\text{sh,0} - R_\text{sh,ref} \right) \exp \left( -R_\text{sh,exp}\frac{G}{G_\text{ref}}\right)$$

where the parameters are as follows:

- \(R_\text{sh,ref}\) is the shunt resistance at the reference condition (e.g. STC) [Ω]
- \(R_\text{sh,0}\) is the shunt resistance at zero irradiance [Ω]
- \(R_\text{sh,exp}\) is the exponential factor for irradiance impact on shunt resistance

### Effective Band-Gap

In the PVsyst SDM, the band-gap energy, \(\epsilon_\text{g}\), of each cell technology is constant. This differs from the DeSoto and CEC models which have a temperature dependent band-gap energy.

Technology | Band-Gap [eV] |
---|---|

Si-mono | 1.12 |

Si-poly | 1.12 |

a-Si:H single | 1.7 |

a-Si:H tandem | 1.7 |

a-Si:H triple | 1.7 |

uCSi-aSi:H | 1.7 |

CdTe | 1.5 |

CIS | 1.03 |

GaAs | 1.43 |

HiT | 1.11 |

Si-EFG | 0.9 |

GaInP2/GaAs/Ge | 1.6 |

CSG | 1.2 |

SolarFarmer uses the band-gap energies in the table above for the PV technologies supported. However, the user can define a custom band-gap energy for the
module when using cloud calculations. This can be done through the property BandGapOverride
in your `"EnergyCalculationInputs.json"`

file. See how to generate the file in the Web API section.

### Diode Ideality Factor

In PVsyst the diode ideality factor is proportional to temperature

$$\gamma = \gamma_\text{ref} \left( 1 + \mu_{\gamma} \left( T_\text{c} - \Tcref \right) \right)$$

where \(\gamma_\text{ref}\) is the diode ideality factor at the reference condition (*e.g.*: STC) and
\(\mu_{\gamma}\) is the temperature coefficient [1/°C].

### PAN file loading

SolarFarmer is only able to load PVsyst > v6.4 module `\*.PAN`

files in text format and use them in calculations.

## Two-Diode Model

Although SolarFarmer does **not** use a two-diode model, here's an electrical schematic of a two-diode model
PV cell equivalent circuit.

In theory two diodes allow different recombination mechanisms such as Shockley-Read-Hall and Auger to be
represented separately in the model. However, in practice, there are few published reports validating the
two-diode model with field data. Also the two-diode model adds unnecessary complexity that makes it difficult to
generate modeling parameters and additional constraints that can cause instability at certain operating
conditions. For these reasons and others, SolarFarmer does **not** use the two-diode model.