pvmodule¶
This module defines the PVmodule
.
PVmodule¶
-
class
pvmismatch.pvmismatch_lib.pvmodule.
PVmodule
(cell_pos=[[[{'crosstie': False, 'idx': 0}, {'crosstie': False, 'idx': 1}, {'crosstie': False, 'idx': 2}, {'crosstie': False, 'idx': 3}, {'crosstie': False, 'idx': 4}, {'crosstie': False, 'idx': 5}, {'crosstie': False, 'idx': 6}, {'crosstie': False, 'idx': 7}, {'crosstie': False, 'idx': 8}, {'crosstie': False, 'idx': 9}, {'crosstie': False, 'idx': 10}, {'crosstie': False, 'idx': 11}], [{'crosstie': False, 'idx': 23}, {'crosstie': False, 'idx': 22}, {'crosstie': False, 'idx': 21}, {'crosstie': False, 'idx': 20}, {'crosstie': False, 'idx': 19}, {'crosstie': False, 'idx': 18}, {'crosstie': False, 'idx': 17}, {'crosstie': False, 'idx': 16}, {'crosstie': False, 'idx': 15}, {'crosstie': False, 'idx': 14}, {'crosstie': False, 'idx': 13}, {'crosstie': False, 'idx': 12}]], [[{'crosstie': False, 'idx': 24}, {'crosstie': False, 'idx': 25}, {'crosstie': False, 'idx': 26}, {'crosstie': False, 'idx': 27}, {'crosstie': False, 'idx': 28}, {'crosstie': False, 'idx': 29}, {'crosstie': False, 'idx': 30}, {'crosstie': False, 'idx': 31}, {'crosstie': False, 'idx': 32}, {'crosstie': False, 'idx': 33}, {'crosstie': False, 'idx': 34}, {'crosstie': False, 'idx': 35}], [{'crosstie': False, 'idx': 47}, {'crosstie': False, 'idx': 46}, {'crosstie': False, 'idx': 45}, {'crosstie': False, 'idx': 44}, {'crosstie': False, 'idx': 43}, {'crosstie': False, 'idx': 42}, {'crosstie': False, 'idx': 41}, {'crosstie': False, 'idx': 40}, {'crosstie': False, 'idx': 39}, {'crosstie': False, 'idx': 38}, {'crosstie': False, 'idx': 37}, {'crosstie': False, 'idx': 36}], [{'crosstie': False, 'idx': 48}, {'crosstie': False, 'idx': 49}, {'crosstie': False, 'idx': 50}, {'crosstie': False, 'idx': 51}, {'crosstie': False, 'idx': 52}, {'crosstie': False, 'idx': 53}, {'crosstie': False, 'idx': 54}, {'crosstie': False, 'idx': 55}, {'crosstie': False, 'idx': 56}, {'crosstie': False, 'idx': 57}, {'crosstie': False, 'idx': 58}, {'crosstie': False, 'idx': 59}], [{'crosstie': False, 'idx': 71}, {'crosstie': False, 'idx': 70}, {'crosstie': False, 'idx': 69}, {'crosstie': False, 'idx': 68}, {'crosstie': False, 'idx': 67}, {'crosstie': False, 'idx': 66}, {'crosstie': False, 'idx': 65}, {'crosstie': False, 'idx': 64}, {'crosstie': False, 'idx': 63}, {'crosstie': False, 'idx': 62}, {'crosstie': False, 'idx': 61}, {'crosstie': False, 'idx': 60}]], [[{'crosstie': False, 'idx': 72}, {'crosstie': False, 'idx': 73}, {'crosstie': False, 'idx': 74}, {'crosstie': False, 'idx': 75}, {'crosstie': False, 'idx': 76}, {'crosstie': False, 'idx': 77}, {'crosstie': False, 'idx': 78}, {'crosstie': False, 'idx': 79}, {'crosstie': False, 'idx': 80}, {'crosstie': False, 'idx': 81}, {'crosstie': False, 'idx': 82}, {'crosstie': False, 'idx': 83}], [{'crosstie': False, 'idx': 95}, {'crosstie': False, 'idx': 94}, {'crosstie': False, 'idx': 93}, {'crosstie': False, 'idx': 92}, {'crosstie': False, 'idx': 91}, {'crosstie': False, 'idx': 90}, {'crosstie': False, 'idx': 89}, {'crosstie': False, 'idx': 88}, {'crosstie': False, 'idx': 87}, {'crosstie': False, 'idx': 86}, {'crosstie': False, 'idx': 85}, {'crosstie': False, 'idx': 84}]]], pvcells=None, pvconst=None, Vbypass=None, cellArea=153.33)¶ A Class for PV modules.
Parameters: - cell_pos (dict) – cell position pattern
- pvcells (list,
PVcell
) – list ofPVcell
- pvconst (
PVconstants
) – An object with common parameters and constants. - Vbypass –
float|list of :float bypass diode trigger voltage [V] default case - one bypass diode per cell string (VBYPASS = -0.5V(V))
float - one bypass diode per cell string with Vf = Vbypass (V)
len(list) == 1 - one bypass diode per module (bypasses entire module )
len(list) == len(cell_pos) - bypass diode value across cell string as defined in the list
- cellArea – cell area [cm^2]
-
Vbypass
= None¶ [V] trigger voltage of bypass diode
-
calcMod
()¶ Calculate module I-V curves.
Returns module currents [A], voltages [V] and powers [W]
-
cellArea
= None¶ [cm^2] cell area
-
cell_pos
= None¶ cell position pattern dictionary
-
numSubStr
= None¶ number of substrings
-
numberCells
= None¶ number of cells in the module
-
plotCell
()¶ Plot cell I-V curves. Returns cellPlot : matplotlib.pyplot figure
-
plotMod
()¶ Plot module I-V curves. Returns modPlot : matplotlib.pyplot figure
-
pvcells
= None¶ list of PVcell objects in this PVmodule
-
pvconst
= None¶ configuration constants
-
setSuns
(Ee, cells=None)¶ Set the irradiance in suns, Ee, on the solar cells in the module. Recalculates cell current (Icell [A]), voltage (Vcell [V]) and power (Pcell [W]) as well as module current (Imod [A]), voltage (Vmod [V]) and power (Pmod [W]).
Parameters: - Ee (
numpy.ndarray
) – Effective Irradiance [suns] - cells (list) – Cells to change [Optional]
- Ee (
-
setTemps
(Tc, cells=None)¶ Set the temperature in Kelvin, Tc, on the solar cells in the module. Recalculates cell current (Icell [A]), voltage (Vcell [V]) and power (Pcell [W]) as well as module current (Imod [A]), voltage (Vmod [V]) and power (Pmod [W]).
Parameters: - Tc (
numpy.ndarray
) – Cell Temperature [K] - cells (list) – Cells to change [Optional]
- Tc (
-
subStrCells
= None¶ cells per substr
Standard module object builder¶
-
pvmismatch.pvmismatch_lib.pvmodule.
standard_cellpos_pat
(nrows, ncols_per_substr)¶ Standard module object builder.
Parameters: - nrows (integer) – Number of rows of cells in module.
- ncols_per_substr (list of integers) – Number of columns of cells in each substring (in parallel with a diode).
Returns: cellpos – Outermost list is a list of substrings in parallel with a bypass diode and in series with each other. The substring is a list of columns in that substring. Inside the column are the actual cells in each row. Each cell has a ‘crosstie’ key and an index.
Return type: list of lists
Cross-tied module object builder¶
-
pvmismatch.pvmismatch_lib.pvmodule.
crosstied_cellpos_pat
(nrows_per_substrs, ncols, partial=False)¶ Cross-tied module object builder.
Parameters: - nrows_per_substr (list of integers) – Number of rows of cells in each substring (in parallel with a diode).
- ncols (integer) – Number of columns of cells.
- partial (boolean) – False (default) means TCT (all cells are cross-tied). True means no cross-tiling.
Returns: cellpos – Outermost list is a list of substrings in parallel with a bypass diode and in series with each other. The substring is a list of columns in that substring. Inside the column are the actual cells in each row. Each cell has a ‘crosstie’ key and an index.
Return type: list of lists
Standard module object¶
-
pvmismatch.pvmismatch_lib.pvmodule.
STD96
¶ Standard module – 12x8 cells Substrings have 2, 4 and 2 columns of cells per diode