Battery Storage Computed Inputs

9 posts / 0 new
Last post
tmartin
Battery Storage Computed Inputs

Hi,

It seems as though the battery portion of the pvsamv1 module and/or the battery module have some values that are computed unseen to the SAM users. Specifically I'm referring to the variables leadacid_q20_computed, leadacid_q10_computed, leadacid_qn_computed, and leadacid_tn. I tried reading through "Technoeconomic Modeling of Battery Energy Storage in SAM" but there wasn't really any mention of these variables. I think t may have said that these values are derived from a HOMER database, although I'm not sure. Does anyone know of a way to calculate these values based on the other inputs? (Through trial-and-error I found out that I can find leadacid_q20_computed by setting the Max C-rate of charge to 1).

I'm trying to make it so that I can use the code to optimize battery size based on load and generation inputs, and basic battery inputs (the cell characteristics and desired bank voltage). If I can write my code so that I can set the cell characteristics and the bank voltage and then "wiggle" the bank capacity this would allow me to optimize the bank to a specific load and generation combo.

Thanks,

Tane

Paul Gilman

Hi Tane,

You are correct that SAM assigns default values and calculates those SSC inputs in equations behind the scenes. Here are the equations you need to calculate those computed parameters:

LeadAcid_q10_computed
= batt_computed_strings * LeadAcid_q10 * batt_Qfull / 100

LeadAcid_q20_computed
= batt_computed_strings * LeadAcid_q20 * batt_Qfull} / 100

LeadAcid_qn_computed
= batt_computed_strings * LeadAcid_qn * batt_Qfull / 100

Where batt_Qfull is "Cell capacity" on the SAM Battery Storage input page, and batt_computed_strings is "Strings in parallel."

The default values SAM uses for the different lead acid batteries are:

Flooded lead acid
LeadAcid_q20 = 100 (capacity at 20-hour discharge rate, Ah)
LeadAcid_q10 = 87 (capacity at 10-hour discharge rate, Ah)
LeadAcid_qn = 47 (capacity at discharge rate for n-hour rate, Ah)
LeadAcid_tn = 1 (time to discharge, h)

AGM
LeadAcid_q20 = 100
LeadAcid_q10 = 93.2
LeadAcid_qn = 58.12
LeadAcid_tn = 1
batt_Cp = 660

Gel
LeadAcid_q20 = 100
LeadAcid_q10 = 84.94
LeadAcid_qn = 63.1
LeadAcid_tn = 1
batt_Cp = 660

Let me know if you need any other values or equations.

Best regards,
Paul.

tmartin

Thanks Paul, that was exactly what I needed. For lithium ion, are these inputs ignored? I've read that peukert's law is less of an issue with li ion but not sure if its negligible or not, and more importantly if the module treats it that way.

Also what is the batt_Cp for the li-ion choices? And for flooded lead acid?

Lastly, I realized I missed a few computed value eq's: batt_h_to_ambient and batt_vnom_default

Thanks again for your help,

Tane

Paul Gilman

Dear Tane,

Yes. Those inputs are only for lead acid batteries.

The thermal parameter inputs are in the "Thermal Behavior" group on the Battery Storage input page. It looks like the default value for h is 500 W/m2K. For all of the lithium ion batteries, batt_Cp = 1004. That's from Maleki 1999, Thermal Properties of Lithium-ion Batteries and Components.

For lead acid batteries, batt_Vnom_default = 2. For the Lithium-ion batteries (you can double-check these in the user interface):

Lithium Manganese Oxide, 3.6
Lithium Iron Phosphate, 3.3
Lithium Cobalt Oxide, 3.7
Lithium Titanate, 2.3
Lithium Nickel Cobalt, 3.6
Nickel Manganese Cobalt Oxide, 3.6

Best regards,
Paul.

tmartin

Thanks Paul. Not sure how I missed some of those.

Just as a heads up, when I run SAM the thermal behavior labels are hidden behind the image so they aren't legible. (Not a big deal, but thought it might be useful to pass on)

tmartin

Hi Paul,

Can you explain the inouts for the battery module?

On the in-side, is hourly_energy the amount that the pv-modules have generated? Or is it the amount that is sent to the battery (e.g. generation - load)? Is it already assumed to be on the AC bus?

On the in-side, is e_load the load seen by the battery? Or is it the total load? And, again is it assumed to be on the AC or DC bus or can I build in those efficiency losses manually outside of the module?

And could you give a little explanation of both those variables on the out-side as well? I'm not sure I understand why the load would change because one has a battery, unless maybe it is stating the new load of the entire system itself? And I don't really have a guess for the out-side of hourly_energy.

Thanks in advance for the help.

Tane

Paul Gilman

Hi Tane,

the INOUT variables are passed from other modules to the battery module and are not modified by the battery module:

hourly_energy is the AC output of the PV system
e_load is the building's AC load

Best regards,
Paul.

tmartin

Ok thanks Paul. I was under the impression that INOUTs were variables that were passed into the module, altered, and then passed back out.

If one were to pass the DC output of the system into hourly_energy, would that effectively result in the battery being on the DC bus? Or is the module built in such a way that AC output is the only valid input?

Tane

Paul Gilman

Hi Tane,

In SSC Version 160, SAM applies the AC to DC conversion efficiency value to the hourly_energy value, so if you set that value to 100%, it would effectively be treated as DC energy.

Note that the AC to DC conversion input is intended to account for electrical losses in the charge controller in addition to rectification from AC to DC, so you might set the value to something lower than 100%.

However, the model still adds battery power on the AC side of the PV inverter, so you cannot use this approach in a system designed to use the battery to increase the DC/AC ratio.

Best regards,
Paul.

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer