| 239 | } |
| 240 | |
| 241 | Loop addSystemType3(Model& model) { |
| 242 | Model tempModel; |
| 243 | Schedule _alwaysOnSchedule = model.alwaysOnDiscreteSchedule(); |
| 244 | |
| 245 | AirLoopHVAC airLoopHVAC = AirLoopHVAC(model); |
| 246 | airLoopHVAC.setName("Packaged Rooftop Air Conditioner"); |
| 247 | // when an airloophvac is contructed, its constructor automatically creates a sizing:system object |
| 248 | // the default sizing:system contstructor makes a system:sizing object appropriate for a multizone VAV system |
| 249 | // this systems is a constant volume system with no VAV terminals, and needs different default settings |
| 250 | |
| 251 | // get the sizing:system object associated with the airloophvac |
| 252 | SizingSystem sizingSystem = airLoopHVAC.sizingSystem(); |
| 253 | |
| 254 | //set the default parameters correctly for a constant volume system with no VAV terminals |
| 255 | sizingSystem.setTypeofLoadtoSizeOn("Sensible"); |
| 256 | sizingSystem.autosizeDesignOutdoorAirFlowRate(); |
| 257 | sizingSystem.setCentralHeatingMaximumSystemAirFlowRatio(1.0); |
| 258 | sizingSystem.setPreheatDesignTemperature(7.0); |
| 259 | sizingSystem.setPreheatDesignHumidityRatio(0.008); |
| 260 | sizingSystem.setPrecoolDesignTemperature(12.8); |
| 261 | sizingSystem.setPrecoolDesignHumidityRatio(0.008); |
| 262 | sizingSystem.setCentralCoolingDesignSupplyAirTemperature(12.8); |
| 263 | sizingSystem.setCentralHeatingDesignSupplyAirTemperature(40.0); |
| 264 | sizingSystem.setSizingOption("NonCoincident"); |
| 265 | sizingSystem.setAllOutdoorAirinCooling(false); |
| 266 | sizingSystem.setAllOutdoorAirinHeating(false); |
| 267 | sizingSystem.setCentralCoolingDesignSupplyAirHumidityRatio(0.0085); |
| 268 | sizingSystem.setCentralHeatingDesignSupplyAirHumidityRatio(0.0080); |
| 269 | sizingSystem.setCoolingDesignAirFlowMethod("DesignDay"); |
| 270 | sizingSystem.setCoolingDesignAirFlowRate(0.0); |
| 271 | sizingSystem.setHeatingDesignAirFlowMethod("DesignDay"); |
| 272 | sizingSystem.setHeatingDesignAirFlowRate(0.0); |
| 273 | sizingSystem.setSystemOutdoorAirMethod("ZoneSum"); |
| 274 | |
| 275 | FanConstantVolume fan = FanConstantVolume(model); |
| 276 | fan.setPressureRise(500); |
| 277 | |
| 278 | CoilHeatingGas coilHeatingGas = CoilHeatingGas(model, _alwaysOnSchedule); |
| 279 | |
| 280 | CoilCoolingDXSingleSpeed coilCooling = CoilCoolingDXSingleSpeed(model); |
| 281 | |
| 282 | SetpointManagerSingleZoneReheat setpointMSZR(model); |
| 283 | |
| 284 | ControllerOutdoorAir controllerOutdoorAir = ControllerOutdoorAir(model); |
| 285 | |
| 286 | AirLoopHVACOutdoorAirSystem outdoorAirSystem = AirLoopHVACOutdoorAirSystem(model, controllerOutdoorAir); |
| 287 | |
| 288 | Node supplyOutletNode = airLoopHVAC.supplyOutletNode(); |
| 289 | |
| 290 | outdoorAirSystem.addToNode(supplyOutletNode); |
| 291 | coilCooling.addToNode(supplyOutletNode); |
| 292 | coilHeatingGas.addToNode(supplyOutletNode); |
| 293 | fan.addToNode(supplyOutletNode); |
| 294 | |
| 295 | Node node1 = fan.outletModelObject()->cast<Node>(); |
| 296 | setpointMSZR.addToNode(node1); |
| 297 | |
| 298 | AirTerminalSingleDuctConstantVolumeNoReheat terminal(model, _alwaysOnSchedule); |