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

# Energyplus co-simulation - sizing results different

I am running a co-simulation with Energyplus (v8.5) and Python using the PyEp package (https://pyep.readthedocs.io/en/latest/). The energyplus model is based of the DOE 'Large Office' archetype model (https://www.energy.gov/eere/buildings...).

I want to validate the performance of the co-simulation by comparing the results with the reference file run straight from energyplus. For this example, I am changing the following setpoints such that they follow the original schedule of the reference file:

• CLGSETP_SCH
• CW-Loop-Temp Sched
• BLD_LIGHT_SCH

Upon running both simulations and comparing results, I find that the results of the sizing are different, e.g. the component sizing results.

Based on this, I suspected that the sizing is being run differently in the co-simulation from the reference simulation. One reason I can see for this is that the zone temperature setpoints for the winter design day and summer design day in the schedules is missing (as the "Schedule:Compact" object needs to be deleted in place of the "ExternalInterface:Schedule" object). This point was actually also mentioned in the following unmethours post (although without a solution): https://unmethours.com/question/25753...

So my question is how the zone temperature setpoint (which is one of my manipulated/control variables) information for the design winter and summer days can be fed to the co-simulation?

edit retag close merge delete

I did find the following in the External Interfaces Application Guide (https://energyplus.net/sites/default/...):

"For the objects ExternalInterface:Schedule and ExternalInterface:Variable, the field “initial value” is required, and its value will be used during the warm-up period and the system-sizing".

So how do I get around the fact that the schedule value changes between hours and between the winter and summer design day?

( 2018-09-16 04:46:14 -0600 )edit

Sort by » oldest newest most voted

In this case, use ExternalInterface:Actuator and keep the base Schedule:* object in the idf. From the Input Output Reference for ExternalInteface:Actuator "Initial Value"

This field contains the initial value. If a value is specified, then this value is used during the warm-up period and the system sizing. If no value is specified, then the actuated component will only be updated once the time stepping starts, i.e., after the warm-up and the system-sizing. This allows, for example, to schedule a setpoint with a Schedule:Compact during warm-up and system-sizing, and then overwrite the value of this schedule during each zone time step based on a feedback control loop that is implemented in the BCVTB.

more

Thank you very much, have tried this and now the sizing results are consistent!

( 2018-09-19 09:19:06 -0600 )edit