how to couple a multiagent simulation BRAHMS to Energyplus energy software to simulate a co-simulation analysis of building energy by considering occupant behavior?
It's a bit tricky to describe in a response without going through some code but here's some suggestions on the process
EnergyPlus IDF files have a Zone structure along the lines of:
Zone:
-People
-- Activity
--- Schedule
-Lighting
--Schedule
-Heating setpoint schedule
-Cooling setpoint schedule
-Heating availability schedule
-Cooling availability schedule
Generally, you'll find these shared between homogeneous zones and more pressing for your activity, Schedules will not implicitly be Scheulde:Compact which is the time interval approach to defining scheduled activity.
Using something like Python's ePPy library you can easily reconstruct the data structure above by following the name associations. The zone name links to all the first level nested components and their nested components linked by their name etc.
Linking the BRAHMS Business object to the model will require identical zoning and naming which will form the basis of the Activity link. Agents in BRAHMS's activity need to be aggregated into discrete composite events. For example, at any given time an occupant may turn the light on but no matter how many occupants there are, no other occupant can change the lighting state at that point in time. However, they may perform other actions such as changing a window state. Some agent behaviours may happen concurrently, particularly traversal of building zones.
A couple of thoughts on creating composite activities for the IDF
- Change the People object's latent gains property dependent on the density
- Change the Heating setpoint based on previous activities, PMV/AMV or other selection method, perhaps assigning a comfort temperature to each agent.
I think that's the best I can offer initially. If you make any progress or have any questions, feel free to respond to this with more questions.