Investment mode for CHP and Storage

Hello, dear oemof developers.

I have 2 questions about investment mode for CHP and Storage:

  1. How does Oemof process the CAPEX for CHP? Are the CAPEX related to electrical power or thermal power?

  2. How are CAPEX for Storage interpreted in Oemof? In terms of performance or capacity or both?

Thank you very much!

Hi @AngelinaDenisova,

For both, you can chose by putting the Investment object to the corresponding place: You can invest into the capacity (maximum power) of Flows or the storage capacity (maximum stored energy) of a GenericStorage. Specifically: The CHP (also when modelled using a Transformer) has one input (fuel) and two outputs (heat and power). You can now put the investment to any of those, or - at your option - even to multiples. For the result, there is little difference, as all of those quantities are proportional (exactly for the Transformer, more or less for the GenericCHP). For the GenericStorage, you can also individually pick where you put the investment, inflow, outflow, or storage capacity. Here, individual sizing can make sense, e.g. for hydropower. At your option, you can put proportionality here (Using an investment object with the GenericStorage component, oemof.solph 0.5.0 documentation), e.g. for battery stacks where adding more storage capacity typically means adding more power.

1 Like

Hello Patrik! Thank you for the quick reply. I tried already different variations, where to put “investment”, and the most plausible results I get in this cases:

So here I didn’t decide myself, what does investment depend on. How is it working here?

In my case of CHP, as I understood, my capex related to electric power, right?

How far I see, the storage examples just do the same. The investment into the flow is for free (no epc), so just the investment into the capacity really plays a role. For the transformer, you put the investment to the electrical power, so this is what your EPC relates to.

PS: I understand the habit to post screenshots, but posting code is a lot more accessible

thermal_storage = GenericStorage(
    label="thermal_storage",
    ...
)
1 Like