Open nikhilgupta10 opened 8 years ago
http://gridlabd.me.uvic.ca/wiki/index.php/Transactive_Control#Description_of_Operation
The controller class has the following two parameters
slider_setting_cool slider_setting_heat
They can be set from 0-1 and they define the slopes and ranges of the temperature vs price curve as shown below.
The red line represents heating, which is defined by the heating low/high ramp and heating low/high ranges e.g.
heating_ramp_low -2; heating_ramp_high -2; heating_range_low -3; heating_range_high 5;
The blue line represents cooling, which is defined by the cooling low/high ramp and cooling low/high ranges e.g.
cooling_ramp_low 2; cooling_ramp_high 2; cooling_range_low -3; cooling_range_high 5;
The slider values from 0 /u2013 1 define the type of owner in the residential unit in terms of their comfort preference.
When slider_setting = 1, Gridlab-D assigns the following values to heating/cooling ( ramp/range low/high )
heating_ramp_low 2; heating_ramp_high -2; heating_range_low -5; heating_range_high 5; cooling_ramp_low -2; cooling_ramp_high 2; cooling_range_low -5; cooling_range_high 5;
However, the signs of cooling_ramp_low and heating_ramp_low are incorrect. The correct values should be as follows :
heating_ramp_low -2; cooling_ramp_low 2;
The following code is from the market module in the controller class. The bolded lines are what I think is incorrect.
if(control_mode == CN_DOUBLE_RAMP){ if (slider_setting_cool == -0.001){ cool_min = cooling_setpoint0 + cool_range_low; cool_max = cooling_setpoint0 + cool_range_high; } else if(slider_setting_cool > 0.0){ cool_min = cooling_setpoint0 + cool_range_low \* slider_setting_cool; cool_max = cooling_setpoint0 + cool_range_high \* slider_setting_cool; if (cool_range_low != 0.0) cool_ramp_low = -2 - (1 - slider_setting_cool); // incorrect else cool_ramp_low = 0; if (cool_range_high != 0.0) cool_ramp_high = 2 + (1 - slider_setting_cool); else cool_ramp_high = 0; } else { cool_min = cooling_setpoint0; cool_max = cooling_setpoint0; } if (slider_setting_heat == -0.001){ heat_min = heating_setpoint0 + heat_range_low; heat_max = heating_setpoint0 + heat_range_high; } else if (slider_setting_heat > 0.0){ heat_min = heating_setpoint0 + heat_range_low \* slider_setting_heat; heat_max = heating_setpoint0 + heat_range_high \* slider_setting_heat; if (heat_range_low != 0.0) heat_ramp_low = 2 + (1 - slider_setting_heat); // incorrect else heat_ramp_low = 0; if (heat_range_high != 0) heat_ramp_high = -2 - (1 - slider_setting_heat); else heat_ramp_high = 0; } else { heat_min = heating_setpoint0; heat_max = heating_setpoint0; } }
nikhilgupta10 imported these comments from Sourceforge: The user dchassin does not exist anymore. Therefore assigning this to afisher1.
http://gridlabd.me.uvic.ca/wiki/index.php/Transactive_Control#Description_of_Operation
The controller class has the following two parameters
They can be set from 0-1 and they define the slopes and ranges of the temperature vs price curve as shown below.
The red line represents heating, which is defined by the heating low/high ramp and heating low/high ranges e.g.
The blue line represents cooling, which is defined by the cooling low/high ramp and cooling low/high ranges e.g.
The slider values from 0 /u2013 1 define the type of owner in the residential unit in terms of their comfort preference.
When slider_setting = 1, Gridlab-D assigns the following values to heating/cooling ( ramp/range low/high )
However, the signs of cooling_ramp_low and heating_ramp_low are incorrect. The correct values should be as follows :
The following code is from the market module in the controller class. The bolded lines are what I think is incorrect.
,