在 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)})
如何在 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)})