> ## Documentation Index
> Fetch the complete documentation index at: https://docs.plantpredict.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 5-Parameter Model

export const Recombination = () => <Tooltip tip="Loss of photo-generated electron-hole pairs before collection as electrical current; reduces cell output.">
    recombination
  </Tooltip>;

export const OpenCircuitVoltage = () => <Tooltip tip="Voltage across a PV cell or module when no current flows (I = 0); decreases with temperature.">
    open-circuit voltage
  </Tooltip>;

export const MaximumPowerPoint = () => <Tooltip tip="Operating point on a PV module's I-V curve where the product of voltage and current is maximized.">
    maximum power point
  </Tooltip>;

export const SeriesResistance = () => <Tooltip tip="Combined ohmic resistance of cell metallization, interconnects, and wiring in the module current path; causes I²R losses.">
    series resistance
  </Tooltip>;

export const ShuntResistance = () => <Tooltip tip="Parasitic resistance across the PV cell junction from manufacturing defects; allows leakage current that reduces output.">
    shunt resistance
  </Tooltip>;

export const Photocurrent = () => <Tooltip tip="Light-generated current in a PV cell; slightly exceeds short-circuit current due to internal losses at V = 0.">
    photocurrent
  </Tooltip>;

export const IVCurve = () => <Tooltip tip="Current-voltage characteristic of a PV cell or module; the operating point on this curve determines power output.">
    I-V curve
  </Tooltip>;

## Summary

The 5-parameter single-diode model, following the De Soto et al. (2006) formulation, is an equivalent circuit that represents a PV module as a light-generated current source, a diode, a <ShuntResistance />, and a <SeriesResistance />. Given the scaled module parameters from [Parameter Translation](/models/dc-performance/parameter_translation), the model solves the circuit equation at the module level to determine the <MaximumPowerPoint /> ($V_{mp}$, $I_{mp}$, $P_{mp}$) and <OpenCircuitVoltage /> ($V_{oc}$). All modules within a DC field are assumed to operate under identical conditions, so the equation is solved once per DC field and the results are scaled: voltage is multiplied by the number of modules in series, and current by the number of parallel strings.

## Inputs

| Name                          | Symbol   | Units | Description                                                                      |
| ----------------------------- | -------- | ----- | -------------------------------------------------------------------------------- |
| **Photocurrent**              | $I_{ph}$ | A     | Light-generated current                                                          |
| **Saturation Current**        | $I_0$    | A     | Diode reverse saturation current                                                 |
| **Series Resistance**         | $R_s$    | Ω     | Series resistance (includes module internal resistance and DC wiring resistance) |
| **Shunt Resistance**          | $R_{sh}$ | Ω     | Shunt resistance of module                                                       |
| **Diode Ideality Factor**     | $\gamma$ | —     | Diode ideality factor                                                            |
| **Number of Cells in Series** | $N_c$    | —     | Cells in series within module                                                    |
| **Cell Temperature**          | $T_c$    | °C    | Operating cell temperature                                                       |

***

## Outputs

| Name                     | Symbol   | Units | Description                       |
| ------------------------ | -------- | ----- | --------------------------------- |
| **Max Power Voltage**    | $V_{mp}$ | V     | Voltage at maximum power point    |
| **Max Power Current**    | $I_{mp}$ | A     | Current at maximum power point    |
| **Max Power**            | $P_{mp}$ | W     | $V_{mp} \times I_{mp}$            |
| **Open-Circuit Voltage** | $V_{oc}$ | V     | Voltage at open-circuit ($I = 0$) |

***

## Detailed Description

### Circuit Equation

De Soto's single-diode equivalent circuit models four physical mechanisms: $I_{ph}$ is the <Photocurrent /> driven by absorbed irradiance, $I_0$ and $\gamma$ govern <Recombination /> within the cells (exponential diode term), $R_{sh}$ accounts for leakage current paths through the cells, and $R_s$ captures ohmic losses due to series resistance within the module and DC wiring. All five parameters are scaled from reference to operating conditions by [Parameter Translation](/models/dc-performance/parameter_translation). The current–voltage relationship that defines the <IVCurve /> is:

$$
I = I_{ph} - I_0 \left(\exp\!\left(\frac{q(V + IR_s)}{N_c k T_c \gamma}\right) - 1\right) - \frac{V + IR_s}{R_{sh}}
$$

where $q = 1.602 \times 10^{-19}$ C is the elementary charge, $k = 1.381 \times 10^{-23}$ J/K is the Boltzmann constant, and $T_c$ is the cell temperature converted from °C to Kelvin. For convenience, PlantPredict defines the modified thermal voltage $V_{th} = N_c \gamma k T_c / q$.

The circuit equation is implicit in both $I$ and $V$ because of the $IR_s$ coupling. PlantPredict uses different numerical strategies depending on which quantity needs to be calculated.

### Maximum Power Point

PlantPredict introduces the internal voltage $V_{int} = V + IR_s$, which absorbs the voltage drop due to the series resistance. In this form, both $I$ and $V$ can be explicitly solved from $V_{int}$:

$$
I(V_{int}) = I_{ph} - I_0 (e^{V_{int}/V_{th}} - 1) - \frac{V_{int}}{R_{sh}}
$$

$$
V(V_{int}) = V_{int} - I(V_{int}) \, R_s
$$

Power is therefore a single-variable function $P(V_{int}) = V(V_{int}) \times I(V_{int})$. PlantPredict finds the maximum by solving $dP/dV_{int} = 0$ using [Newton-Raphson iteration](https://en.wikipedia.org/wiki/Newton%27s_method) on the analytically derived first and second derivatives. Once the optimal internal voltage $V_{int,mp}$ has converged:

$$
I_{mp} = I(V_{int,mp})
$$

$$
V_{mp} = V_{int,mp} - I_{mp} R_s
$$

$$
P_{mp} = V_{mp} \times I_{mp}
$$

### $V$ Given $I$

Because the I-V relationship is implicit, solving the circuit equation for $V$ at a given current is transcendental—no closed-form elementary solution exists. However, the equation can be reformulated into the [Lambert W](https://en.wikipedia.org/wiki/Lambert_W_function) canonical form $e^{aX+b} = cX + d$, which is well-behaved and guarantees convergence. The resulting Lambert W expression is evaluated numerically via Newton-Raphson iteration. The open-circuit voltage $V_{oc}$ is obtained as the special case with $I = 0$.

### $I$ Given $V$

When the voltage is fixed—for instance, when set by the inverter at an operating point away from MPP (e.g., clipping)—the $IR_s$ term makes the equation implicit in $I$. PlantPredict uses the same Lambert W reformulation and Newton-Raphson evaluation to solve for $I$ at the imposed voltage.

***

## References

* De Soto, W., Klein, S. A., & Beckman, W. A. (2006). *Improvement and validation of a model for photovoltaic array performance.* Solar Energy, 80(1), 78–88. DOI: [10.1016/j.solener.2005.06.010](https://doi.org/10.1016/j.solener.2005.06.010)
