Skip to content

Commit

Permalink
loop effic (flexible_hvac)
Browse files Browse the repository at this point in the history
  • Loading branch information
hdunham committed Sep 18, 2024
1 parent cada01f commit 9934846
Showing 1 changed file with 9 additions and 9 deletions.
18 changes: 9 additions & 9 deletions src/constraints/flexible_hvac.jl
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ function add_flexible_hvac_constraints(m, p::REoptInputs; _n="")
if !isempty(p.techs.heating) && !isempty(p.techs.cooling)
# space temperature evolution based on state-space model
# TODO: Add indicator constraint workaround for FlexibleHVAC
@constraint(m, [n in 1:N, ts in 2:length(p.time_steps)],
@constraint(m, [ts in 2:length(p.time_steps), n in 1:N],
binFlexHVAC => { dvTemperature[n, ts] == dvTemperature[n, ts-1] +
sum(p.s.flexible_hvac.system_matrix[n, i] * dvTemperature[i, ts-1] for i=1:N) +
sum(p.s.flexible_hvac.input_matrix[n, j] * p.s.flexible_hvac.exogenous_inputs[j, ts-1] for j=1:J) +
sum(p.s.flexible_hvac.system_matrix[n, i] * dvTemperature[i, ts-1] for i in 1:N) +
sum(p.s.flexible_hvac.input_matrix[n, j] * p.s.flexible_hvac.exogenous_inputs[j, ts-1] for j in 1:J) +
input_vec[n] * p.s.flexible_hvac.input_matrix[n, p.s.flexible_hvac.control_node] * (
sum(m[Symbol("dvHeatingProduction"*_n)][t, "SpaceHeating", ts-1] for t in p.techs.heating) -
sum(m[Symbol("dvCoolingProduction"*_n)][t, ts-1] for t in p.techs.cooling)
Expand All @@ -37,10 +37,10 @@ function add_flexible_hvac_constraints(m, p::REoptInputs; _n="")

elseif !isempty(p.techs.heating)

@constraint(m, [n in 1:N, ts in 2:length(p.time_steps)],
@constraint(m, [ts in 2:length(p.time_steps), n in 1:N],
binFlexHVAC => { dvTemperature[n, ts] == dvTemperature[n, ts-1] +
sum(p.s.flexible_hvac.system_matrix[n, i] * dvTemperature[i, ts-1] for i=1:N) +
sum(p.s.flexible_hvac.input_matrix[n, j] * p.s.flexible_hvac.exogenous_inputs[j, ts-1] for j=1:J) +
sum(p.s.flexible_hvac.system_matrix[n, i] * dvTemperature[i, ts-1] for i in 1:N) +
sum(p.s.flexible_hvac.input_matrix[n, j] * p.s.flexible_hvac.exogenous_inputs[j, ts-1] for j in 1:J) +
input_vec[n] * p.s.flexible_hvac.input_matrix[n, p.s.flexible_hvac.control_node] * (
sum(m[Symbol("dvHeatingProduction"*_n)][t, "SpaceHeating", ts-1] for t in p.techs.heating)
)}
Expand All @@ -58,10 +58,10 @@ function add_flexible_hvac_constraints(m, p::REoptInputs; _n="")

elseif !isempty(p.techs.cooling)

@constraint(m, [n in 1:N, ts in 2:length(p.time_steps)],
@constraint(m, [ts in 2:length(p.time_steps), n in 1:N],
binFlexHVAC => { dvTemperature[n, ts] == dvTemperature[n, ts-1] +
sum(p.s.flexible_hvac.system_matrix[n, i] * dvTemperature[i, ts-1] for i=1:N) +
sum(p.s.flexible_hvac.input_matrix[n, j] * p.s.flexible_hvac.exogenous_inputs[j, ts-1] for j=1:J) -
sum(p.s.flexible_hvac.system_matrix[n, i] * dvTemperature[i, ts-1] for i in 1:N) +
sum(p.s.flexible_hvac.input_matrix[n, j] * p.s.flexible_hvac.exogenous_inputs[j, ts-1] for j in 1:J) -
input_vec[n] * p.s.flexible_hvac.input_matrix[n, p.s.flexible_hvac.control_node] * (
sum(m[Symbol("dvCoolingProduction"*_n)][t, ts-1] for t in p.techs.cooling)
)}
Expand Down

0 comments on commit 9934846

Please sign in to comment.