Esempio n. 1
0
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);
}
Esempio n. 7
0
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);
}
Esempio n. 24
0
IddObjectType FluidCoolerSingleSpeed::iddObjectType() {
  return IddObjectType(IddObjectType::OS_FluidCooler_SingleSpeed);
}
IddObjectType AvailabilityManagerNightVentilation::iddObjectType() {
  return IddObjectType(IddObjectType::OS_AvailabilityManager_NightVentilation);
}
Esempio n. 26
0
IddObjectType ProgramControl::iddObjectType() {
  return IddObjectType(IddObjectType::OS_ProgramControl);
}
Esempio n. 27
0
IddObjectType BoilerSteam::iddObjectType() {
    return IddObjectType(IddObjectType::OS_Boiler_Steam);
}
IddObjectType HumidifierSteamElectric::iddObjectType() {
  return IddObjectType(IddObjectType::OS_Humidifier_Steam_Electric);
}
Esempio n. 29
0
IddObjectType PipeIndoor::iddObjectType() {
  return IddObjectType(IddObjectType::OS_Pipe_Indoor);
}
IddObjectType ControllerMechanicalVentilation::iddObjectType() {
  return IddObjectType(IddObjectType::OS_Controller_MechanicalVentilation);
}