Commit 5022fd30 authored by Ciara O'Dwyer's avatar Ciara O'Dwyer
Browse files

Incremental heat rate bounds 1-3 removed

New data parameter hrsection defined (using section will change Lambda results)
Slope for incremental heat rates now defined based on max efficiency (not used in conversion constraints - approximation only required)
parent c2058756
......@@ -50,11 +50,8 @@ Model schedule /
q_conversionIncHR
q_conversionIncHRMaxGen
q_conversionIncHRBounds
q_conversionIncHRBounds1
q_conversionIncHRBounds2
q_conversionIncHRBounds3
q_conversionIncHR_help1
q_conversionIncHR_help2
* q_conversionIncHR_help1
* q_conversionIncHR_help2
q_fuelUseLimit
// Energy Transfer
......
......@@ -300,6 +300,7 @@ param_unit "Set of possible data parameters for units" /
hr00 * hr12 "incremental heat rates"
hrop00 * hrop12 "Right border of the incremental heat rates"
section "Possibility to define a no load fuel use for units with zero minimum output"
hrsection "no load fuel use to be defined when using incremental heat rates"
level1 * level9 "Level of simplification in the part-load efficiency representation"
useTimeseries "A flag to use time series form input for unit parameters whenever possible"
investMIP "A flag to make integer investment instead of continous investment"
......
......@@ -1051,32 +1051,6 @@ q_conversionIncHRBounds1(grid, node,s, suft(effIncHR(effGroup), unit, f, t))$(s
* p_gnu(grid, node, unit, 'maxGen')*v_online_MIP(unit, s, f+df_central(f,t), t)${uft_onlineMIP(unit, f, t)}
;
* --- Incremental Heat Rate Conversion ------------------------------------------
q_conversionIncHRBounds2(grid, node, s, suft(effIncHR(effGroup), unit, f, t)) $(sft(s, f, t)) ..
v_gen_inc(grid, node, unit, 'hr01', s, f, t)
=L=
(
p_effUnit(effGroup, unit, effGroup, 'slope')*p_unit(unit, 'hrop01')
- p_effUnit(effGroup, unit, effGroup, 'slope')*p_unit(unit, 'hrop00')
)
* p_gnu(grid, node, unit, 'maxGen')*v_online_MIP(unit, s, f+df_central(f,t), t)${uft_onlineMIP(unit, f, t)}
;
q_conversionIncHRBounds3(grid, node, s, suft(effIncHR(effGroup), unit, f, t)) $(sft(s, f, t)) ..
v_gen_inc(grid, node, unit, 'hr02', s, f, t)
=L=
(
p_effUnit(effGroup, unit, effGroup, 'slope')*p_unit(unit, 'hrop02')
- p_effUnit(effGroup, unit, effGroup, 'slope')*p_unit(unit, 'hrop01')
)
* p_gnu(grid, node, unit, 'maxGen')*v_online_MIP(unit, s, f+df_central(f,t), t)${uft_onlineMIP(unit, f, t)}
;
* --- Incremental Heat Rate Conversion (First Segments First) -----------------
......
......@@ -409,8 +409,8 @@ loop(effGroupSelectorUnit(effSelector, unit, effSelector_),
if(effIncHR(effSelector),
p_effUnit(effSelector, unit, effSelector, 'lb') = p_unit(unit, 'hrop00'); // hrop00 contains the minimum load of the unit
p_effUnit(effSelector, unit, effSelector, 'op') = smax(hrop, p_unit(unit, hrop)); // Maximum operating point
p_effUnit(effSelector, unit, effSelector, 'slope') = 1; // Uses maximum found (nonzero) efficiency. No load heat rate not considered. Approximation
p_effUnit(effSelector, unit, effSelector, 'section') = p_unit(unit, 'section'); // pre-defined
p_effUnit(effSelector, unit, effSelector, 'slope') = 1 / smax(eff${p_unit(unit, eff)}, p_unit(unit, eff)); // Uses maximum found (nonzero) efficiency.
p_effUnit(effSelector, unit, effSelector, 'section') = p_unit(unit, 'hrsection'); // pre-defined
); // END if(effIncHR)
); // END loop(effGroupSelectorUnit)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment