Hello,
I am trying to figure out what kind of heat pump configuration will do best: several small ones, or one/two big ones.
So I am simulating 3 small ones, 3 middle ones and 2 big ones.
Usually the heat pumps will work from 70% of nominal_value on.
So far it works somehow OK.
BUT: a) it is ignoring the min value b) if I state minuptime it is ignored as well.
I have also activated relax_problem() to have some faster results.
Right now I do not even have a clue where to look for the error!
So, I would appreciate some hints!
wps = [
{'name': 'a1', 'pmax': 5, 'var': 10, 'startup': 10 * 1.1, 'fixed_costs': SPECCOST * 5 * 1.1, 'cop': 3.0, 'pmin': 3},
{'name': 'a2', 'pmax': 5, 'var': 10, 'startup': 10 * 1.2, 'fixed_costs': SPECCOST * 5 * 1.2, 'cop': 3.0, 'pmin': 3},
{'name': 'a3', 'pmax': 5, 'var': 10, 'startup': 10 * 1.3, 'fixed_costs': SPECCOST * 5 * 1.3, 'cop': 3.0, 'pmin': 3},
{'name': 'b1', 'pmax': 10, 'var': 20, 'startup': 20 * 1.1, 'fixed_costs': SPECCOST * 10 * 1.1, 'cop': 3.05, 'pmin': 6},
{'name': 'b2', 'pmax': 10, 'var': 20, 'startup': 20 * 1.2, 'fixed_costs': SPECCOST * 10 * 1.2, 'cop': 3.05, 'pmin': 6},
{'name': 'b3', 'pmax': 12, 'var': 20, 'startup': 20 * 1.3, 'fixed_costs': SPECCOST * 12 * 1.3, 'cop': 3.05, 'pmin': 6},
{'name': 'c1', 'pmax': 15, 'var': 19, 'startup': 30 * 1.1, 'fixed_costs': SPECCOST * 15 * 1.1, 'cop': 3.1, 'pmin': 10},
{'name': 'c2', 'pmax': 15, 'var': 22, 'startup': 30 * 1.2, 'fixed_costs': SPECCOST * 15 * 1.2, 'cop': 3.1, 'pmin': 10}
]
# Add heat pumps to the energy system
for wp in wps:
f_kw = 1 - 1 / wp['cop']
f_sn = 1 / wp['cop']
wpn = f"Klarwasserwaermepumpe_{wp['name']}"
P_el_max=wp['pmax']*f_sn
activity_costs=wp['fixed_costs']
tmp_output_flow = solph.Flow(
nominal_value=wp['pmax'],
variable_costs=wp['var'],
min=0.7,max=1,
nonconvex=solph.NonConvex(startup_costs=wp['startup'], activity_costs=activity_costs,minimum_uptime=4,minimum_downtime=4)
)
converter = solph.components.Converter(
label=wpn,
inputs={b_klarwasser: solph.Flow(), b_stromnetz: solph.Flow(variable_costs=220, nominal_value=60)},
outputs={b_fw_netz: tmp_output_flow},
conversion_factors={b_klarwasser: f_kw,
b_stromnetz: f_sn},
)
energysystem.add(converter)
energysystem_model = solph.Model(energysystem)
energysystem_model.relax_problem()
energysystem_model.solve(solver=SOLVER, solve_kwargs={"tee": True})
oemof.solph v0.56