pvfit.modeling.simulation.dc.single_diode package

Submodules

pvfit.modeling.simulation.dc.single_diode.equation module

pvfit.modeling.simulation.dc.single_diode.equation.FF(*, N_s: Union[int, numpy.int32, numpy.ndarray], T_degC: Union[float, numpy.float64, numpy.ndarray], I_ph_A: Union[float, numpy.float64, numpy.ndarray], I_rs_1_A: Union[float, numpy.float64, numpy.ndarray], n_1: Union[float, numpy.float64, numpy.ndarray], R_s_Ohm: Union[float, numpy.float64, numpy.ndarray], G_p_S: Union[float, numpy.float64, numpy.ndarray], newton_options: Optional[dict] = None, minimize_scalar_bounded_options: Optional[dict] = None) → dict

Compute fill factor (unitless fraction).

Parameters:
  • N_s – Number of cells in series in each parallel string [·].
  • T_degC – Temperature of device [°C].
  • I_ph_A – Photocurrent [A].
  • I_rs_1_A – Reverse-saturation current of diode [A].
  • n_1 – Ideality factor of diode [·].
  • R_s_Ohm – Series resistance [Ω].
  • G_p_S – Parallel conductance [S].
  • newton_options – Options for Newton solver (see scipy.optimize.newton).
  • minimize_scalar_bounded_options – Options for minimization solver (see scipy.optimize.minimize_scalar).
Returns:

result

FF

Fill Factor [·].

I_sc_A

Terminal short-circuit current [A].

I_mp_A

Terminal current at maximum terminal power [A].

P_mp_W

Maximum terminal power [W].

V_mp_V

Terminal voltage at maximum terminal power [V].

V_oc_V

Terminal open-circuit voltage [V].

Return type:

dict

Notes

All parameters are at the device level, where the device consists of N_s PV cells in series in each of N_p strings in parallel. Inputs must be broadcast compatible. Output values are numpy.float64 or numpy.ndarray.

pvfit.modeling.simulation.dc.single_diode.equation.I_at_V(*, V_V: Union[float, numpy.float64, numpy.ndarray], N_s: Union[int, numpy.int32, numpy.ndarray], T_degC: Union[float, numpy.float64, numpy.ndarray], I_ph_A: Union[float, numpy.float64, numpy.ndarray], I_rs_1_A: Union[float, numpy.float64, numpy.ndarray], n_1: Union[float, numpy.float64, numpy.ndarray], R_s_Ohm: Union[float, numpy.float64, numpy.ndarray], G_p_S: Union[float, numpy.float64, numpy.ndarray], newton_options: Optional[dict] = None) → dict

Compute terminal current at specified terminal voltage.

Parameters:
  • V_V – Terminal voltage [V].
  • N_s – Number of cells in series in each parallel string [·].
  • T_degC – Temperature of device [°C].
  • I_ph_A – Photocurrent [A].
  • I_rs_1_A – Reverse-saturation current of diode [A].
  • n_1 – Ideality factor of diode [·].
  • R_s_Ohm – Series resistance [Ω].
  • G_p_S – Parallel conductance [S].
  • newton_options – Options for Newton solver (see scipy.optimize.newton).
Returns:

result

I_A

Terminal current [A].

I_sum_A

Sum of currents at diode’s anode node [A].

T_K

Effective diode-junction temperature [K].

V_1_V

Voltage at diode’s anode node [V].

n_1_mod_V

Modified ideality factor [V].

Return type:

dict

Notes

All parameters are at the device level, where the device consists of N_s PV cells in series in each of N_p strings in parallel. Inputs must be broadcast compatible. Output values are numpy.float64 or numpy.ndarray.

Compute strategy:

1) Compute initial condition for I_A with explicit equation using R_s_Ohm==0. 2) Compute using scipy.optimize.newton.

pvfit.modeling.simulation.dc.single_diode.equation.I_at_V_d1(*, V_V: Union[float, numpy.float64, numpy.ndarray], N_s: Union[int, numpy.int32, numpy.ndarray], T_degC: Union[float, numpy.float64, numpy.ndarray], I_ph_A: Union[float, numpy.float64, numpy.ndarray], I_rs_1_A: Union[float, numpy.float64, numpy.ndarray], n_1: Union[float, numpy.float64, numpy.ndarray], R_s_Ohm: Union[float, numpy.float64, numpy.ndarray], G_p_S: Union[float, numpy.float64, numpy.ndarray], newton_options: Optional[dict] = None) → dict

Compute 1st derivative of terminal current with respect to terminal voltage at specified terminal voltage.

Parameters:
  • V_V – Terminal voltage [V].
  • N_s – Number of cells in series in each parallel string [·].
  • T_degC – Temperature of device [°C].
  • I_ph_A – Photocurrent [A].
  • I_rs_1_A – Reverse-saturation current of diode [A].
  • n_1 – Ideality factor of diode [·].
  • R_s_Ohm – Series resistance [Ω].
  • G_p_S – Parallel conductance [S].
Returns:

result

I_d1_V_S

1st derivative of terminal current w.r.t terminal voltage [S].

I_A

Terminal current [A].

I_sum_A

Sum of currents at diode’s anode node [A].

T_K

Effective diode-junction temperature [K].

V_1_V

Voltage at diode’s anode node [V].

n_1_mod_V

Modified ideality factor [V].

Return type:

dict

Notes

All parameters are at the device level, where the device consists of N_s PV cells in series in each of N_p strings in parallel. Inputs must be broadcast compatible. Output values are numpy.float64 or numpy.ndarray.

This derivative is needed, e.g., for R_oc_Ohm and R_sc_Ohm calculations.

pvfit.modeling.simulation.dc.single_diode.equation.P_at_V(*, V_V: Union[float, numpy.float64, numpy.ndarray], N_s: Union[int, numpy.int32, numpy.ndarray], T_degC: Union[float, numpy.float64, numpy.ndarray], I_ph_A: Union[float, numpy.float64, numpy.ndarray], I_rs_1_A: Union[float, numpy.float64, numpy.ndarray], n_1: Union[float, numpy.float64, numpy.ndarray], R_s_Ohm: Union[float, numpy.float64, numpy.ndarray], G_p_S: Union[float, numpy.float64, numpy.ndarray], newton_options: Optional[dict] = None) → dict

Compute terminal power at specified terminal voltage.

Parameters:
  • V_V – Terminal voltage [V].
  • N_s – Number of cells in series in each parallel string [·].
  • T_degC – Temperature of device [°C].
  • I_ph_A – Photocurrent [A].
  • I_rs_1_A – Reverse-saturation current of diode [A].
  • n_1 – Ideality factor of diode [·].
  • R_s_Ohm – Series resistance [Ω].
  • G_p_S – Parallel conductance [S].
  • newton_options – Options for Newton solver (see scipy.optimize.newton).
Returns:

result

P_W

Terminal power [W].

I_A

Terminal current [A].

I_sum_A

Sum of currents at diode’s anode node [A].

T_K

Effective diode-junction temperature [K].

V_1_V

Voltage at diode’s anode node [V].

n_1_mod_V

Modified ideality factor [V].

Return type:

dict

Notes

All parameters are at the device level, where the device consists of N_s PV cells in series in each of N_p strings in parallel. Inputs must be broadcast compatible. Output values are numpy.float64 or numpy.ndarray.

pvfit.modeling.simulation.dc.single_diode.equation.P_mp(*, N_s: Union[int, numpy.int32, numpy.ndarray], T_degC: Union[float, numpy.float64, numpy.ndarray], I_ph_A: Union[float, numpy.float64, numpy.ndarray], I_rs_1_A: Union[float, numpy.float64, numpy.ndarray], n_1: Union[float, numpy.float64, numpy.ndarray], R_s_Ohm: Union[float, numpy.float64, numpy.ndarray], G_p_S: Union[float, numpy.float64, numpy.ndarray], newton_options: Optional[dict] = None, minimize_scalar_bounded_options: Optional[dict] = None) → dict

Compute maximum terminal power.

Parameters:
  • N_s – Number of cells in series in each parallel string [·].
  • T_degC – Temperature of device [°C].
  • I_ph_A – Photocurrent [A].
  • I_rs_1_A – Reverse-saturation current of diode [A].
  • n_1 – Ideality factor of diode [·].
  • R_s_Ohm – Series resistance [Ω].
  • G_p_S – Parallel conductance [S].
  • newton_options – Options for Newton solver (see scipy.optimize.newton).
  • minimize_scalar_bounded_options – Options for minimizer solver (see scipy.optimize.minimize_scalar).
Returns:

result

I_mp_A

Terminal current at maximum terminal power [A].

P_mp_W

Maximum terminal power [W].

V_mp_V

Terminal voltage at maximum terminal power [V].

V_oc_V

Terminal open-circuit voltage [V].

Return type:

dict

Notes

All parameters are at the device level, where the device consists of N_s PV cells in series in each of N_p strings in parallel. Inputs must be broadcast compatible. Output values are numpy.float64 or numpy.ndarray.

Compute strategy:

  1. Compute solution bracketing interval as [0, Voc].
  2. Compute maximum power in solution bracketing interval using scipy.optimize.minimize_scalar.
pvfit.modeling.simulation.dc.single_diode.equation.R_at_oc(*, N_s: Union[int, numpy.int32, numpy.ndarray], T_degC: Union[float, numpy.float64, numpy.ndarray], I_ph_A: Union[float, numpy.float64, numpy.ndarray], I_rs_1_A: Union[float, numpy.float64, numpy.ndarray], n_1: Union[float, numpy.float64, numpy.ndarray], R_s_Ohm: Union[float, numpy.float64, numpy.ndarray], G_p_S: Union[float, numpy.float64, numpy.ndarray], newton_options: Optional[dict] = None) → dict

Compute terminal resistance at open circuit in Ohms.

Parameters:
  • N_s – Number of cells in series in each parallel string [·].
  • T_degC – Temperature of device [°C].
  • I_ph_A – Photocurrent [A].
  • I_rs_1_A – Reverse-saturation current of diode [A].
  • n_1 – Ideality factor of diode [·].
  • R_s_Ohm – Series resistance [Ω].
  • G_p_S – Parallel conductance [S].
  • newton_options – Options for Newton solver (see scipy.optimize.newton).
Returns:

result

R_oc_Ohm

Terminal resistance at open circuit [Ω].

V_oc_V

Terminal open-circuit voltage [V].

Return type:

dict

Notes

All parameters are at the device level, where the device consists of N_s PV cells in series in each of N_p strings in parallel. Inputs must be broadcast compatible. Output values are numpy.float64 or numpy.ndarray.

pvfit.modeling.simulation.dc.single_diode.equation.R_at_sc(*, N_s: Union[int, numpy.int32, numpy.ndarray], T_degC: Union[float, numpy.float64, numpy.ndarray], I_ph_A: Union[float, numpy.float64, numpy.ndarray], I_rs_1_A: Union[float, numpy.float64, numpy.ndarray], n_1: Union[float, numpy.float64, numpy.ndarray], R_s_Ohm: Union[float, numpy.float64, numpy.ndarray], G_p_S: Union[float, numpy.float64, numpy.ndarray], newton_options: Optional[dict] = None) → dict

Compute terminal resistance at short circuit in Ohms.

Parameters:
  • N_s – Number of cells in series in each parallel string [·].
  • T_degC – Temperature of device [°C].
  • I_ph_A – Photocurrent [A].
  • I_rs_1_A – Reverse-saturation current of diode [A].
  • n_1 – Ideality factor of diode [·].
  • R_s_Ohm – Series resistance [Ω].
  • G_p_S – Parallel conductance [S].
  • newton_options – Options for Newton solver (see scipy.optimize.newton).
Returns:

result

R_sc_Ohm

Terminal resistance at short circuit [Ω].

I_sc_A

Terminal short-circuit current [A].

Return type:

dict

Notes

All parameters are at the device level, where the device consists of N_s PV cells in series in each of N_p strings in parallel. Inputs must be broadcast compatible. Output values are numpy.float64 or numpy.ndarray.

pvfit.modeling.simulation.dc.single_diode.equation.V_at_I(*, I_A: Union[float, numpy.float64, numpy.ndarray], N_s: Union[int, numpy.int32, numpy.ndarray], T_degC: Union[float, numpy.float64, numpy.ndarray], I_ph_A: Union[float, numpy.float64, numpy.ndarray], I_rs_1_A: Union[float, numpy.float64, numpy.ndarray], n_1: Union[float, numpy.float64, numpy.ndarray], R_s_Ohm: Union[float, numpy.float64, numpy.ndarray], G_p_S: Union[float, numpy.float64, numpy.ndarray], newton_options: Optional[dict] = None) → dict

Compute terminal voltage at specified terminal current.

Parameters:
  • I_A – Terminal current [A].
  • N_s – Number of cells in series in each parallel string [·].
  • T_degC – Temperature of device [°C].
  • I_ph_A – Photocurrent [A].
  • I_rs_1_A – Reverse-saturation current of diode [A].
  • n_1 – Ideality factor of diode [·].
  • R_s_Ohm – Series resistance [Ω].
  • G_p_S – Parallel conductance [S].
  • newton_options – Options for Newton solver (see scipy.optimize.newton).
Returns:

result

V_V

Terminal voltage [V].

I_sum_A

Sum of currents at diode’s anode node [A].

T_K

Effective diode-junction temperature [K].

V_1_V

Voltage at diode’s anode node [V].

n_1_mod_V

Modified ideality factor [V].

Return type:

dict

Notes

All parameters are at the device level, where the device consists of N_s PV cells in series in each of N_p strings in parallel. Inputs must be broadcast compatible. Output values are numpy.float64 or numpy.ndarray.

Compute strategy:

1) Compute initial condition for V_V with explicit equation using G_p_S==0. 2) Compute using scipy.optimize.newton.

pvfit.modeling.simulation.dc.single_diode.equation.V_at_I_d1(*, I_A: Union[float, numpy.float64, numpy.ndarray], N_s: Union[int, numpy.int32, numpy.ndarray], T_degC: Union[float, numpy.float64, numpy.ndarray], I_ph_A: Union[float, numpy.float64, numpy.ndarray], I_rs_1_A: Union[float, numpy.float64, numpy.ndarray], n_1: Union[float, numpy.float64, numpy.ndarray], R_s_Ohm: Union[float, numpy.float64, numpy.ndarray], G_p_S: Union[float, numpy.float64, numpy.ndarray], newton_options: Optional[dict] = None) → dict

Compute 1st derivative of terminal voltage with respect to terminal current at specified terminal current.

Parameters:
  • I_A – Terminal current [A].
  • N_s – Number of cells in series in each parallel string [·].
  • T_degC – Temperature of device [°C].
  • I_ph_A – Photocurrent [A].
  • I_rs_1_A – Reverse-saturation current of diode [A].
  • n_1 – Ideality factor of diode [·].
  • R_s_Ohm – Series resistance [Ω].
  • G_p_S – Parallel conductance [S].
Returns:

result

V_d1_I_Ohm

1st derivative of terminal voltage w.r.t terminal current [Ω].

V_V

Terminal voltage [V].

I_sum_A

Sum of currents at diode’s anode node [A].

T_K

Effective diode-junction temperature [K].

V_1_V

Voltage at diode’s anode node [V].

n_1_mod_V

Modified ideality factor [V].

Return type:

dict

Notes

All parameters are at the device level, where the device consists of N_s PV cells in series in each of N_p strings in parallel. Inputs must be broadcast compatible. Output values are numpy.float64 or numpy.ndarray.

This derivative is needed, e.g., for solving the differential equation for capacitor charging.

pvfit.modeling.simulation.dc.single_diode.equation.current_sum_at_diode_node(*, V_V: Union[float, numpy.float64, numpy.ndarray], I_A: Union[float, numpy.float64, numpy.ndarray], N_s: Union[int, numpy.int32, numpy.ndarray], T_degC: Union[float, numpy.float64, numpy.ndarray], I_ph_A: Union[float, numpy.float64, numpy.ndarray], I_rs_1_A: Union[float, numpy.float64, numpy.ndarray], n_1: Union[float, numpy.float64, numpy.ndarray], R_s_Ohm: Union[float, numpy.float64, numpy.ndarray], G_p_S: Union[float, numpy.float64, numpy.ndarray]) → dict

Computes the sum of the currents at the diode’s anode in the 5-parameter single-diode equation (SDE) equivalent-circuit model.

Parameters:
  • V_V – Terminal voltage [V].
  • I_A – Terminal current [A].
  • N_s – Number of cells in series in each parallel string [·].
  • T_degC – Temperature of device [°C].
  • I_ph_A – Photocurrent [A].
  • I_rs_1_A – Reverse-saturation current of diode [A].
  • n_1 – Ideality factor of diode [·].
  • R_s_Ohm – Series resistance [Ω].
  • G_p_S – Parallel conductance [S].
Returns:

result

I_sum_A

Sum of currents at diode’s anode node [A].

T_K

Effective diode-junction temperature [K].

V_1_V

Voltage at diode’s anode node [V].

n_1_mod_V

Modified ideality factor [V].

Return type:

dict

Notes

All parameters are at the device level, where the device consists of N_s PV cells in series in each of N_p strings in parallel. Inputs must be broadcast compatible. Output values are numpy.float64 or numpy.ndarray.

pvfit.modeling.simulation.dc.single_diode.equation.iv_params(*, N_s: Union[int, numpy.int32, numpy.ndarray], T_degC: Union[float, numpy.float64, numpy.ndarray], I_ph_A: Union[float, numpy.float64, numpy.ndarray], I_rs_1_A: Union[float, numpy.float64, numpy.ndarray], n_1: Union[float, numpy.float64, numpy.ndarray], R_s_Ohm: Union[float, numpy.float64, numpy.ndarray], G_p_S: Union[float, numpy.float64, numpy.ndarray], newton_options: Optional[dict] = None, minimize_scalar_bounded_options: Optional[dict] = None) → dict

Compute I-V curve parameters.

Parameters:
  • F – Effective irradiance ratio on device [·].
  • T_degC – Temperature of device [°C].
  • N_s – Number of cells in series in each parallel string [·].
  • T_degC – Temperature of device [°C].
  • I_ph_A – Photocurrent [A].
  • I_rs_1_A – Reverse-saturation current of diode [A].
  • n_1 – Ideality factor of diode [·].
  • R_s_Ohm – Series resistance [Ω].
  • G_p_S – Parallel conductance [S].
  • newton_options – Options for Newton solver (see scipy.optimize.newton).
  • minimize_scalar_bounded_options – Options for minimizer solver (see scipy.optimize.minimize_scalar).
Returns:

result

FF

Fill Factor [·].

I_sc_A

Terminal short-circuit current [A].

R_sc_Ohm

Terminal resistance at short circuit [Ω].

V_x_V

Terminal voltage at half of terminal open-circuit voltage [V].

I_x_A

Terminal current at V_x_V [A].

I_mp_A

Terminal current at maximum terminal power [A].

P_mp_W

Maximum terminal power [W].

V_mp_V

Terminal voltage at maximum terminal power [V].

V_xx_V

Terminal voltage at average of votage at maximum power and terminal open-circuit voltage [V].

I_xx_A

Terminal current at V_xx_V [A].

R_oc_Ohm

Terminal resistance at open circuit [Ω].

V_oc_V

Terminal open-circuit voltage [V].

Return type:

dict

Notes

All parameters are at the device level, where the device consists of N_s PV cells in series in each of N_p strings in parallel. Inputs must be broadcast compatible. Output values are numpy.float64 or numpy.ndarray.

pvfit.modeling.simulation.dc.single_diode.model module

pvfit.modeling.simulation.dc.single_diode.model.I_at_V_F_T(*, V_V: Union[float, numpy.float64, numpy.ndarray], F: Union[float, numpy.float64, numpy.ndarray], T_degC: Union[float, numpy.float64, numpy.ndarray], N_s: Union[int, numpy.int32, numpy.ndarray], T_degC_0: Union[float, numpy.float64, numpy.ndarray], I_sc_A_0: Union[float, numpy.float64, numpy.ndarray], I_rs_1_A_0: Union[float, numpy.float64, numpy.ndarray], n_1_0: Union[float, numpy.float64, numpy.ndarray], R_s_Ohm_0: Union[float, numpy.float64, numpy.ndarray], G_p_S_0: Union[float, numpy.float64, numpy.ndarray], E_g_eV_0: Union[float, numpy.float64, numpy.ndarray], newton_options: Optional[dict] = None) → dict

Compute terminal current at specified terminal voltage, effective irradiance ratio, and device temperature.

Parameters:
  • V_V – Terminal voltage [V].
  • F – Effective irradiance ratio on device [·].
  • T_degC – Temperature of device [°C].
  • N_s – Number of cells in series in each parallel string [·].
  • T_degC_0 – Temperature at reference condtions [°C].
  • I_sc_A_0 – Short-circuit current at reference condtions [A].
  • I_rs_1_A_0 – Reverse-saturation current of diode at reference condtions [A].
  • n_1_0 – Ideality factor of diode at reference condtions [·].
  • R_s_Ohm_0 – Series resistance at reference condtions [Ω].
  • G_p_S_0 – Parallel conductance at reference condtions [S].
  • E_g_eV_0 – Material band gap at reference condtions [eV].
  • newton_options – Options for Newton solver (see scipy.optimize.newton).
Returns:

result

I_A

Terminal current [A].

I_sum_A

Sum of currents at diode’s anode node [A].

T_K

Effective diode-junction temperature [K].

V_1_V

Voltage at diode’s anode node [V].

n_1_mod_V

Modified ideality factor [V].

Return type:

dict

Notes

All parameters are at the device level, where the device consists of N_s PV cells in series in each of N_p strings in parallel. Inputs must be broadcast compatible. Output values are numpy.float64 or numpy.ndarray.

pvfit.modeling.simulation.dc.single_diode.model.V_at_I_F_T(*, I_A: Union[float, numpy.float64, numpy.ndarray], F: Union[float, numpy.float64, numpy.ndarray], T_degC: Union[float, numpy.float64, numpy.ndarray], N_s: Union[int, numpy.int32, numpy.ndarray], T_degC_0: Union[float, numpy.float64, numpy.ndarray], I_sc_A_0: Union[float, numpy.float64, numpy.ndarray], I_rs_1_A_0: Union[float, numpy.float64, numpy.ndarray], n_1_0: Union[float, numpy.float64, numpy.ndarray], R_s_Ohm_0: Union[float, numpy.float64, numpy.ndarray], G_p_S_0: Union[float, numpy.float64, numpy.ndarray], E_g_eV_0: Union[float, numpy.float64, numpy.ndarray], newton_options: Optional[dict] = None) → dict

Compute terminal voltage at specified terminal current, effective irradiance ratio, and device temperature.

Parameters:
  • I_A – Terminal current [A].
  • F – Effective irradiance ratio on device [·].
  • T_degC – Temperature of device [°C].
  • N_s – Number of cells in series in each parallel string [·].
  • T_degC_0 – Temperature at reference condtions [°C].
  • I_sc_A_0 – Short-circuit current at reference condtions [A].
  • I_rs_1_A_0 – Reverse-saturation current of diode at reference condtions [A].
  • n_1_0 – Ideality factor of diode at reference condtions [·].
  • R_s_Ohm_0 – Series resistance at reference condtions [Ω].
  • G_p_S_0 – Parallel conductance at reference condtions [S].
  • E_g_eV_0 – Material band gap at reference condtions [eV].
  • newton_options – Options for Newton solver (see scipy.optimize.newton).
Returns:

result

V_V

Terminal voltage [V].

I_sum_A

Sum of currents at diode’s anode node [A].

T_K

Effective diode-junction temperature [K].

V_1_V

Voltage at diode’s anode node [V].

n_1_mod_V

Modified ideality factor [V].

Return type:

dict

Notes

All parameters are at the device level, where the device consists of N_s PV cells in series in each of N_p strings in parallel. Inputs must be broadcast compatible. Output values are numpy.float64 or numpy.ndarray.

pvfit.modeling.simulation.dc.single_diode.model.auxiliary_equations(*, F: Union[float, numpy.float64, numpy.ndarray], T_degC: Union[float, numpy.float64, numpy.ndarray], N_s: Union[int, numpy.int32, numpy.ndarray], T_degC_0: Union[float, numpy.float64, numpy.ndarray], I_sc_A_0: Union[float, numpy.float64, numpy.ndarray], I_rs_1_A_0: Union[float, numpy.float64, numpy.ndarray], n_1_0: Union[float, numpy.float64, numpy.ndarray], R_s_Ohm_0: Union[float, numpy.float64, numpy.ndarray], G_p_S_0: Union[float, numpy.float64, numpy.ndarray], E_g_eV_0: Union[float, numpy.float64, numpy.ndarray])

Computes the auxiliary equations at effective irradiance ratio and device temperature.

Parameters:
  • F – Effective irradiance ratio on device [·].
  • T_degC – Temperature of device [°C].
  • N_s – Number of cells in series in each parallel string [·].
  • T_degC_0 – Temperature at reference condtions [°C].
  • I_sc_A_0 – Short-circuit current at reference condtions [A].
  • I_rs_1_A_0 – Reverse-saturation current of diode at reference condtions [A].
  • n_1_0 – Ideality factor of diode at reference condtions [·].
  • R_s_Ohm_0 – Series resistance at reference condtions [Ω].
  • G_p_S_0 – Parallel conductance at reference condtions [S].
  • E_g_eV_0 – Material band gap at reference condtions [eV].
Returns:

result

N_s

Number of cells in series in each parallel string [·].

T_degC

Temperature of device [°C].

I_ph_A

Photocurrent [A].

I_rs_1_A

Reverse-saturation current of diode [A].

n_1

Ideality factor of diode [·].

R_s_Ohm

Series resistance [Ω].

G_p_S

Parallel conductance [S].

Return type:

dict

Notes

All parameters are at the device level, where the device consists of N_s PV cells in series in each of N_p strings in parallel. Inputs must be broadcast compatible. Output values are numpy.float64 or numpy.ndarray.

pvfit.modeling.simulation.dc.single_diode.model.current_sum_at_diode_node(*, V_V: Union[float, numpy.float64, numpy.ndarray], I_A: Union[float, numpy.float64, numpy.ndarray], F: Union[float, numpy.float64, numpy.ndarray], T_degC: Union[float, numpy.float64, numpy.ndarray], N_s: Union[int, numpy.int32, numpy.ndarray], T_degC_0: Union[float, numpy.float64, numpy.ndarray], I_sc_A_0: Union[float, numpy.float64, numpy.ndarray], I_rs_1_A_0: Union[float, numpy.float64, numpy.ndarray], n_1_0: Union[float, numpy.float64, numpy.ndarray], R_s_Ohm_0: Union[float, numpy.float64, numpy.ndarray], G_p_S_0: Union[float, numpy.float64, numpy.ndarray], E_g_eV_0: Union[float, numpy.float64, numpy.ndarray])

Computes the sum of currents at the diode’s anode node in the 6-parameter single-diode model (SDM) equivalent-circuit model.

Parameters:
  • V_V – Terminal voltage [V].
  • I_A – Terminal current [A].
  • F – Effective irradiance ratio on device [·].
  • T_degC – device temperature [°C].
  • N_s – Number of cells in series in each parallel string [·].
  • T_degC_0 – Temperature at reference condtions [°C].
  • I_sc_A_0 – Short-circuit current at reference condtions [A].
  • I_rs_1_A_0 – Reverse-saturation current of diode at reference condtions [A].
  • n_1_0 – Ideality factor of diode at reference condtions [·].
  • R_s_Ohm_0 – Series resistance at reference condtions [Ω].
  • G_p_S_0 – Parallel conductance at reference condtions [S].
  • E_g_eV_0 – Material band gap at reference condtions [eV].
Returns:

result

I_sum_A

Sum of currents at diode’s anode node [A].

T_K

Temperature of device [K].

V_1_V

Voltage at diode’s anode node [V].

n_1_mod_V

Modified ideality factor [V].

Return type:

dict

Notes

All parameters are at the device level, where the device consists of N_s PV cells in series in each of N_p strings in parallel. Inputs must be broadcast compatible. Output values are numpy.float64 or numpy.ndarray.

pvfit.modeling.simulation.dc.single_diode.model.iv_params(*, F: Union[float, numpy.float64, numpy.ndarray], T_degC: Union[float, numpy.float64, numpy.ndarray], N_s: Union[int, numpy.int32, numpy.ndarray], T_degC_0: Union[float, numpy.float64, numpy.ndarray], I_sc_A_0: Union[float, numpy.float64, numpy.ndarray], I_rs_1_A_0: Union[float, numpy.float64, numpy.ndarray], n_1_0: Union[float, numpy.float64, numpy.ndarray], R_s_Ohm_0: Union[float, numpy.float64, numpy.ndarray], G_p_S_0: Union[float, numpy.float64, numpy.ndarray], E_g_eV_0: Union[float, numpy.float64, numpy.ndarray], newton_options: Optional[dict] = None, minimize_scalar_bounded_options: Optional[dict] = None)

Compute I-V curve parameters at specified effective irradiance ratio and device temperature.

F
Effective irradiance ratio on device [·].
T_degC
Temperature of device [°C].
N_s
Number of cells in series in each parallel string [·].
T_degC_0
Temperature at reference condtions [°C].
I_sc_A_0
Short-circuit current at reference condtions [A].
I_rs_1_A_0
Reverse-saturation current of diode at reference condtions [A].
n_1_0
Ideality factor of diode at reference condtions [·].
R_s_Ohm_0
Series resistance at reference condtions [Ω].
G_p_S_0
Parallel conductance at reference condtions [S].
E_g_eV_0
Material band gap at reference condtions [eV].
newton_options
Options for Newton solver (see scipy.optimize.newton).
minimize_scalar_bounded_options
Options for minimizer solver (see scipy.optimize.minimize_scalar).
Returns:result
FF
Fill Factor [·].
I_sc_A
Short-circuit current [A].
R_sc_Ohm
Terminal resistance at short circuit [Ω].
V_x_V
Terminal voltage at half of terminal open-circuit voltage [V].
I_x_A
Terminal current at V_x_V [A].
I_mp_A
Terminal current at maximum terminal power [A].
P_mp_W
Maximum terminal power [W].
V_mp_V
Terminal voltage at maximum terminal power [V].
V_xx_V
Terminal voltage at average of votage at maximum power and terminal open-circuit voltage [V].
I_xx_A
Terminal current at V_xx_V [A].
R_oc_Ohm
Terminal resistance at open circuit [Ω].
V_oc_V
Terminal open-circuit voltage [V].
Return type:dict

Notes

All parameters are at the device level, where the device consists of N_s PV cells in series in each of N_p strings in parallel. Inputs must be broadcast compatible. Output values are numpy.float64 or numpy.ndarray.

Module contents