ZoneMixing::ZoneMixing(const ThermalZone& zone) : ModelObject(ZoneMixing::iddObjectType(), zone.model()) { OS_ASSERT(getImpl<detail::ZoneMixing_Impl>()); bool ok = setPointer(OS_ZoneMixingFields::ZoneName, zone.handle()); OS_ASSERT(ok); ok = setPointer(OS_ZoneMixingFields::ScheduleName, zone.model().alwaysOnContinuousSchedule().handle()); OS_ASSERT(ok); ok = setDesignFlowRate(0.0); OS_ASSERT(ok); }
ZoneHVACEquipmentList::ZoneHVACEquipmentList(const ThermalZone & thermalZone) : ModelObject(ZoneHVACEquipmentList::iddObjectType(),thermalZone.model()) { OS_ASSERT(getImpl<detail::ZoneHVACEquipmentList_Impl>()); setPointer(OS_ZoneHVAC_EquipmentListFields::ThermalZone,thermalZone.handle()); }
bool RefrigerationAirChiller_Impl::addToThermalZone(ThermalZone & thermalZone) { Model m = this->model(); if( thermalZone.model() != m ) { return false; } removeFromThermalZone(); thermalZone.setUseIdealAirLoads(false); thermalZone.addEquipment(this->getObject<ZoneHVACComponent>()); return true; }
bool ZoneHVACBaseboardConvectiveElectric_Impl::addToThermalZone(ThermalZone & thermalZone) { Model m = this->model(); if( thermalZone.model() != m ) { return false; } if( thermalZone.isPlenum() ) { return false; } removeFromThermalZone(); thermalZone.setUseIdealAirLoads(false); thermalZone.addEquipment(this->getObject<ZoneHVACComponent>()); return true; }
//reimplemented to override the base-class method in ZoneHVACComponent //because this component doesn't get attached to the zone inlet and zone outlet nodes bool ZoneHVACLowTempRadiantVarFlow_Impl::addToThermalZone(ThermalZone & thermalZone) { Model m = this->model(); if( thermalZone.model() != m ) { return false; } if( thermalZone.isPlenum() ) { return false; } removeFromThermalZone(); thermalZone.setUseIdealAirLoads(false); thermalZone.addEquipment(this->getObject<ZoneHVACComponent>()); return true; }
bool ZoneHVACComponent_Impl::addToThermalZone(ThermalZone & thermalZone) { Model m = this->model(); if( thermalZone.model() != m ) { return false; } if( thermalZone.isPlenum() ) { return false; } removeFromThermalZone(); thermalZone.setUseIdealAirLoads(false); // Connect nodes if this is an air based zone hvac component if( inletPort() != 0u && outletPort() != 0u ) { // Exhaust Node Node exhaustNode(m); PortList exhaustPortList = thermalZone.exhaustPortList(); unsigned nextPort = exhaustPortList.nextPort(); m.connect(exhaustPortList,nextPort,exhaustNode,exhaustNode.inletPort()); ModelObject mo = this->getObject<ModelObject>(); m.connect(exhaustNode,exhaustNode.outletPort(),mo,this->inletPort()); // Air Inlet Node Node airInletNode(m); PortList inletPortList = thermalZone.inletPortList(); unsigned nextInletPort = inletPortList.nextPort(); m.connect(airInletNode,airInletNode.outletPort(),inletPortList,nextInletPort); m.connect(mo,this->outletPort(),airInletNode,airInletNode.inletPort()); } thermalZone.addEquipment(this->getObject<ZoneHVACComponent>()); return true; }
bool FanZoneExhaust_Impl::addToThermalZone(ThermalZone & thermalZone) { Model m = this->model(); if( thermalZone.model() != m ) { return false; } removeFromThermalZone(); thermalZone.setUseIdealAirLoads(false); // Zone Exhaust Node (Exhaust Fan Inlet node) Node exhaustNode(m); PortList exhaustPortList = thermalZone.exhaustPortList(); unsigned nextPort = exhaustPortList.nextPort(); m.connect(exhaustPortList,nextPort,exhaustNode,exhaustNode.inletPort()); ModelObject mo = this->getObject<ModelObject>(); m.connect(exhaustNode,exhaustNode.outletPort(),mo,this->inletPort()); // Node (Exhaust Fan Outlet Node) Node exhaustFanOutletNode(m); m.connect(mo,this->outletPort(),exhaustFanOutletNode,exhaustFanOutletNode.inletPort()); thermalZone.addEquipment(this->getObject<ZoneHVACComponent>()); return true; }