architecture-building-systems / CityEnergyAnalyst

The City Energy Analyst (CEA)
https://www.cityenergyanalyst.com/
MIT License
196 stars 66 forks source link

Night and morning temperature setbacks #8

Closed jimenofonseca closed 8 years ago

jimenofonseca commented 8 years ago

Fixing the start of the heating schedule in order to avoid high peak loads, so start an hour before the people arrive. It consist in a control strategy

jimenofonseca commented 8 years ago

There could be a connection to issue #16, @gabriel-happle is working on it. is there anything i can help too?

amraladdin commented 8 years ago

Heating and cooling setpoint temperatures

  1. In the CEA tool, heating and cooling periods are defined by a seasonal schedule Pros--- ease of calculation Cons--- Less flexibility, and inaccuracy in demand prediction.
  2. Other possible control methods, (used in TRNLizard and Design Builder) are: Based on indoor air or operative temperatures Example: If indoor air/op temp < 20 C/68 F, activate heating (ASHRAE 55-2004) If indoor air/op temp > 24.5 C/76 F, activate cooling (ASHRAE 55-2004) Pros--- More accurate in terms of demand prediction - More flexibility in countries where the heating and cooling are not defined by a schedule on a national scale (e.g. South Europe)
  3. In the case it is not possible using indoor temperatures, we could do it based on a fixed occupancy schedule: Example: If schedule = 1, activate heating If schedule = 0, activate heating (with setpoint minus setback Temp) Pros--- More accurate than the current state Cons--- Less flexibility in countries where the heating and cooling are not defined by a schedule on a national scale, and probably would cause exagerated results in shoulder seasons for both heating and cooling.

HOW TO DEFINE THIS IN PYTHON? Using a conditional statement as in the example above. Results can be presented in a) total yearly demand hours, and b) in hours of occupancy (to show that optimizing the usage of heating during unoccupied hours can save a lot of energy).

HOW TO DEFINE THIS IN CEA? I'd like to discuss this with you here.

References http://www.designbuilder.co.uk/helpv1/Content/_Environmental_comfort.htm http://www.designbuilder.co.uk/helpv2/Content/Defining_setpoint_temperature_schedules.htm http://www.designbuilder.co.uk/helpv1/Content/Calculation_Options.htm http://www.albany.edu/facilities/documents/TempSetPointPolicy.pdf

jimenofonseca commented 8 years ago
  1. might be equally or even more inaccurate than 1. reason: not all type of buildings have the same set-point temperature and occupancy periods. These periods change during the year. The CEA offers set-points per type of building and schedule in a weekly basis adjusted to monthly occupancy.

Probably we would like to take a look to PID controller or any other controller instead as #118 suggested

Other than that, how is the setback temperature going to be defined? in based to which norm? We are currently basing all in ISO/EN standards.

amraladdin commented 8 years ago

Do you mean point 2. or 3. could be as inaccurate as 1?

pjayathissa commented 8 years ago

Hi Amr

In my code I take point (2) but also integrate a PID controller so its not ON/OFF heating, and also take occupancy into account. In Sudo-Python code the heating control would look like this

if occupancy>0 and T_in<T_set:
    Q_heating=PID_control(T_Set-T_in)
else:
    Q_heating=0
amraladdin commented 8 years ago

image image image image image image

amraladdin commented 8 years ago

PID Choice_GitHub.docx

jimenofonseca commented 8 years ago

any advance?

amraladdin commented 8 years ago

Yeah, I thought we were supposed to discuss about what was in my last comments. Did you have time to check it out? Check the word document or what's written in the comment before.

jimenofonseca commented 8 years ago

Nice info. We can then proceed to implement the the options and run comparisons.

Sent on the road

On 18.05.2016, at 17:52, Amr Elesawy notifications@github.com wrote:

Yeah, I thought we were supposed to discuss about what was in my last comments. Did you have time to check it out? Check the word document or what's written in the comment before.

— You are receiving this because you were assigned. Reply to this email directly or view it on GitHub

amraladdin commented 8 years ago

Perfect!!! Then I'll check with @daren-thomas and start implementing ASAP!

jimenofonseca commented 8 years ago

This change was implemented in the version CEA 0.3C