Open lymereJ opened 2 years ago
@lymereJ thanks for the report.
I'm not 100%sure I'm following correctly. Given the behavior you seem to be looking for, I think CycleOnAnyHeatingZoneFansOnly
is what you should be using (?). A cursory look at your AirLoopHVACs indicate you're using CycleOnAny
, and that's just why OS is defaulting all the zonelists objects.
Am I missing something here? If so, could you dumb it down for me, or maybe use a MCVE ? Your file has 5 airloophvacs, so I'm not sure where to look. At the very least some short explanation of which loop is given you troubles and what you expect the resulting IDF to look like would go a long way.
Thanks for following up @jmarrec! Sorry if the request was not clear. In short, for VAV systems using PIU terminals we want to cycle the zone fans when meeting a heating load (central fan must be off) and the central fan when meeting a cooling load. CycleOnAnyHeatingZoneFansOnly
won't run the central system when meeting a cooling load, and CycleOnAnyCoolingOrHeatingZone
will turn on the central fan during heating operation if zones are specified under Heating Control Zone or Zone List Name
. It looks like, during the translation, OS currently defaults what zone(s) should be listed as Heating Control Zone or Zone List Name
as shown here. I think that this should be left for the user to decide, especially because it seems to prevent the control strategy I describe here to be modeled.
The Availability Manager Night Cycle 8
in the defect file showcase this behavior.
@lymereJ So you want to end up with what object? This?
AvailabilityManager:NightCycle,
VAV Sys 1 Avail, !- Name
SysAvailApplicSch, !- Applicability Schedule Name
FanAvailSched, !- Fan Schedule Name
CycleOnAnyCoolingOrHeatingZone, !- Control Type
4.0, !- Temperature Tolerance {delta C}
7200.; !- Cycle Run Time {s}
, !- Control Zone or Zone List Name
<zones>, !- Cooling Zone or Zone List Name
, !- Heating Control Zone or Zone List Name
<zones>; !- Heating Zone Fans Only Zone or Zone List Name
I am not 100% sure how to retain the defaulting (which is useful for most cases) and allow the user to do as they please, but I think we could do: If any of the zone lists are filled out, then do not default anything. (the alternative is to add a Yes/No field to the object, like "Override OS defaults" but that seems like a bad idea)
Yes, the object looks correct. What you proposed sounds good to me.
Issue overview
When forward translating availability manager night cycle objects, OpenStudio makes assumptions regarding the default control zones to include in the EnergyPlus input file. It appears that for the
CycleOnAnyCoolingOrHeatingZone
control type, some of these assumptions are limiting: Users should be able to model such objects with heating zone fan only zones specified but no heating control zones.This is specifically the case when dealing with night cycle operation of VAV systems with parallel PIU terminal units where the desired behavior is to meet the load by running the terminal fan (central system fan is off).
Current Behavior
Currently, when not specified by the users, OpenStudio defaults both the heating control zones (
heatingControlThermalZones
) and heating zone fan only thermal zones (heatingZoneFansOnlyThermalZones
) which prevents models to behave as described in the overview to happen: assigning zones toheatingControlThermalZones
triggers the central system to come on during heating night cycle operations.Expected Behavior
Users should be able to provide a list of zone under heating zone fan only (
heatingZoneFansOnlyThermalZones
) without having OpenStudio default the heating thermal zone (heatingControlThermalZones
) to a list of all the zones served by the air loop.Steps to Reproduce
defect_files.zip
Possible Solution
The code the default assumptions appears to be here.
Details
Some additional details about your environment for this issue (if relevant):
Context
This impacts the ASHRAE 90.1(-2019) Appendix G Baseline Automation feature of openstudio-standards. @dmaddoxwhite @mdahlhausen