NREL / hercules

Hercules
https://nrel.github.io/hercules/
Apache License 2.0
3 stars 7 forks source link

Feature/battery cell model #91

Closed ZackTully closed 5 months ago

ZackTully commented 5 months ago

This is a more detailed battery model called LIB based on the lithium ion cell model in [1.]. The LIB model calculates charging/discharging losses due to internal resistance and transient behavior.

This PR also includes initial documentation for the battery model #68.

References:

  1. M.-K. Tran et al., “A comprehensive equivalent circuit model for lithium-ion batteries, incorporating the effects of state of health, state of charge, and temperature on model parameters,” Journal of Energy Storage, vol. 43, p. 103252, Nov. 2021, doi: 10.1016/j.est.2021.103252.
ZackTully commented 5 months ago

@misi9170 I tried running both example 02 and 06 and they seem to work mostly fine for me.

I tried:

  1. example 2 with whole outputs folder deleted.
  2. example 2 with only log_test_client.log deleted.
  3. example 6 with outputs folder deleted.
  4. example 6 with only log_test_client.log deleted.

Case 1 was the only one that was unusual. When I ran the bash script, it would create the outputs folder then get stuck and not run the simulation. If I ran the bash script a second time, the outputs folder would be populated with the appropriate files.

misi9170 commented 5 months ago

@misi9170 I tried running both example 02 and 06 and they seem to work mostly fine for me.

I tried:

1. example 2 with whole `outputs` folder deleted.

2. example 2 with only `log_test_client.log` deleted.

3. example 6 with `outputs` folder deleted.

4. example 6 with only `log_test_client.log` deleted.

Case 1 was the only one that was unusual. When I ran the bash script, it would create the outputs folder then get stuck and not run the simulation. If I ran the bash script a second time, the outputs folder would be populated with the appropriate files.

Thanks @ZackTully ! That's consistent with what I was getting, exact that for me, it seems that I was getting the same problem you describe for Case 1 when trying Case 3. Anyway, I think that #93 should fix this; we'll hopefully get that one in soon and that should clear the way for this PR to go in

genevievestarke commented 5 months ago

Which bash script are we using for this? The file 'batch_script.sh' seems most complete, but I'm getting odd output from the amr wind standin data part that we might want to look into? It looks like the wind speed in amr_standin_data.csv is just half the time value.

genevievestarke commented 5 months ago

Nvm, I figured it out, all good!

genevievestarke commented 5 months ago

It doesn't seem like the battery is being used in this example, or the power outputs aren't being updated. I thought we had some basic signals passed from WHOC in this example? Is this something we need to work out about the communication between the two (Hercules and WHOC)?

ZackTully commented 5 months ago

It doesn't seem like the battery is being used in this example, or the power outputs aren't being updated. I thought we had some basic signals passed from WHOC in this example? Is this something we need to work out about the communication between the two (Hercules and WHOC)?

Thanks for catching that! It's a result of updating WHOC/HERCULES communication when the emulator main dictionary wasn't writing to the output file. The changes to WHOC are in this pull request: https://github.com/NREL/wind-hybrid-open-controller/pull/33

I think that should solve the problem.