pvperfsolar performance modeling

Reference / Module model

Model option

CEC six-parameter, this module

The CEC six-parameter circuit with this module's own CEC database parameters

Inputs used: Module model, Module efficiency, Nameplate power, Short-circuit current, Open-circuit voltage, Series resistance, Shunt resistance at reference irradiance, Pmax temperature coefficient, Cells in series

Method

The circuit and its temperature laws are those of the representative-module option (1 to 4): the one-diode model of De Soto, Klein and Beckman with Dobos's adjustment of the short-circuit temperature coefficient, the model of the California Energy Commission's module database. Here the parameters are this module's own: a_ref, I_L,ref, I_0,ref, R_s, R_sh,ref, Adjust and α_sc of its CEC database entry. They are used as the database gives them, not scaled to the nameplate, so the power at standard conditions is the circuit's own maximum, which can differ from the datasheet by a few tenths of a percent; the nameplate still sets the array's nominal energy. No power below 1 W/m². Where the parameters come from: the module record's CEC block, which every module of the CEC library carries. A module without it, such as one read from a PAN file, cannot use this option: the fit of the six parameters from datasheet values (Dobos 2012) is not built.

The math

  1. Light current
  2. Saturation current
  3. Ideality and shunt resistance
  4. Circuit
IL=G1000[IL,ref+αsc(1−Adj100)(T−Tref)](1)I_L = \frac{G}{1000}\left[I_{L,ref} + \alpha_{sc}\left(1 - \frac{\text{Adj}}{100}\right)(T - T_{ref})\right] \tag{1} I0=I0,ref(TTref)3exp⁡ ⁣[1kB(1.12Tref−EgT)],Eg=1.12 (1−0.0002677 (T−Tref))(2)I_0 = I_{0,ref}\left(\frac{T}{T_{ref}}\right)^3 \exp\!\left[\frac{1}{k_B}\left(\frac{1.12}{T_{ref}} - \frac{E_g}{T}\right)\right],\qquad E_g = 1.12\,\big(1 - 0.0002677\,(T - T_{ref})\big) \tag{2} aT=aref TTref,Rsh=Rsh,ref 1000G(3)a_T = a_{ref}\,\frac{T}{T_{ref}},\qquad R_{sh} = R_{sh,ref}\,\frac{1000}{G} \tag{3} Im=IL−I0[exp⁡ ⁣(Vm+ImRsaT)−1]−Vm+ImRsRsh(4)I_m = I_L - I_0\left[\exp\!\left(\frac{V_m + I_m R_s}{a_T}\right) - 1\right] - \frac{V_m + I_m R_s}{R_{sh}} \tag{4}

where

Symbol Meaning Unit
ILI_L the light current A
GG the effective irradiance W/m²
IL,refI_{L,ref} the light current at reference conditions A
αsc\alpha_{sc} the temperature coefficient of the short-circuit current A/°C
Adj\text{Adj} the adjustment of that coefficient %
TT the cell temperature K
TrefT_{ref} the reference temperature K
I0I_0 the diode saturation current A
I0,refI_{0,ref} the saturation current at reference conditions A
kBk_B Boltzmann's constant eV/K
EgE_g the bandgap: 1.12 eV at 25 °C, the silicon value, used for both representative modules eV
aTa_T the modified ideality factor V
arefa_{ref} the modified ideality factor at reference conditions V
RshR_{sh} the shunt resistance Ω
Rsh,refR_{sh,ref} the shunt resistance at reference conditions Ω
ImI_m the module current A
VmV_m the module voltage V
RsR_s the series resistance Ω

References

  1. De Soto, Klein & Beckman 2006, Improvement and validation of a model for photovoltaic array performance, Solar Energy 80(1) 78–88
  2. Dobos 2012, An improved coefficient calculator for the California Energy Commission 6 parameter photovoltaic module model, Journal of Solar Energy Engineering 134(2) 021011
  3. Gilman, DiOrio, Freeman, Janzou, Dobos & Ryberg 2018, SAM Photovoltaic Model Technical Reference Update, NREL/TP-6A20-67399
  4. NREL SAM Simulation Core (SSC) source code, release 2026.7.3, github.com/NatLabRockies/ssc: shared/lib_cec6par.cpp, cec6par_module_t; ssc/cmod_pvwattsv8.cpp, the module parameters of each module type

API

options.module_model = cec (module.model = cec), module.cec

Symbols follow the symbol registry.