pvconstants¶
This module contains configuration constants for PVMismatch, such as number of
points in IV curve to calculate, flag to use parallel processing and parallel
processing parameters. This module also contains some utility functions like
npinterpx()
and
get_series_cells()
are defined
here too.
PVconstants¶

class
pvmismatch.pvmismatch_lib.pvconstants.
PVconstants
(npts=101)¶ Class for configuration constants
Parameters: npts (int) – number of points in IV curve 
E0
= 1000.0¶ [W/m^2] irradiance of 1 sun

Imod_negpts
= None¶ array of points with decreasing spacing from 1 to just less than but not including zero

Imod_pts
= None¶ array of points with increasing spacing from 0 to 1

T0
= 298.15¶ [K] reference temperature

calcParallel
(I, V, Vmax, Vmin)¶ Calculate IV curve for cells and substrings in parallel.
Parameters:  I – currents [A]
 V – voltages [V]
 Vmax – max voltage limit, should be max Voc [V]
 Vmin – min voltage limit, could be zero or Vrbd [V]
Type: I: list,
numpy.ndarray
Type: V: list,
numpy.ndarray

calcSeries
(I, V, meanIsc, Imax)¶ Calculate IV curve for cells and substrings in series given current and voltage in increasing order by voltage, the average short circuit current and the max current at the breakdown voltage.
Parameters:  I – cell or substring currents [A]
 V – cell or substring voltages [V]
 meanIsc – average short circuit current [A]
 Imax – maximum current [A]
Returns: current [A] and voltage [V] of series

k
= 1.38064852e23¶ [kJ/mole/K] Boltzmann constant

negpts
= None¶ array of points with increasing spacing from 1 to just less than but not including zero

npts
¶ number of points in IV curves

pts
= None¶ array of points with decreasing spacing from 0 to 1

q
= 1.6021766208e19¶ [Coloumbs] elementary charge

NumPy Extrapolating Interpolant¶

pvmismatch.pvmismatch_lib.pvconstants.
npinterpx
(x, xp, fp)¶ Numpy interpolation function with linear extrapolation.
Parameters:  x (array_like) – The xcoordinates of the interpolated values.
 xp (1D sequence of floats) – The xcoordinates of the data points, must be increasing.
 fp (1D sequence of floats) – The ycoordinates of the data points, same length as xp.
Returns: y – The interpolated values, same shape as x.
Return type: {float, ndarray}
Raises: ValueError
– If xp and fp have different length
Get Series Cells¶

pvmismatch.pvmismatch_lib.pvconstants.
get_series_cells
(cell_pos_column, prev_col=None)¶ Get the sequence of series cells between parallel crossties.
Parameters:  cell_pos_column – column in cell position pattern
 prev_col – previous column in cell position pattern
Returns: indices of series cells
Formulas¶
Vdiode¶

pvmismatch.pvmismatch_lib.pvconstants.
Vdiode
(Icell, Vcell, Rs)¶ Calculate Vdiode from current, voltage and series resistance.
Parameters:  Icell – cell current [A]
 Vcell – cell voltage [V]
 Rs – cell series resistance [\(\Omega\)]
Returns: diode voltage [V]
Idiode¶

pvmismatch.pvmismatch_lib.pvconstants.
Idiode
(Isat, Vdiode, Vt, n)¶ Calculate diode current using Shockley diode model.
Parameters:  Isat – diode saturation current [A]
 Vdiode – diode voltage [V]
 Vt – thermal voltage [V]
 n – diode ideality factor
Returns: diode current
Note
Thermal voltage is defined as …
\[V_t = \frac {k_B * T} {q_e}\]