在 oemof (solph) 中模拟热泵

Modelling a heat pump in oemof (solph)

如何在 oemof 中模拟热泵。我认为有必要打造三路公交车(低温水库、电力、高温)。但是 LinearTransformer class 不允许超过一个输入。还有其他方法吗?

我想设置一个 oemof 标签,但不允许我这样做。

这取决于您使用的 oemof 版本。如果您使用 oemof < v0.1.2,则必须仅使用两条总线对其进行建模。您可以使用储层温度和热总线的平均温度提前计算 COP。您可以将其作为列表传递,numpy.array、pandas.Series 等。

from oemof import solph
cop = [2.5, 2.3, 2.5]  # length = number of time steps  
solph.LinearTransformer(
    label="pp_gas",
    inputs={electricity_bus: solph.Flow()},
    outputs={heat_bus: solph.Flow(nominal_value=maximum_output)},
    conversion_factors={electricity_bus: cop})

对于 oemof >= v0.1.2,您可以使用两个或三个总线。但如果使用第三辆巴士获得额外价值,请仔细考虑。

from oemof import solph
b_el = solph.Bus(label='electricity')
b_th_low = solph.Bus(label='low_temp_heat')
b_th_high = solph.Bus(label='high_temp_heat')

cop = 3  # coefficient of performance of the heat pump

solph.LinearN1Transformer(
    label='heat_pump',
    inputs={bus_elec: Flow(), bus_low_temp_heat: Flow()},
    outputs={bus_th_high: Flow()},
    conversion_factors={bus_elec: cop,
                        b_th_low: cop/(cop-1)})