First time here? Check out the Help page!
1 | initial version |
The Determine_infiltration
EMS program above is circular, leading to the high infiltration rate. This program is being called from BeginTimestepBeforePredictor
. At that point, the sensors infil1M3
and infil2M3
hold the value of infiltration at the end of the prior timestep - they do not represent the unmodified infiltration rate for the current timestep. In fact, the infiltration rate for the current timestep has not been calculated yet. Use the Null value to set an actuator to take no action. This program results in reasonable infiltration rates.
EnergyManagementSystem:Program,
Determine_infiltration, !- Name
SET ORIGINALINFIL1=INFIL1, !- Program Line 1
SET ORIGINALINFIL2=INFIL2, !- Program Line 2
IF VRFMODE > 0, !- A4
SET infil1setM3=@min 0.0918 infil1M3, !- A5
SET infil2setM3= @min 0.0918 infil2M3, !- A6
elseif VRFMODE == 0, !- A7
SET infil1setM3= Null, !- A8
SET infil2setM3= Null, !- A9
ENDIF; !- A10
Also, you should make a second EnergyManagementSystem:ProgramCallingManager object to call the Determine_DOAS
program (not shown above) later in the simulation after the infiltration has been calculated using the impact of the first EMS program. Use calling point AfterPredictorBeforeHVACManagers
or InsideHVACSystemIterationLoop
. You may need to experiment to see which one gives the best result.