Можно ли использовать fit_cec_sam для расчета параметров на уровне строки или жгута по сравнению с уровнем панели?Python

Программы на Python
Anonymous
 Можно ли использовать fit_cec_sam для расчета параметров на уровне строки или жгута по сравнению с уровнем панели?

Сообщение Anonymous »

Мне нужно рассчитать параметры SDM на уровне жгута.
  • Цепочка состоит из 15 панелей, соединенных последовательно.
  • Жгут состоит из 8 рядов, соединенных параллельно.
Спецификация панели (First Solar FS-395-PLUS) можно найти здесь
Минимальный рабочий пример

Код: Выделить всё

import numpy as np
import pandas as pd
from pvlib.ivtools import sdm

n_panels_per_string = 15
n_string_per_harness = 8

# panel specsheet parameters
cell_type="cdte"
v_mp = 45.8
i_mp = 2.08
v_oc = 58.0
i_sc = 2.29
alpha_sc = 0.0004 # A/C
beta_voc = -0.0028 # V/C
cells_in_series = 146
gamma_pmp = -0.29 # %/C

temp_ref = 25 # stc

# string-level parameters
string_cells_in_series = int(cells_in_series*n_panels_per_string)
string_v_mp = v_mp*n_panels_per_string
string_i_mp = i_mp
string_v_oc = v_oc*n_panels_per_string
string_i_sc = i_sc

string_alpha_sc = 0.0004*string_i_sc
string_beta_voc = -0.0028*string_v_oc

# harness-level parameters
harness_cells_in_series = string_cells_in_series
harness_v_mp = string_v_mp
harness_i_mp = string_i_mp*n_string_per_harness
harness_v_oc = string_v_oc
harness_i_sc = string_i_sc*n_string_per_harness

harness_alpha_sc = string_alpha_sc*n_string_per_harness
harness_beta_voc = string_beta_voc

print(f'v_mp: {harness_v_mp:.4f} V')
print(f'i_mp: {harness_i_mp:.4f} A')
print(f'v_oc: {harness_v_oc:.4f} V')
print(f'i_sc: {harness_i_sc:.4f} A')
print(f'cells_in_series: {harness_cells_in_series}')
print(f'temp_ref: {temp_ref:.4f} C')
print(f'alpha_sc: {harness_alpha_sc:.4f} A/C')
print(f'beta_voc: {harness_beta_voc:.4f} V/C')
print(f'gamma_pmp: {gamma_pmp:.4f}')

ideal_parameters_stc = sdm.fit_cec_sam(
cell_type,
harness_v_mp,
harness_i_mp,
harness_v_oc,
harness_i_sc,
harness_alpha_sc,
harness_beta_voc,
gamma_pmp,
harness_cells_in_series,
temp_ref
)

print("\nideal parameters at STC")
print(f'I_L_ref: {ideal_parameters_stc[0]:.4f} A')
print(f'I_o_ref: {ideal_parameters_stc[1]:.12f} A')
print(f'R_s: {ideal_parameters_stc[2]:.4f} ohms')
print(f'R_sh_ref: {ideal_parameters_stc[3]:.4f} ohms')
print(f'a_ref: {ideal_parameters_stc[4]:.4f}')
Я получаю следующее сообщение об ошибке:

Код: Выделить всё

---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
Cell In[42], line 54
51 print(f'beta_voc: {harness_beta_voc:.4f} V/C')
52 print(f'gamma_pmp: {gamma_pmp:.4f}')
---> 54 ideal_parameters_stc = sdm.fit_cec_sam(
55     cell_type,
56     harness_v_mp,
57     harness_i_mp,
58     harness_v_oc,
59     harness_i_sc,
60     harness_alpha_sc,
61     harness_beta_voc,
62     gamma_pmp,
63     harness_cells_in_series,
64     temp_ref
65 )
67 print("\nideal parameters at STC")
68 print(f'I_L_ref: {ideal_parameters_stc[0]:.4f} A')

File c:\Users\solarisai-common\.conda\envs\myenvpyr\Lib\site-packages\pvlib\ivtools\sdm\cec.py:93, in fit_cec_sam(celltype, v_mp, i_mp, v_oc, i_sc, alpha_sc, beta_voc, gamma_pmp, cells_in_series, temp_ref)
90     return tuple([result[k] for k in ['Il', 'Io', 'Rs', 'Rsh', 'a',
91                   'Adj']])
92 else:
---> 93     raise RuntimeError('Parameter estimation failed')

RuntimeError: Parameter estimation failed
Означает ли это, что параметры SDM можно оценить только на уровне панели?
Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/797 ... arness-lev

Вернуться в «Python»