Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Battery Component profits from simultaneous in- and outflow #218

Closed
j-brendel opened this issue Dec 10, 2020 · 5 comments · May be fixed by #237
Closed

Battery Component profits from simultaneous in- and outflow #218

j-brendel opened this issue Dec 10, 2020 · 5 comments · May be fixed by #237
Assignees

Comments

@j-brendel
Copy link
Contributor

Because of the usage of niominal value in the P_max_in and P_max_out definitions, the battery can't be used for MPC Simulations.

Idea:
Silmlify with Nominal Value for MPC compliance.

For Coherence updated Component should have these properties:

  • Discharge and Charge Symmetrical
    grafik
    grafik

  • keep 100 % possible
    grafik

  • Same behaviour 1 min and 60 min interval time

grafik
grafik

@j-ti
Copy link
Contributor

j-ti commented Dec 13, 2020

With the correct loss rate and efficientcy coefficients, eomof handels everything on its own and correctly.

The reason for the constant loading in #212 appears when -vac_in <= vac_out and -vac_in > variable grid cost, as it oemof does not distinguish between artificial or normal costs and makes profits from high inflow (negative cost) although outflow with equal vac as there is energy loss on in and out flow (e. g. 100 Ah * 0.95 * 0.95 = 90.25 Ah). As energy flowing out is less, than inflow, even equal +/-vac results in a net negative value.

=> vac_in and vac_out should always be below the grid costs.

@j-brendel
Copy link
Contributor Author

With these changes, only one consistency criteroin is broken:
Charging and discharging are not symmetrical:
grafik
grafik

Could we modify max_power in battery component to:

    self.p_in_max = self.c_rate_charge * self.battery_capacity / self.efficiency_charge
    self.p_out_max = self.c_rate_discharge * self.battery_capacity * self.efficiency_discharge

This solves this issue, do you think it creates others?

grafik
grafik

I used these files to create plots for consistency checks:
example_Battery.zip

j-brendel added a commit that referenced this issue Dec 14, 2020
@j-ti
Copy link
Contributor

j-ti commented Jan 11, 2021

The problem of simultaneous charging and discharging seen for MPC example #212 (comment) for specific variable artificial costs is a known issue within oemof, that is already resolved by introducing a custom constraint within version 0.4, which does not yet contain the piecewise linear transformer used by smooth.

Probably, this component will be merged within the next release, we could then use, but might still take some time. So, based on the oemof-code copy i was able to use the constraint functionality already for SMOOTH's current oemof version 0.3.3.

without flow count constraint

bat_mpc_vac-20-20_withoutConstraint

with flow count constraints

bat_mpc_vac-20-20_withConstraint_solved

j-ti added a commit that referenced this issue Jan 11, 2021
- temporally adopt constraint function from oemof 0.4 until, SMOOTH switches dependency
- make Battery flows nonconvex to be able to use its status of activity
- add the limited flow count constraint to the oemof model

Resolves simultanious in and out flow of #218
@j-ti
Copy link
Contributor

j-ti commented Jan 14, 2021

PR #223 was merged containing the new maximum nominal power definition

@j-ti j-ti changed the title Battery Component doesn't work for MPC Battery Component profits from simultanious in- and outflow Jan 14, 2021
@j-ti j-ti changed the title Battery Component profits from simultanious in- and outflow Battery Component profits from simultaneous in- and outflow Jan 14, 2021
j-ti added a commit that referenced this issue Feb 11, 2021
- use new constraint feature from oemof 0.4
- make Battery flows nonconvex to be able to use its status of activity
- add the limited flow count constraint to the oemof model

Resolves simultanious in and out flow of #218
j-ti added a commit that referenced this issue Mar 10, 2021
- use new constraint feature from oemof 0.4
- make Battery flows nonconvex to be able to use its status of activity
- add the limited flow count constraint to the oemof model

Resolves simultanious in and out flow of #218
@j-brendel
Copy link
Contributor Author

Solved with #261

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants