# pvl_calcparams_desoto

Calculates five parameters to compute IV curves using the De Soto model [1].

## Contents

- Syntax
- Description
- Inputs
- Outputs
- Notes
- Example 1
- Example 2
- References
- See also

## Syntax

- `[IL, I0, Rs, Rsh, nNsVth] = pvl_calcparams_desoto(S, Tcell, alpha_isc, ModuleParameters, dEgdt, EgRef)`
- `[IL, I0, Rs, Rsh, nNsVth] = pvl_calcparams_desoto(S, Tcell, alpha_isc, ModuleParameters, dEgdt, EgRef)`
- `[IL, I0, Rs, Rsh, nNsVth] = pvl_calcparams_desoto(S, Tcell, alpha_isc, ModuleParameters, dEgdt, EgRef, Sref)`
- `[IL, I0, Rs, Rsh, nNsVth] = pvl_calcparams_desoto(S, Tcell, alpha_isc, ModuleParameters, dEgdt, EgRef, Sref, Tref)`
- `[IL, I0, Rs, Rsh, nNsVth] = pvl_calcparams_desoto(S, Tcell, alpha_isc, ModuleParameters, dEgdt, EgRef, 'Sref', Sref, 'Tref', Tref)`

## Description

Calculates `IL`, `I0`, `Rs`, `Rsh`, and `a` according to the model in [1]. The results can be used in the single diode equation to determine IV curves at irradiance `S` and cell temperature `Tcell`.

## Inputs

- `S` - The effective irradiance (in W/m^2). `S` must be 0. May be a vector of the same size as `Tcell`. Due to a division by `S` in the script, any value equal to 0 will be set to 1E-10.
- `Tcell` - The average cell temperature of cells within a module in C. `Tcell` must be -273.15. May be a vector of the same size as `S`.
- `alpha_isc` - The short-circuit current temperature coefficient of the module in units of 1/C.
- `ModuleParameters` - a struct with parameters describing PV module performance at reference conditions according to [1]. Parameters may be generated or found by lookup. For ease of use, a library of parameters may be found within the System Advisor Model (SAM) [2]. The SAM library has been provided with PV_LIB (`\Required Data\CECModuleDatabaseSAM2012.11.30.mat`) which may be read by `pvl_SAMLibraryReader_CECModules`. The `ModuleParameters` struct must contain (at least) the following five fields:

- `ModuleParameters.a_ref` - modified diode ideality factor parameter at reference conditions, `a_ref` can be calculated from the usual diode ideality factor `n`, number of cells in series `Ns`, and cell temperature `Tcell` per equation (2) in [1].
- `ModuleParameters.IL_ref` - Light-generated current (or photocurrent) in amperes at reference conditions. `IL` is referred to as `Iph` in some literature.
- `ModuleParameters.I0_ref` - diode reverse saturation current in amperes, at reference conditions.
- `ModuleParameters.Rsh_ref` - shunt resistance at reference conditions (ohms)
- `ModuleParameters.Rs_ref` - series resistance at reference conditions (ohms)
- `EgRef` - The energy bandgap at reference temperature (in eV). 1.121 eV for silicon. `EgRef` must be >0.
- `dEgdT` - The temperature dependence of the energy bandgap at SRC (in 1/C). May be either a scalar value (e.g. -0.0002677 as in [1]) or a vector of the same legnth as `Tcell` (e.g., if `dEgdT` is a function of temperature).
- `Sref` - Optional reference irradiance in W/m^2. If omitted, a value of 1000 is used.
- `Tref` - Optional reference cell temperature in C. If omitted, a value of 25 C is used.

## Outputs

- `IL` - Light-generated current in amperes.
- `I0` - Diode saturation curent in amperes.
- `Rs` - Series resistance in ohms.
- `Rsh` - Shunt resistance in ohms.
- `nNsVth` - modified diode ideality factor. Note that in [1] `nNsVth` = `a` (equation 2). `nNsVth` is the product of the usual diode ideality factor `n`, the number of series-connected cells in the module `Ns`, and the thermal voltage `Vth` of a cell in the module at a cell temperature of `Tcell`.

## Notes

If the reference parameters in the `ModuleParameters` struct are read from a database (e.g. the SAM module database), it is important to use the same values for `EgRef` and `dEgdT` that were used to generate the reference parameters, regardless of the actual bandgap characteristics of the semiconductor. For example, in the case of the System Advisor Model library, created as described in [2], `EgRef` and `dEgdT` for all modules were 1.121 eV and -0.0002677 eV/K, respectively.

## Example 1

IV curves at a range of irradiance values

    Ee = [200 400 600 800 1000 1100]; % effective irradiance Levels (W/m^2) for parameter sets
    Tcell = 45; %deg C

    load('CECModuleDatabaseSAM2014.1.14.mat')
    % Yingli Energy (China) YL295P-35b  # 9764
    Module = CECModuleDB(9764);
    % Bandgap and Bandgap temperature dependence from [2]
    EgRef = 1.121; %Reference band gap.
    C = -0.0002677;  %Band gap dependence on temperature.

    [IL, I0, Rs, Rsh, a] = pvl_calcparams_desoto(Ee, Tcell, Module.alpha_sc, Module, EgRef, C);
    NumPoints = 1000;
    [IVResult] = pvl_singlediode(IL, I0, Rs, Rsh, a, NumPoints);

    figure
    for i=1:6
    plot(IVResult.V(i,:),IVResult.I(i,:))
    hold on
    scatter(IVResult.Vmp(i),IVResult.Imp(i),'filled')
    text(2,IVResult.Isc(i)+0.3,[num2str(Ee(i)) ' W/m^2'])
    end
    xlabel('Voltage (V)')
    ylabel('Current (A)')
    title('Example IV Curve from De Soto Single Diode Model','FontSize',14)
    ylim([0 11])

## Example 2

IV curves at a range of cell temperature values and at AM = 3

    S = 1000; %broadband irradiance Levels for parameter sets
    Tcell = [30 40 50 60 70 80]; %deg C
    AMa = 3; % Absolute (pressure corrected) airmass

    % Bandgap and Bandgap temperature dependence from [2]
    EgRef = 1.121; %Reference band gap.
    C = -0.0002677;  %Band gap dependence on temperature.

    % Representative coefficients for estimating M/Mref for Poly-crystalline Si
    % From Table A.1 in [1].
    M = polyval([-0.000126 0.002816 -0.024459 0.086257 0.918093], AMa);

    Ee = S.*M;

    [IL, I0, Rs, Rsh, a] = pvl_calcparams_desoto(Ee, Tcell, Module.alpha_sc, Module, EgRef, C);
    NumPoints = 1000;
    [IVResult] = pvl_singlediode(IL, I0, Rs, Rsh, a, NumPoints);

    figure
    for i=1:6
    plot(IVResult.V(i,:),IVResult.I(i,:))
    hold on
    scatter(IVResult.Vmp(i),IVResult.Imp(i),'filled')

    end
    xlabel('Voltage (V)')
    ylabel('Current (A)')
    title('IV Curves (Cell Temp from 30-80 deg C)','FontSize',14)
    ylim([0 11])

## References

- [1] W. De Soto et al., "Improvement and validation of a model for photovoltaic array performance", Solar Energy, vol 80, pp. 78-88, 2006.

- [2] A. Dobos, "An Improved Coefficient Calculator for the California Energy Commission 6 Parameter Photovoltaic Module Model", Journal of Solar Energy Engineering, vol 134, 2012.

## See also

`pvl_singlediode`, `pvl_SAMLibraryReader_CECModules`

Copyright 2014 Sandia National Laboratories