PySAM using different batt_bank_power and batt_bank_size

  • HAN LEE
  • Topic Author
More
07 May 2020 16:49 #8175 by HAN LEE
Dear Paul,

First, thank you for your effort of doing such important thing!

I am using PySAM to do parametric analysis using PV Battery (detailed). I am using module Pvsamv1 if that's correct. The parameters I want to change is batt_bank_power and batt_bank_size. However, I can't find the exact parameter in pv_model.BatterySystem. The closest thing I can find for batt_bank_size is pv_model.Outputs.batt_bank_installed_capacity and for batt_bank_power there are four similar parameter:
1. pv_model.BatterySystem.batt_power_charge_max_kwac
2. pv_model.BatterySystem.batt_power_charge_max_kwdc
3. pv_model.BatterySystem.batt_power_discharge_max_kwac
4. pv_model.BatterySystem.batt_power_discharge_max_kwdc

I want to ask if there's a function to change four of them at one time given a power I want or should I change them one by one.
If I have to change them one by one, the dc power is close to what I desired, but the ac power are different, is the calculation simply the dc power divided by batt_dc_ac_efficiency or multiply by batt_dc_ac_efficiency? I am asking this because besides batt_dc_ac_efficiency there are a lot of variables such as batt_dc_dc_efficiency and I wonder if the calculation involves these parameters.
Is there anything else I should change besides these four parameters?

Sorry for popping up with a lot of questions and thank you in advance!

Han

Please Log in or Create an account to join the conversation.

  • Paul Gilman
More
11 May 2020 16:08 - 11 May 2020 16:11 #8179 by Paul Gilman
Hi Han,

The automatic battery bank sizing option in the SAM desktop application is not available in PySAM. The user interface performs a series of sizing calculations and checks to ensure all of the inputs to the pvsamv1 battery model are correct that are not available in PySAM.

In PySAM, you must specify the number of cells in series and the number of strings of cells to size the battery bank.

The DC battery bank capacity (kW DC) and voltage (VDC) are defined as:
batt_computed_bank_capacity = batt_Qfull * batt_computed_voltage * batt_bank_nstrings * 0.001
batt_computed_voltage = batt_Vnom_default * batt_bank_ncells_serial

The AC charge and discharge rates (kW AC) depend on whether the battery is AC- or DC-connected.

For a DC-connected battery (batt_ac_or_dc = 0):
batt_bank_power_discharge_ac = batt_computed_bank_capacity * inv_eff
batt_bank_power_charge_ac = batt_computed_bank_capacity / inv_eff

The inverter efficiency (inv_eff) depends on the inverter model:
if (inverter_model== 0)
    inv_eff = inv_snl_eff_cec
else if (inverter_model == 1)
    inv_eff = ${inv_ds_eff}
else if (inverter_model == 2)
    inv_eff = ${inv_pd_eff}
else if (inverter_model == 3)
    inv_eff = ${inv_cec_cg_eff_cec}

inv_eff *= batt_dc_dc_efficiency * 0.01 * 0.01

For an AC-connected battery (batt_ac_or_dc = 1):
batt_bank_power_discharge_ac =batt_computed_bank_capacity * ( batt_dc_ac_efficiency * 0.01) 
batt_bank_power_charge_ac =  batt_computed_bank_capacity / ( batt_dc_ac_efficiency * 0.01 )

Best regards,
Paul.
Last edit: 11 May 2020 16:11 by Paul Gilman.

Please Log in or Create an account to join the conversation.

  • Paul Gilman
More
11 May 2020 18:42 - 12 May 2020 16:24 #8180 by Paul Gilman
There is also a "helper function" in PySAM that packages these equations along with others that are necessary to properly size the battery for different chemistries:

github.com/NREL/pysam/blob/master/files/BatteryTools.py

And this test demonstrates how to use the helper function for different battery chemistries:

github.com/NREL/pysam/blob/master/tests/test_BatteryTools.py

Best regards,
Paul.
Last edit: 12 May 2020 16:24 by Paul Gilman.

Please Log in or Create an account to join the conversation.

  • HAN LEE
  • Topic Author
More
12 May 2020 16:19 #8189 by HAN LEE
Dear Paul:

Thank you sooo much! Really appreciate your work and I'll let you know if I have any more questions!

Please Log in or Create an account to join the conversation.

Moderators: Paul Gilman
Powered by Kunena Forum