Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

Demand response in BEopt

asked 2019-07-03 13:50:17 -0500

Where can I find the algorithm used in BEopt for Demand Response? I would like to know how it uses the average or max temperature to control the appliances/HVAC system.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2019-07-03 14:16:59 -0500

Have you seen the description in the BEopt help file? See the section Input > Site Input Screen > Other > Demand Response Signals. If that doesn't address your question, please provide more detail if possible on exactly what you want to know.

edit flag offensive delete link more


Yes, I have reviewed that page but I'm still confused about it. Let's say, I'm using a weather file for a climate zone other than California, which doesn't have the TDV information and I pick 10 events.

So, does BEopt pick the 10 days with the highest temperature and send the control signals? There is no utility rate involved in the calculations?

Also, weather files have hourly data but the signal type is based on daily avg./max temperature. How does that work?

My assumption was that there is an algorithm that considers the temperature, demand, and utility rates simultaneously.

Ehsank's avatar Ehsank  ( 2019-07-03 14:42:42 -0500 )edit

Correct, BEopt would pick the 10 days with the highest (avg or max) temperature independent of utility rates. The reason for this is because the actual demand response event is implemented as a day schedule swap. For example, note that the DR options in the Clothes Dryer Schedule category are defined by a regular schedule and a DR schedule. For the 10 DR event days, the DR schedule will be used; for all other days, the regular schedule is used.

shorowit's avatar shorowit  ( 2019-07-03 14:49:16 -0500 )edit

I see. Thanks for the clarification. Is there a method by which I can implement more complicated algorithms? Because the peak demand is not necessarily corresponding to the highest temperature. Any suggestions?

Ehsank's avatar Ehsank  ( 2019-07-03 14:58:34 -0500 )edit

There is no way to implement more complicated algorithms using the interface.

However, you can make modifications to the underlying algorithm if you know python. If you look at the _processDemandResponse method in the Modeling/ file, you'll see that this method essentially constructs a list of days (dr.event_days) for which to apply the dr events. You could hardcode values in the list based on pre-processed logic (or add the logic into the file). If you go this route, I'd encourage you to look at BEopt's hourly output to make sure it's working as you expect.

shorowit's avatar shorowit  ( 2019-07-03 16:13:54 -0500 )edit

Interesting! Thanks!

Ehsank's avatar Ehsank  ( 2019-07-03 16:41:50 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer


Question Tools

1 follower


Asked: 2019-07-03 13:50:17 -0500

Seen: 425 times

Last updated: Jul 03 '19