IddObjectType Duct::iddObjectType() { return IddObjectType(IddObjectType::OS_Duct); }
IddObjectType CoilHeatingLowTempRadiantConstFlow::iddObjectType() { return IddObjectType(IddObjectType::OS_Coil_Heating_LowTemperatureRadiant_ConstantFlow); }
IddObjectType SolarCollectorPerformanceFlatPlate::iddObjectType() { return IddObjectType(IddObjectType::OS_SolarCollectorPerformance_FlatPlate); }
IddObjectType SetpointManagerMultiZoneHumidityMaximum::iddObjectType() { return IddObjectType(IddObjectType::OS_SetpointManager_MultiZone_Humidity_Maximum); }
IddObjectType CoilHeatingDesuperheater::iddObjectType() { return IddObjectType(IddObjectType::OS_Coil_Heating_Desuperheater); }
IddObjectType InfraredTransparentMaterial::iddObjectType() { return IddObjectType(IddObjectType::OS_Material_InfraredTransparent); }
IddObjectType HeatBalanceAlgorithm::iddObjectType() { return IddObjectType(IddObjectType::OS_HeatBalanceAlgorithm); }
IddObjectType CoilHeatingWaterBaseboard::iddObjectType() { return IddObjectType(IddObjectType::OS_Coil_Heating_Water_Baseboard); }
IddObjectType AirTerminalSingleDuctInletSideMixer::iddObjectType() { return IddObjectType(IddObjectType::OS_AirTerminal_SingleDuct_InletSideMixer); }
IddObjectType AvailabilityManagerDifferentialThermostat::iddObjectType() { return IddObjectType(IddObjectType::OS_AvailabilityManager_DifferentialThermostat); }
IddObjectType RefractionExtinctionGlazing::iddObjectType() { return IddObjectType(IddObjectType::OS_WindowMaterial_Glazing_RefractionExtinctionMethod); }
IddObjectType HeaderedPumpsVariableSpeed::iddObjectType() { return IddObjectType(IddObjectType::OS_HeaderedPumps_VariableSpeed); }
IddObjectType DaylightRedirectionDevice::iddObjectType() { return IddObjectType(IddObjectType::OS_WindowMaterial_DaylightRedirectionDevice); }
IddObjectType CoilCoolingDXTwoStageWithHumidityControlMode::iddObjectType() { return IddObjectType(IddObjectType::OS_Coil_Cooling_DX_TwoStageWithHumidityControlMode); }
IddObjectType SetpointManagerOutdoorAirReset::iddObjectType() { return IddObjectType(IddObjectType::OS_SetpointManager_OutdoorAirReset); }
OptionalModelObject ReverseTranslator::translateZoneHVACEquipmentList( const WorkspaceObject & workspaceObject ) { if(workspaceObject.iddObject().type() != IddObjectType::ZoneHVAC_EquipmentList){ LOG(Error, "WorkspaceObject is not IddObjectType: ZoneHVAC:EquipmentList"); return boost::none; } boost::optional<openstudio::model::ThermalZone> thermalZone; std::vector<WorkspaceObject> zoneHVACEquipmentConnections = workspaceObject.getSources(IddObjectType::ZoneHVAC_EquipmentConnections); if (zoneHVACEquipmentConnections.size() == 0){ LOG(Error,"No ZoneHVAC:EquipmentConnections object associated with a zone. Check that IDF file is correct."); return boost::none; }else if (zoneHVACEquipmentConnections.size() > 1){ LOG(Error,"More than 1 ZoneHVAC:EquipmentConnections objects associated with a zone. Check that IDF file is correct."); return boost::none; } for( const auto & zoneHVACEquipmentConnection : zoneHVACEquipmentConnections ) { if( boost::optional<std::string> name = zoneHVACEquipmentConnection.getString(ZoneHVAC_EquipmentConnectionsFields::ZoneName) ) { boost::optional<model::Space> space = m_model.getModelObjectByName<model::Space>(name.get()); if( space ) { thermalZone = space->thermalZone(); } } } // get extensible groups for zone HVAC equipment list std::vector<IdfExtensibleGroup> extensibleGroups = workspaceObject.extensibleGroups(); // loop over extensible groups unsigned n = extensibleGroups.size(); for (unsigned i = 0; i < n; ++i){ // define variables boost::optional<openstudio::model::ZoneHVACComponent> zoneHVACComponent; // get zone equipment object type and zone equipment object name from extensible group boost::optional<std::string> zoneEquipmentObjectType = extensibleGroups[i].getString(ZoneHVAC_EquipmentListExtensibleFields::ZoneEquipmentObjectType); boost::optional<std::string> zoneEquipmentName = extensibleGroups[i].getString(ZoneHVAC_EquipmentListExtensibleFields::ZoneEquipmentName); // get zone equipment workspace object by type and name if (zoneEquipmentObjectType && zoneEquipmentName){ OptionalWorkspaceObject zoneEquipmentWorkspaceObject = workspaceObject.workspace().getObjectByTypeAndName(IddObjectType(*zoneEquipmentObjectType),*zoneEquipmentName); // translate zone equipment workspace object if (zoneEquipmentWorkspaceObject){ OptionalModelObject zoneEquipmentModelObject = translateAndMapWorkspaceObject(*zoneEquipmentWorkspaceObject); // cast zone equipment model object to zone HVAC component if (zoneEquipmentModelObject){ zoneHVACComponent = zoneEquipmentModelObject->optionalCast<ZoneHVACComponent>(); } } } // add to thermal zone if (zoneHVACComponent && thermalZone){ zoneHVACComponent->addToThermalZone(*thermalZone); } } return boost::none; }
IddObjectType PlantEquipmentOperationOutdoorDewpoint::iddObjectType() { return IddObjectType(IddObjectType::OS_PlantEquipmentOperation_OutdoorDewpoint); }
IddObjectType CoilHeatingDXMultiSpeed::iddObjectType() { return IddObjectType(IddObjectType::OS_Coil_Heating_DX_MultiSpeed); }
IddObjectType SetpointManagerScheduledDualSetpoint::iddObjectType() { return IddObjectType(IddObjectType::OS_SetpointManager_Scheduled_DualSetpoint); }
IddObjectType ThermalStorageIceDetailed::iddObjectType() { return IddObjectType(IddObjectType::OS_ThermalStorage_Ice_Detailed); }
IddObjectType ZoneCapacitanceMultiplierResearchSpecial::iddObjectType() { return IddObjectType(IddObjectType::OS_ZoneCapacitanceMultiplier_ResearchSpecial); }
IddObjectType RefrigerationGasCoolerAirCooled::iddObjectType() { return IddObjectType(IddObjectType::OS_Refrigeration_GasCooler_AirCooled); }
IddObjectType CoilSystemCoolingWaterHeatExchangerAssisted::iddObjectType() { return IddObjectType(IddObjectType::OS_CoilSystem_Cooling_Water_HeatExchangerAssisted); }
IddObjectType FluidCoolerSingleSpeed::iddObjectType() { return IddObjectType(IddObjectType::OS_FluidCooler_SingleSpeed); }
IddObjectType AvailabilityManagerNightVentilation::iddObjectType() { return IddObjectType(IddObjectType::OS_AvailabilityManager_NightVentilation); }
IddObjectType ProgramControl::iddObjectType() { return IddObjectType(IddObjectType::OS_ProgramControl); }
IddObjectType BoilerSteam::iddObjectType() { return IddObjectType(IddObjectType::OS_Boiler_Steam); }
IddObjectType HumidifierSteamElectric::iddObjectType() { return IddObjectType(IddObjectType::OS_Humidifier_Steam_Electric); }
IddObjectType PipeIndoor::iddObjectType() { return IddObjectType(IddObjectType::OS_Pipe_Indoor); }
IddObjectType ControllerMechanicalVentilation::iddObjectType() { return IddObjectType(IddObjectType::OS_Controller_MechanicalVentilation); }