pvsystem

This module contains the PVsystem class.

PVsystem

class pvmismatch.pvmismatch_lib.pvsystem.PVsystem(pvconst=None, numberStrs=10, pvstrs=None, numberMods=10, pvmods=None)

A class for PV systems.

Parameters:
  • pvconst (PVconstants) – configuration constants object
  • numberStrs – number of strings
  • pvstrs – list of parallel strings, a PVstring object or None
  • numberMods – number of modules per string
  • pvmods – list of modules, a PVmodule object or None
calcSystem()

Calculate system I-V curves. Returns (Isys, Vsys, Psys) : tuple of numpy.ndarray of float

numberMods = None

list of number of modules per string

numberStrs = None

number strings in the system

plotSys(sysPlot=None)

Plot system I-V curves.

Parameters:sysPlot – integer, string, or existing figure
Returns:new figure
pvconst = None

PVconstants used in PVsystem

pvstrs = None

list of PVstring in system

setSuns(Ee)

Set irradiance on cells in modules of string in system. If Ee is … … scalar, then sets the entire system to that irradiance. … a dictionary, then each key refers to a pv-string in the system, and the corresponding value is either a dictionary or a scalar. If the dictionary’s value is another dictionary, then its keys are pv- modules and its values are either cells and corresponding Ee, cells and a scalar Ee, a scalar Ee value for all cells or an array of Ee values for all cells in the module. The values of pv-modules are passed to setSuns()

Parameters:Ee (dict, float) – irradiance [suns]

For Example:

Ee={0: {0: {'cells': (0, 1, 2), 'Ee': (0.9, 0.3, 0.5)}}}
Ee=0.91  # set all modules in all strings to 0.91 suns
Ee={12: 0.77}  # set all modules in string with index 12 to 0.77 suns
Ee={3: {8: 0.23, 7: 0.45}}
# set module with index 8 to 0.23 suns and module with index 7 to
# 0.45 suns in string with index 3
setTemps(Tc)

Set temperature on cells in modules of string in system. If Tc is … … scalar, then sets the entire system to that cell temperature. … a dictionary, then each key refers to a pv-string in the system, and the corresponding value is either a dictionary or a scalar. If the dictionary’s value is another dictionary, then its keys are pv- modules and its values are either cells and corresponding Tc, cells and a scalar Tc, a scalar Tc value for all cells or an array of Tc values for all cells in the module. The values of pv-modules are passed to setTemps()

Parameters:Tc (dict, float) – temperature [K]

For Example:

Tc={0: {0: {'cells': (1,2,3), 'Tc': (323.15, 348.15, 373.15)}}}
Tc=323.15  # set all modules in all strings to 323.15K (50°C)
Tc={12: 348.15}  # set all modules in string with index 12 to 348.15K (75°C)
Tc={3: {8: 333.15, 7: 373.15}}
# set module with index 8 to 333.15K (60°C) and module with index 7 to
# 373.15K (100°C) in string with index 3
update()

Update system calculations.