Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

Revision history [back]

Receive cooling and heating as summary and analysis in C #

Hello to all friends I know my question is very simple, but thank you for your help. I created a space with the number of people and electrical equipment and other options, placed the space in the thermal zone, defined an ideal air system for it and was able to generate the output of the osm file. Now, how can I report the cooling and heating loads of the walls, penetration, ceiling, lighting, etc. in summary or analysis for different hours for the heating area? In other words, what class can I use to get summary or analytical output?

OpenStudio.Model model = new OpenStudio.Model(); // Weather File OpenStudio.Path path = OpenStudio.OpenStudioUtilitiesCore.toPath("D:\Pluginet\Chiral\Chiral\WeatherFile\IRN_Shiraz.408480_ITMY.epw"); OpenStudio.WeatherFile.setWeatherFile(model, new OpenStudio.EpwFile(path)); OpenStudio.DesignDay WinterDesignDay = new OpenStudio.DesignDay(model); WinterDesignDay.setMonth(12); WinterDesignDay.setDayOfMonth(21); WinterDesignDay.setDayType("WinterDesignDay"); WinterDesignDay.setMaximumDryBulbTemperature(25); WinterDesignDay.setDailyDryBulbTemperatureRange(25); WinterDesignDay.setBarometricPressure(25); WinterDesignDay.setWindSpeed(250); WinterDesignDay.setWindDirection(20); WinterDesignDay.setSkyClearness(1);

        OpenStudio.DesignDay SummerDesignDay = new OpenStudio.DesignDay(model);
        SummerDesignDay.setMonth(7);
        SummerDesignDay.setDayOfMonth(21);
        SummerDesignDay.setDayType("SummerDesignDay");
        SummerDesignDay.setMaximumDryBulbTemperature(20);
        SummerDesignDay.setDailyDryBulbTemperatureRange(20);
        SummerDesignDay.setBarometricPressure(25);
        SummerDesignDay.setWindSpeed(250);
        SummerDesignDay.setWindDirection(20);
        SummerDesignDay.setSkyClearness(1);

        // Creat Construction && Material
        OpenStudio.Construction construction = new OpenStudio.Construction(model);

        OpenStudio.StandardOpaqueMaterial material = new OpenStudio.StandardOpaqueMaterial(model);
        material.setName("material");
        material.setThickness(10);
        material.setDensity(1920);
        material.setSpecificHeat(840);
        material.setThermalConductance(8);
        material.setSolarAbsorptance(1);
        construction.insertLayer(0, material);

        // Creat Discrete Schedule
        OpenStudio.ScheduleTypeLimits DiscreteScheduleTypeLimits = new OpenStudio.ScheduleTypeLimits(model);
        DiscreteScheduleTypeLimits.setName("DiscreteScheduleTypeLimits");
        DiscreteScheduleTypeLimits.setUpperLimitValue(1);
        DiscreteScheduleTypeLimits.setLowerLimitValue(0);
        DiscreteScheduleTypeLimits.setNumericType("Discrete");

        OpenStudio.ScheduleDay DiscreteScheduleDay = new OpenStudio.ScheduleDay(model);
        DiscreteScheduleDay.setName("DiscreteScheduleDay");
        DiscreteScheduleDay.setScheduleTypeLimits(DiscreteScheduleTypeLimits);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 0), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 1), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 2), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 3), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 4), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 5), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 6), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 7), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 8), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 9), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 10), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 11), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 12), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 13), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 14), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 15), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 16), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 17), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 18), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 19), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 20), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 21), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 22), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 23), 1);

        OpenStudio.ScheduleWeek DiscreteallOfWeekAprill = new OpenStudio.ScheduleWeek(model);
        DiscreteallOfWeekAprill.setName("DiscreteallOfWeekAprill");
        DiscreteallOfWeekAprill.setSaturdaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setSundaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setMondaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setTuesdaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setWednesdaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setThursdaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setFridaySchedule(DiscreteScheduleDay);

        OpenStudio.ScheduleYear DiscreteScheduleYear = new OpenStudio.ScheduleYear(model);
        DiscreteScheduleYear.setName("DiscreteScheduleYear");
        DiscreteScheduleYear.setScheduleTypeLimits(DiscreteScheduleTypeLimits);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(1), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(2), 28), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(3), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(4), 30), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(5), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(6), 30), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(7), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(8), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(9), 30), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(10), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(11), 30), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(12), 31), DiscreteallOfWeekAprill);

        // Creat Continuous Schedule
        OpenStudio.ScheduleTypeLimits ContinuousScheduleTypeLimits = new OpenStudio.ScheduleTypeLimits(model);
        ContinuousScheduleTypeLimits.setUpperLimitValue(100);
        ContinuousScheduleTypeLimits.setLowerLimitValue(0);
        ContinuousScheduleTypeLimits.setNumericType("Continuous");

        OpenStudio.ScheduleDay ContinuousScheduleDay = new OpenStudio.ScheduleDay(model);
        ContinuousScheduleDay.setName("Schedule");
        ContinuousScheduleDay.setScheduleTypeLimits(ContinuousScheduleTypeLimits);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 0), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 1), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 2), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 3), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 4), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 5), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 6), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 7), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 8), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 9), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 10), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 11), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 12), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 13), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 14), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 15), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 16), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 17), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 18), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 19), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 20), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 21), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 22), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 23), 100);

        OpenStudio.ScheduleWeek ContinuousallOfWeekAprill = new OpenStudio.ScheduleWeek(model);
        ContinuousallOfWeekAprill.setName("ContinuousContinuousallOfWeekAprill");
        ContinuousallOfWeekAprill.setSaturdaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setSundaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setMondaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setTuesdaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setWednesdaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setThursdaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setFridaySchedule(ContinuousScheduleDay);

        OpenStudio.ScheduleYear ContinuousScheduleYear = new OpenStudio.ScheduleYear(model);
        ContinuousScheduleYear.setName("ContinuousScheduleYear");
        ContinuousScheduleYear.setScheduleTypeLimits(ContinuousScheduleTypeLimits);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(1), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(2), 28), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(3), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(4), 30), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(5), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(6), 30), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(7), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(8), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(9), 30), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(10), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(11), 30), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(12), 31), ContinuousallOfWeekAprill);



        // Creat Thermal Zone
        OpenStudio.ThermalZone thermalZone = new OpenStudio.ThermalZone(model);


        ////Creat Thermostat
        //OpenStudio.Thermostat thermostat = null;
        //thermostat.setFieldComment(28, "heating_setpoint");
        //thermostat.setFieldComment(25, "cooling_setpoint");

        // Creat System
        OpenStudio.ZoneHVACIdealLoadsAirSystem zoneHVACIdealLoadsAirSystem = new OpenStudio.ZoneHVACIdealLoadsAirSystem(model);
        zoneHVACIdealLoadsAirSystem.setName("IdealSystem");
        zoneHVACIdealLoadsAirSystem.addToThermalZone(thermalZone);
        zoneHVACIdealLoadsAirSystem.setAvailabilitySchedule(DiscreteScheduleYear);
        zoneHVACIdealLoadsAirSystem.setMaximumHeatingSupplyAirTemperature(50);
        zoneHVACIdealLoadsAirSystem.setMinimumCoolingSupplyAirTemperature(13);
        zoneHVACIdealLoadsAirSystem.setMaximumHeatingSupplyAirHumidityRatio(0.0156);
        zoneHVACIdealLoadsAirSystem.setMinimumCoolingSupplyAirHumidityRatio(0.0077);
        zoneHVACIdealLoadsAirSystem.setHeatingLimit("NoLimit");
        //zoneHVACIdealLoadsAirSystem.setMaximumCoolingAirFlowRate();
        //zoneHVACIdealLoadsAirSystem.setMaximumSensibleHeatingCapacity();
        //zoneHVACIdealLoadsAirSystem.setCoolingLimit();
        //zoneHVACIdealLoadsAirSystem.setMaximumCoolingAirFlowRate();
        //zoneHVACIdealLoadsAirSystem.setMaximumTotalCoolingCapacity();
        //zoneHVACIdealLoadsAirSystem.setHeatingAvailabilitySchedule();
        //zoneHVACIdealLoadsAirSystem.setCoolingAvailabilitySchedule();
        //zoneHVACIdealLoadsAirSystem.setDehumidificationControlType();
        zoneHVACIdealLoadsAirSystem.setCoolingSensibleHeatRatio(0.7);

        // Creat Space
        OpenStudio.Space space = new OpenStudio.Space(model);
        space.setName("testspace");
        space.setThermalZone(thermalZone);

        // Creat People Simulation
        OpenStudio.PeopleDefinition peopleDefinition = new OpenStudio.PeopleDefinition(model);
        OpenStudio.People people = new OpenStudio.People(peopleDefinition);

        peopleDefinition.setFractionRadiant(0.3);
        peopleDefinition.setNumberofPeople(10);
        people.setDefinition(peopleDefinition);
        people.setSpace(space);
        people.setActivityLevelSchedule(ContinuousScheduleYear);

        // Creat Lighting Simulation
        OpenStudio.LightsDefinition lightsDefinition = new OpenStudio.LightsDefinition(model);
        OpenStudio.Lights lights = new OpenStudio.Lights(lightsDefinition);

        lightsDefinition.setLightingLevel(50);
        lights.setDefinition(lightsDefinition);
        lights.setSpace(space);
        lights.setSchedule(ContinuousScheduleYear);

        // Creat Infiltration
        OpenStudio.SpaceInfiltrationDesignFlowRate SpaceInfiltrationDesignFlowRate = new OpenStudio.SpaceInfiltrationDesignFlowRate(model);
        SpaceInfiltrationDesignFlowRate.setAirChangesperHour(5);
        SpaceInfiltrationDesignFlowRate.setSpace(space);
        SpaceInfiltrationDesignFlowRate.setSchedule(DiscreteScheduleYear);

        // Creat Electrical Equipment Simulation
        OpenStudio.ElectricEquipmentDefinition electricEquipmentDefinition = new OpenStudio.ElectricEquipmentDefinition(model);
        OpenStudio.ElectricEquipment ElectricEquipment = new OpenStudio.ElectricEquipment(electricEquipmentDefinition);
        electricEquipmentDefinition.setDesignLevel(500);
        ElectricEquipment.setDefinition(electricEquipmentDefinition);
        ElectricEquipment.setSpace(space);
        ElectricEquipment.setSchedule(ContinuousScheduleYear);

        OpenStudio.Point3dVector Point3Ds = new OpenStudio.Point3dVector();
        Point3Ds.Add(new OpenStudio.Point3d(0, 0, 3));
        Point3Ds.Add(new OpenStudio.Point3d(0, 0, 0));
        Point3Ds.Add(new OpenStudio.Point3d(3, 0, 0));
        Point3Ds.Add(new OpenStudio.Point3d(3, 0, 1));

        OpenStudio.Surface wallSurface = new OpenStudio.Surface(Point3Ds, model);
        wallSurface.setName("Wall");
        wallSurface.setSpace(space);
        wallSurface.setSurfaceType("Wall");
        wallSurface.setSunExposure("SunExposed");
        wallSurface.setWindExposure("WindExposed");
        wallSurface.setConstruction(construction);

        OpenStudio.SubSurface windowSubSurface = new OpenStudio.SubSurface(Point3Ds, model);
        windowSubSurface.setName("Window");
        windowSubSurface.setSubSurfaceType("Window");
        windowSubSurface.setSurface(wallSurface);
        windowSubSurface.setConstruction(construction);

        OpenStudio.Surface roofSurface = new OpenStudio.Surface(Point3Ds, model);
        roofSurface.setName("Roof");
        roofSurface.setSpace(space);
        roofSurface.setSurfaceType("Roof");
        roofSurface.setSunExposure("SunExposed");
        roofSurface.setWindExposure("WindExposed");
        roofSurface.setConstruction(construction);

        // Calculation Algorithm
        OpenStudio.InsideSurfaceConvectionAlgorithm insideSurfaceConvectionAlgorithm = model.getInsideSurfaceConvectionAlgorithm();
        insideSurfaceConvectionAlgorithm.setAlgorithm("TRAP");

        OpenStudio.OutsideSurfaceConvectionAlgorithm outsideSurfaceConvectionAlgorithm = model.getOutsideSurfaceConvectionAlgorithm();
        outsideSurfaceConvectionAlgorithm.setAlgorithm("DOE-2");

        OpenStudio.RunPeriod runPeriod = model.getRunPeriod();
        runPeriod.setName("Start");
        runPeriod.setBeginMonth(1);
        runPeriod.setBeginDayOfMonth(1);
        runPeriod.setEndMonth(12);
        runPeriod.setEndDayOfMonth(31);

        OpenStudio.HeatBalanceAlgorithm heatBalanceAlgorithm = model.getHeatBalanceAlgorithm();
        heatBalanceAlgorithm.setAlgorithm("ConductionTransferFunction");
        heatBalanceAlgorithm.setSurfaceTemperatureUpperLimit(200);
        heatBalanceAlgorithm.setMinimumSurfaceConvectionHeatTransferCoefficientValue(0.1);
        heatBalanceAlgorithm.setMaximumSurfaceConvectionHeatTransferCoefficientValue(1000);

        OpenStudio.Timestep timestep = model.getTimestep();
        timestep.setNumberOfTimestepsPerHour(6);

        OpenStudio.SimulationControl simulationControl = model.getSimulationControl();
        simulationControl.setDoZoneSizingCalculation(false);
        simulationControl.setDoSystemSizingCalculation(true);
        simulationControl.setDoPlantSizingCalculation(false);
        simulationControl.setRunSimulationforSizingPeriods(false);
        simulationControl.setRunSimulationforWeatherFileRunPeriods(true);
        simulationControl.setDoHVACSizingSimulationforSizingPeriods(false);
        simulationControl.setMaximumNumberofHVACSizingSimulationPasses(1);

        OpenStudio.Building building = model.getBuilding();
        building.setNorthAxis(0);

        OpenStudio.SiteGroundTemperatureBuildingSurface siteGroundTemperatureBuildingSurface = new OpenStudio.SiteGroundTemperatureBuildingSurface(model);
        siteGroundTemperatureBuildingSurface.setJanuaryGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setFebruaryGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setMarchGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setAprilGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setMayGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setJuneGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setJulyGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setAugustGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setSeptemberGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setOctoberGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setNovemberGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setDecemberGroundTemperature(18);

        // Output
        OpenStudio.OutputVariable outputVariable = new OpenStudio.OutputVariable("", model);
        outputVariable.setKeyValue("*");
        outputVariable.setVariableName("");
        outputVariable.setReportingFrequency("");

        path = OpenStudio.OpenStudioUtilitiesCore.toPath("C:\\Users\\Masoud\\Desktop\\test.osm");
        model.save(new OpenStudio.Path(path), true);

Receive cooling and heating as summary and analysis in C #

Hello to all friends I know my question is very simple, but thank you for your help. I created a space with the number of people and electrical equipment and other options, placed the space in the thermal zone, defined an ideal air system for it and was able to generate the output of the osm file. Now, how can I report the cooling and heating loads of the walls, penetration, ceiling, lighting, etc. in summary or analysis for different hours for the heating area? In other words, what class can I use to get summary or analytical output?

OpenStudio.Model model = new OpenStudio.Model(); // Weather File OpenStudio.Path path = OpenStudio.OpenStudioUtilitiesCore.toPath("D:\Pluginet\Chiral\Chiral\WeatherFile\IRN_Shiraz.408480_ITMY.epw"); OpenStudio.WeatherFile.setWeatherFile(model, new OpenStudio.EpwFile(path)); OpenStudio.DesignDay WinterDesignDay = new OpenStudio.DesignDay(model); WinterDesignDay.setMonth(12); WinterDesignDay.setDayOfMonth(21); WinterDesignDay.setDayType("WinterDesignDay"); WinterDesignDay.setMaximumDryBulbTemperature(25); WinterDesignDay.setDailyDryBulbTemperatureRange(25); WinterDesignDay.setBarometricPressure(25); WinterDesignDay.setWindSpeed(250); WinterDesignDay.setWindDirection(20); WinterDesignDay.setSkyClearness(1);

        OpenStudio.DesignDay SummerDesignDay = new OpenStudio.DesignDay(model);
        SummerDesignDay.setMonth(7);
        SummerDesignDay.setDayOfMonth(21);
        SummerDesignDay.setDayType("SummerDesignDay");
        SummerDesignDay.setMaximumDryBulbTemperature(20);
        SummerDesignDay.setDailyDryBulbTemperatureRange(20);
        SummerDesignDay.setBarometricPressure(25);
        SummerDesignDay.setWindSpeed(250);
        SummerDesignDay.setWindDirection(20);
        SummerDesignDay.setSkyClearness(1);

        // Creat Construction && Material
        OpenStudio.Construction construction = new OpenStudio.Construction(model);

        OpenStudio.StandardOpaqueMaterial material = new OpenStudio.StandardOpaqueMaterial(model);
        material.setName("material");
        material.setThickness(10);
        material.setDensity(1920);
        material.setSpecificHeat(840);
        material.setThermalConductance(8);
        material.setSolarAbsorptance(1);
        construction.insertLayer(0, material);

        // Creat Discrete Schedule
        OpenStudio.ScheduleTypeLimits DiscreteScheduleTypeLimits = new OpenStudio.ScheduleTypeLimits(model);
        DiscreteScheduleTypeLimits.setName("DiscreteScheduleTypeLimits");
        DiscreteScheduleTypeLimits.setUpperLimitValue(1);
        DiscreteScheduleTypeLimits.setLowerLimitValue(0);
        DiscreteScheduleTypeLimits.setNumericType("Discrete");

        OpenStudio.ScheduleDay DiscreteScheduleDay = new OpenStudio.ScheduleDay(model);
        DiscreteScheduleDay.setName("DiscreteScheduleDay");
        DiscreteScheduleDay.setScheduleTypeLimits(DiscreteScheduleTypeLimits);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 0), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 1), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 2), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 3), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 4), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 5), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 6), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 7), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 8), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 9), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 10), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 11), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 12), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 13), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 14), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 15), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 16), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 17), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 18), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 19), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 20), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 21), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 22), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 23), 1);

        OpenStudio.ScheduleWeek DiscreteallOfWeekAprill = new OpenStudio.ScheduleWeek(model);
        DiscreteallOfWeekAprill.setName("DiscreteallOfWeekAprill");
        DiscreteallOfWeekAprill.setSaturdaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setSundaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setMondaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setTuesdaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setWednesdaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setThursdaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setFridaySchedule(DiscreteScheduleDay);

        OpenStudio.ScheduleYear DiscreteScheduleYear = new OpenStudio.ScheduleYear(model);
        DiscreteScheduleYear.setName("DiscreteScheduleYear");
        DiscreteScheduleYear.setScheduleTypeLimits(DiscreteScheduleTypeLimits);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(1), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(2), 28), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(3), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(4), 30), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(5), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(6), 30), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(7), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(8), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(9), 30), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(10), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(11), 30), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(12), 31), DiscreteallOfWeekAprill);

        // Creat Continuous Schedule
        OpenStudio.ScheduleTypeLimits ContinuousScheduleTypeLimits = new OpenStudio.ScheduleTypeLimits(model);
        ContinuousScheduleTypeLimits.setUpperLimitValue(100);
        ContinuousScheduleTypeLimits.setLowerLimitValue(0);
        ContinuousScheduleTypeLimits.setNumericType("Continuous");

        OpenStudio.ScheduleDay ContinuousScheduleDay = new OpenStudio.ScheduleDay(model);
        ContinuousScheduleDay.setName("Schedule");
        ContinuousScheduleDay.setScheduleTypeLimits(ContinuousScheduleTypeLimits);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 0), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 1), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 2), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 3), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 4), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 5), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 6), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 7), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 8), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 9), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 10), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 11), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 12), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 13), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 14), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 15), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 16), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 17), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 18), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 19), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 20), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 21), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 22), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 23), 100);

        OpenStudio.ScheduleWeek ContinuousallOfWeekAprill = new OpenStudio.ScheduleWeek(model);
        ContinuousallOfWeekAprill.setName("ContinuousContinuousallOfWeekAprill");
        ContinuousallOfWeekAprill.setSaturdaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setSundaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setMondaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setTuesdaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setWednesdaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setThursdaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setFridaySchedule(ContinuousScheduleDay);

        OpenStudio.ScheduleYear ContinuousScheduleYear = new OpenStudio.ScheduleYear(model);
        ContinuousScheduleYear.setName("ContinuousScheduleYear");
        ContinuousScheduleYear.setScheduleTypeLimits(ContinuousScheduleTypeLimits);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(1), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(2), 28), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(3), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(4), 30), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(5), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(6), 30), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(7), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(8), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(9), 30), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(10), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(11), 30), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(12), 31), ContinuousallOfWeekAprill);



        // Creat Thermal Zone
        OpenStudio.ThermalZone thermalZone = new OpenStudio.ThermalZone(model);


        ////Creat Thermostat
        //OpenStudio.Thermostat thermostat = null;
        //thermostat.setFieldComment(28, "heating_setpoint");
        //thermostat.setFieldComment(25, "cooling_setpoint");

        // Creat System
        OpenStudio.ZoneHVACIdealLoadsAirSystem zoneHVACIdealLoadsAirSystem = new OpenStudio.ZoneHVACIdealLoadsAirSystem(model);
        zoneHVACIdealLoadsAirSystem.setName("IdealSystem");
        zoneHVACIdealLoadsAirSystem.addToThermalZone(thermalZone);
        zoneHVACIdealLoadsAirSystem.setAvailabilitySchedule(DiscreteScheduleYear);
        zoneHVACIdealLoadsAirSystem.setMaximumHeatingSupplyAirTemperature(50);
        zoneHVACIdealLoadsAirSystem.setMinimumCoolingSupplyAirTemperature(13);
        zoneHVACIdealLoadsAirSystem.setMaximumHeatingSupplyAirHumidityRatio(0.0156);
        zoneHVACIdealLoadsAirSystem.setMinimumCoolingSupplyAirHumidityRatio(0.0077);
        zoneHVACIdealLoadsAirSystem.setHeatingLimit("NoLimit");
        //zoneHVACIdealLoadsAirSystem.setMaximumCoolingAirFlowRate();
        //zoneHVACIdealLoadsAirSystem.setMaximumSensibleHeatingCapacity();
        //zoneHVACIdealLoadsAirSystem.setCoolingLimit();
        //zoneHVACIdealLoadsAirSystem.setMaximumCoolingAirFlowRate();
        //zoneHVACIdealLoadsAirSystem.setMaximumTotalCoolingCapacity();
        //zoneHVACIdealLoadsAirSystem.setHeatingAvailabilitySchedule();
        //zoneHVACIdealLoadsAirSystem.setCoolingAvailabilitySchedule();
        //zoneHVACIdealLoadsAirSystem.setDehumidificationControlType();
        zoneHVACIdealLoadsAirSystem.setCoolingSensibleHeatRatio(0.7);

        // Creat Space
        OpenStudio.Space space = new OpenStudio.Space(model);
        space.setName("testspace");
        space.setThermalZone(thermalZone);

        // Creat People Simulation
        OpenStudio.PeopleDefinition peopleDefinition = new OpenStudio.PeopleDefinition(model);
        OpenStudio.People people = new OpenStudio.People(peopleDefinition);

        peopleDefinition.setFractionRadiant(0.3);
        peopleDefinition.setNumberofPeople(10);
        people.setDefinition(peopleDefinition);
        people.setSpace(space);
        people.setActivityLevelSchedule(ContinuousScheduleYear);

        // Creat Lighting Simulation
        OpenStudio.LightsDefinition lightsDefinition = new OpenStudio.LightsDefinition(model);
        OpenStudio.Lights lights = new OpenStudio.Lights(lightsDefinition);

        lightsDefinition.setLightingLevel(50);
        lights.setDefinition(lightsDefinition);
        lights.setSpace(space);
        lights.setSchedule(ContinuousScheduleYear);

        // Creat Infiltration
        OpenStudio.SpaceInfiltrationDesignFlowRate SpaceInfiltrationDesignFlowRate = new OpenStudio.SpaceInfiltrationDesignFlowRate(model);
        SpaceInfiltrationDesignFlowRate.setAirChangesperHour(5);
        SpaceInfiltrationDesignFlowRate.setSpace(space);
        SpaceInfiltrationDesignFlowRate.setSchedule(DiscreteScheduleYear);

        // Creat Electrical Equipment Simulation
        OpenStudio.ElectricEquipmentDefinition electricEquipmentDefinition = new OpenStudio.ElectricEquipmentDefinition(model);
        OpenStudio.ElectricEquipment ElectricEquipment = new OpenStudio.ElectricEquipment(electricEquipmentDefinition);
        electricEquipmentDefinition.setDesignLevel(500);
        ElectricEquipment.setDefinition(electricEquipmentDefinition);
        ElectricEquipment.setSpace(space);
        ElectricEquipment.setSchedule(ContinuousScheduleYear);

        OpenStudio.Point3dVector Point3Ds = new OpenStudio.Point3dVector();
        Point3Ds.Add(new OpenStudio.Point3d(0, 0, 3));
        Point3Ds.Add(new OpenStudio.Point3d(0, 0, 0));
        Point3Ds.Add(new OpenStudio.Point3d(3, 0, 0));
        Point3Ds.Add(new OpenStudio.Point3d(3, 0, 1));

        OpenStudio.Surface wallSurface = new OpenStudio.Surface(Point3Ds, model);
        wallSurface.setName("Wall");
        wallSurface.setSpace(space);
        wallSurface.setSurfaceType("Wall");
        wallSurface.setSunExposure("SunExposed");
        wallSurface.setWindExposure("WindExposed");
        wallSurface.setConstruction(construction);

        OpenStudio.SubSurface windowSubSurface = new OpenStudio.SubSurface(Point3Ds, model);
        windowSubSurface.setName("Window");
        windowSubSurface.setSubSurfaceType("Window");
        windowSubSurface.setSurface(wallSurface);
        windowSubSurface.setConstruction(construction);

        OpenStudio.Surface roofSurface = new OpenStudio.Surface(Point3Ds, model);
        roofSurface.setName("Roof");
        roofSurface.setSpace(space);
        roofSurface.setSurfaceType("Roof");
        roofSurface.setSunExposure("SunExposed");
        roofSurface.setWindExposure("WindExposed");
        roofSurface.setConstruction(construction);

        // Calculation Algorithm
        OpenStudio.InsideSurfaceConvectionAlgorithm insideSurfaceConvectionAlgorithm = model.getInsideSurfaceConvectionAlgorithm();
        insideSurfaceConvectionAlgorithm.setAlgorithm("TRAP");

        OpenStudio.OutsideSurfaceConvectionAlgorithm outsideSurfaceConvectionAlgorithm = model.getOutsideSurfaceConvectionAlgorithm();
        outsideSurfaceConvectionAlgorithm.setAlgorithm("DOE-2");

        OpenStudio.RunPeriod runPeriod = model.getRunPeriod();
        runPeriod.setName("Start");
        runPeriod.setBeginMonth(1);
        runPeriod.setBeginDayOfMonth(1);
        runPeriod.setEndMonth(12);
        runPeriod.setEndDayOfMonth(31);

        OpenStudio.HeatBalanceAlgorithm heatBalanceAlgorithm = model.getHeatBalanceAlgorithm();
        heatBalanceAlgorithm.setAlgorithm("ConductionTransferFunction");
        heatBalanceAlgorithm.setSurfaceTemperatureUpperLimit(200);
        heatBalanceAlgorithm.setMinimumSurfaceConvectionHeatTransferCoefficientValue(0.1);
        heatBalanceAlgorithm.setMaximumSurfaceConvectionHeatTransferCoefficientValue(1000);

        OpenStudio.Timestep timestep = model.getTimestep();
        timestep.setNumberOfTimestepsPerHour(6);

        OpenStudio.SimulationControl simulationControl = model.getSimulationControl();
        simulationControl.setDoZoneSizingCalculation(false);
        simulationControl.setDoSystemSizingCalculation(true);
        simulationControl.setDoPlantSizingCalculation(false);
        simulationControl.setRunSimulationforSizingPeriods(false);
        simulationControl.setRunSimulationforWeatherFileRunPeriods(true);
        simulationControl.setDoHVACSizingSimulationforSizingPeriods(false);
        simulationControl.setMaximumNumberofHVACSizingSimulationPasses(1);

        OpenStudio.Building building = model.getBuilding();
        building.setNorthAxis(0);

        OpenStudio.SiteGroundTemperatureBuildingSurface siteGroundTemperatureBuildingSurface = new OpenStudio.SiteGroundTemperatureBuildingSurface(model);
        siteGroundTemperatureBuildingSurface.setJanuaryGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setFebruaryGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setMarchGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setAprilGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setMayGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setJuneGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setJulyGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setAugustGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setSeptemberGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setOctoberGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setNovemberGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setDecemberGroundTemperature(18);

        // Output
        OpenStudio.OutputVariable outputVariable = new OpenStudio.OutputVariable("", model);
        outputVariable.setKeyValue("*");
        outputVariable.setVariableName("");
        outputVariable.setReportingFrequency("");

        path = OpenStudio.OpenStudioUtilitiesCore.toPath("C:\\Users\\Masoud\\Desktop\\test.osm");
        model.save(new OpenStudio.Path(path), true);

Receive cooling and heating as summary and analysis in C #

Hello to all friends I know my question is very simple, but thank you for your help. I created a space with the number of people and electrical equipment and other options, placed the space in the thermal zone, defined an ideal air system for it and was able to generate the output of the osm file. Now, how can I report the cooling and heating loads of the walls, penetration, ceiling, walls,infiltration, lighting, etc. in summary or analysis for different hours for the heating area? In other words, what class can I use to get summary or analytical output?

OpenStudio.Model model = new OpenStudio.Model(); // Weather File OpenStudio.Path path = OpenStudio.OpenStudioUtilitiesCore.toPath("D:\Pluginet\Chiral\Chiral\WeatherFile\IRN_Shiraz.408480_ITMY.epw"); OpenStudio.WeatherFile.setWeatherFile(model, new OpenStudio.EpwFile(path)); OpenStudio.DesignDay WinterDesignDay = new OpenStudio.DesignDay(model); WinterDesignDay.setMonth(12); WinterDesignDay.setDayOfMonth(21); WinterDesignDay.setDayType("WinterDesignDay"); WinterDesignDay.setMaximumDryBulbTemperature(25); WinterDesignDay.setDailyDryBulbTemperatureRange(25); WinterDesignDay.setBarometricPressure(25); WinterDesignDay.setWindSpeed(250); WinterDesignDay.setWindDirection(20); WinterDesignDay.setSkyClearness(1);

        OpenStudio.DesignDay SummerDesignDay = new OpenStudio.DesignDay(model);
        SummerDesignDay.setMonth(7);
        SummerDesignDay.setDayOfMonth(21);
        SummerDesignDay.setDayType("SummerDesignDay");
        SummerDesignDay.setMaximumDryBulbTemperature(20);
        SummerDesignDay.setDailyDryBulbTemperatureRange(20);
        SummerDesignDay.setBarometricPressure(25);
        SummerDesignDay.setWindSpeed(250);
        SummerDesignDay.setWindDirection(20);
        SummerDesignDay.setSkyClearness(1);

        // Creat Construction && Material
        OpenStudio.Construction construction = new OpenStudio.Construction(model);

        OpenStudio.StandardOpaqueMaterial material = new OpenStudio.StandardOpaqueMaterial(model);
        material.setName("material");
        material.setThickness(10);
        material.setDensity(1920);
        material.setSpecificHeat(840);
        material.setThermalConductance(8);
        material.setSolarAbsorptance(1);
        construction.insertLayer(0, material);

        // Creat Discrete Schedule
        OpenStudio.ScheduleTypeLimits DiscreteScheduleTypeLimits = new OpenStudio.ScheduleTypeLimits(model);
        DiscreteScheduleTypeLimits.setName("DiscreteScheduleTypeLimits");
        DiscreteScheduleTypeLimits.setUpperLimitValue(1);
        DiscreteScheduleTypeLimits.setLowerLimitValue(0);
        DiscreteScheduleTypeLimits.setNumericType("Discrete");

        OpenStudio.ScheduleDay DiscreteScheduleDay = new OpenStudio.ScheduleDay(model);
        DiscreteScheduleDay.setName("DiscreteScheduleDay");
        DiscreteScheduleDay.setScheduleTypeLimits(DiscreteScheduleTypeLimits);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 0), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 1), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 2), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 3), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 4), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 5), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 6), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 7), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 8), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 9), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 10), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 11), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 12), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 13), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 14), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 15), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 16), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 17), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 18), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 19), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 20), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 21), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 22), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 23), 1);

        OpenStudio.ScheduleWeek DiscreteallOfWeekAprill = new OpenStudio.ScheduleWeek(model);
        DiscreteallOfWeekAprill.setName("DiscreteallOfWeekAprill");
        DiscreteallOfWeekAprill.setSaturdaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setSundaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setMondaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setTuesdaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setWednesdaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setThursdaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setFridaySchedule(DiscreteScheduleDay);

        OpenStudio.ScheduleYear DiscreteScheduleYear = new OpenStudio.ScheduleYear(model);
        DiscreteScheduleYear.setName("DiscreteScheduleYear");
        DiscreteScheduleYear.setScheduleTypeLimits(DiscreteScheduleTypeLimits);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(1), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(2), 28), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(3), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(4), 30), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(5), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(6), 30), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(7), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(8), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(9), 30), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(10), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(11), 30), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(12), 31), DiscreteallOfWeekAprill);

        // Creat Continuous Schedule
        OpenStudio.ScheduleTypeLimits ContinuousScheduleTypeLimits = new OpenStudio.ScheduleTypeLimits(model);
        ContinuousScheduleTypeLimits.setUpperLimitValue(100);
        ContinuousScheduleTypeLimits.setLowerLimitValue(0);
        ContinuousScheduleTypeLimits.setNumericType("Continuous");

        OpenStudio.ScheduleDay ContinuousScheduleDay = new OpenStudio.ScheduleDay(model);
        ContinuousScheduleDay.setName("Schedule");
        ContinuousScheduleDay.setScheduleTypeLimits(ContinuousScheduleTypeLimits);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 0), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 1), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 2), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 3), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 4), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 5), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 6), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 7), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 8), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 9), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 10), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 11), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 12), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 13), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 14), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 15), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 16), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 17), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 18), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 19), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 20), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 21), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 22), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 23), 100);

        OpenStudio.ScheduleWeek ContinuousallOfWeekAprill = new OpenStudio.ScheduleWeek(model);
        ContinuousallOfWeekAprill.setName("ContinuousContinuousallOfWeekAprill");
        ContinuousallOfWeekAprill.setSaturdaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setSundaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setMondaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setTuesdaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setWednesdaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setThursdaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setFridaySchedule(ContinuousScheduleDay);

        OpenStudio.ScheduleYear ContinuousScheduleYear = new OpenStudio.ScheduleYear(model);
        ContinuousScheduleYear.setName("ContinuousScheduleYear");
        ContinuousScheduleYear.setScheduleTypeLimits(ContinuousScheduleTypeLimits);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(1), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(2), 28), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(3), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(4), 30), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(5), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(6), 30), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(7), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(8), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(9), 30), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(10), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(11), 30), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(12), 31), ContinuousallOfWeekAprill);



        // Creat Thermal Zone
        OpenStudio.ThermalZone thermalZone = new OpenStudio.ThermalZone(model);


        ////Creat Thermostat
        //OpenStudio.Thermostat thermostat = null;
        //thermostat.setFieldComment(28, "heating_setpoint");
        //thermostat.setFieldComment(25, "cooling_setpoint");

        // Creat System
        OpenStudio.ZoneHVACIdealLoadsAirSystem zoneHVACIdealLoadsAirSystem = new OpenStudio.ZoneHVACIdealLoadsAirSystem(model);
        zoneHVACIdealLoadsAirSystem.setName("IdealSystem");
        zoneHVACIdealLoadsAirSystem.addToThermalZone(thermalZone);
        zoneHVACIdealLoadsAirSystem.setAvailabilitySchedule(DiscreteScheduleYear);
        zoneHVACIdealLoadsAirSystem.setMaximumHeatingSupplyAirTemperature(50);
        zoneHVACIdealLoadsAirSystem.setMinimumCoolingSupplyAirTemperature(13);
        zoneHVACIdealLoadsAirSystem.setMaximumHeatingSupplyAirHumidityRatio(0.0156);
        zoneHVACIdealLoadsAirSystem.setMinimumCoolingSupplyAirHumidityRatio(0.0077);
        zoneHVACIdealLoadsAirSystem.setHeatingLimit("NoLimit");
        //zoneHVACIdealLoadsAirSystem.setMaximumCoolingAirFlowRate();
        //zoneHVACIdealLoadsAirSystem.setMaximumSensibleHeatingCapacity();
        //zoneHVACIdealLoadsAirSystem.setCoolingLimit();
        //zoneHVACIdealLoadsAirSystem.setMaximumCoolingAirFlowRate();
        //zoneHVACIdealLoadsAirSystem.setMaximumTotalCoolingCapacity();
        //zoneHVACIdealLoadsAirSystem.setHeatingAvailabilitySchedule();
        //zoneHVACIdealLoadsAirSystem.setCoolingAvailabilitySchedule();
        //zoneHVACIdealLoadsAirSystem.setDehumidificationControlType();
        zoneHVACIdealLoadsAirSystem.setCoolingSensibleHeatRatio(0.7);

        // Creat Space
        OpenStudio.Space space = new OpenStudio.Space(model);
        space.setName("testspace");
        space.setThermalZone(thermalZone);

        // Creat People Simulation
        OpenStudio.PeopleDefinition peopleDefinition = new OpenStudio.PeopleDefinition(model);
        OpenStudio.People people = new OpenStudio.People(peopleDefinition);

        peopleDefinition.setFractionRadiant(0.3);
        peopleDefinition.setNumberofPeople(10);
        people.setDefinition(peopleDefinition);
        people.setSpace(space);
        people.setActivityLevelSchedule(ContinuousScheduleYear);

        // Creat Lighting Simulation
        OpenStudio.LightsDefinition lightsDefinition = new OpenStudio.LightsDefinition(model);
        OpenStudio.Lights lights = new OpenStudio.Lights(lightsDefinition);

        lightsDefinition.setLightingLevel(50);
        lights.setDefinition(lightsDefinition);
        lights.setSpace(space);
        lights.setSchedule(ContinuousScheduleYear);

        // Creat Infiltration
        OpenStudio.SpaceInfiltrationDesignFlowRate SpaceInfiltrationDesignFlowRate = new OpenStudio.SpaceInfiltrationDesignFlowRate(model);
        SpaceInfiltrationDesignFlowRate.setAirChangesperHour(5);
        SpaceInfiltrationDesignFlowRate.setSpace(space);
        SpaceInfiltrationDesignFlowRate.setSchedule(DiscreteScheduleYear);

        // Creat Electrical Equipment Simulation
        OpenStudio.ElectricEquipmentDefinition electricEquipmentDefinition = new OpenStudio.ElectricEquipmentDefinition(model);
        OpenStudio.ElectricEquipment ElectricEquipment = new OpenStudio.ElectricEquipment(electricEquipmentDefinition);
        electricEquipmentDefinition.setDesignLevel(500);
        ElectricEquipment.setDefinition(electricEquipmentDefinition);
        ElectricEquipment.setSpace(space);
        ElectricEquipment.setSchedule(ContinuousScheduleYear);

        OpenStudio.Point3dVector Point3Ds = new OpenStudio.Point3dVector();
        Point3Ds.Add(new OpenStudio.Point3d(0, 0, 3));
        Point3Ds.Add(new OpenStudio.Point3d(0, 0, 0));
        Point3Ds.Add(new OpenStudio.Point3d(3, 0, 0));
        Point3Ds.Add(new OpenStudio.Point3d(3, 0, 1));

        OpenStudio.Surface wallSurface = new OpenStudio.Surface(Point3Ds, model);
        wallSurface.setName("Wall");
        wallSurface.setSpace(space);
        wallSurface.setSurfaceType("Wall");
        wallSurface.setSunExposure("SunExposed");
        wallSurface.setWindExposure("WindExposed");
        wallSurface.setConstruction(construction);

        OpenStudio.SubSurface windowSubSurface = new OpenStudio.SubSurface(Point3Ds, model);
        windowSubSurface.setName("Window");
        windowSubSurface.setSubSurfaceType("Window");
        windowSubSurface.setSurface(wallSurface);
        windowSubSurface.setConstruction(construction);

        OpenStudio.Surface roofSurface = new OpenStudio.Surface(Point3Ds, model);
        roofSurface.setName("Roof");
        roofSurface.setSpace(space);
        roofSurface.setSurfaceType("Roof");
        roofSurface.setSunExposure("SunExposed");
        roofSurface.setWindExposure("WindExposed");
        roofSurface.setConstruction(construction);

        // Calculation Algorithm
        OpenStudio.InsideSurfaceConvectionAlgorithm insideSurfaceConvectionAlgorithm = model.getInsideSurfaceConvectionAlgorithm();
        insideSurfaceConvectionAlgorithm.setAlgorithm("TRAP");

        OpenStudio.OutsideSurfaceConvectionAlgorithm outsideSurfaceConvectionAlgorithm = model.getOutsideSurfaceConvectionAlgorithm();
        outsideSurfaceConvectionAlgorithm.setAlgorithm("DOE-2");

        OpenStudio.RunPeriod runPeriod = model.getRunPeriod();
        runPeriod.setName("Start");
        runPeriod.setBeginMonth(1);
        runPeriod.setBeginDayOfMonth(1);
        runPeriod.setEndMonth(12);
        runPeriod.setEndDayOfMonth(31);

        OpenStudio.HeatBalanceAlgorithm heatBalanceAlgorithm = model.getHeatBalanceAlgorithm();
        heatBalanceAlgorithm.setAlgorithm("ConductionTransferFunction");
        heatBalanceAlgorithm.setSurfaceTemperatureUpperLimit(200);
        heatBalanceAlgorithm.setMinimumSurfaceConvectionHeatTransferCoefficientValue(0.1);
        heatBalanceAlgorithm.setMaximumSurfaceConvectionHeatTransferCoefficientValue(1000);

        OpenStudio.Timestep timestep = model.getTimestep();
        timestep.setNumberOfTimestepsPerHour(6);

        OpenStudio.SimulationControl simulationControl = model.getSimulationControl();
        simulationControl.setDoZoneSizingCalculation(false);
        simulationControl.setDoSystemSizingCalculation(true);
        simulationControl.setDoPlantSizingCalculation(false);
        simulationControl.setRunSimulationforSizingPeriods(false);
        simulationControl.setRunSimulationforWeatherFileRunPeriods(true);
        simulationControl.setDoHVACSizingSimulationforSizingPeriods(false);
        simulationControl.setMaximumNumberofHVACSizingSimulationPasses(1);

        OpenStudio.Building building = model.getBuilding();
        building.setNorthAxis(0);

        OpenStudio.SiteGroundTemperatureBuildingSurface siteGroundTemperatureBuildingSurface = new OpenStudio.SiteGroundTemperatureBuildingSurface(model);
        siteGroundTemperatureBuildingSurface.setJanuaryGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setFebruaryGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setMarchGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setAprilGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setMayGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setJuneGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setJulyGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setAugustGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setSeptemberGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setOctoberGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setNovemberGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setDecemberGroundTemperature(18);

        // Output
        OpenStudio.OutputVariable outputVariable = new OpenStudio.OutputVariable("", model);
        outputVariable.setKeyValue("*");
        outputVariable.setVariableName("");
        outputVariable.setReportingFrequency("");

        path = OpenStudio.OpenStudioUtilitiesCore.toPath("C:\\Users\\Masoud\\Desktop\\test.osm");
        model.save(new OpenStudio.Path(path), true);

Receive cooling and heating as summary and analysis in C #

Hello to all friends I know my question is very simple, but thank you for your help. I created a space with the number of people and electrical equipment and other options, placed the space in the thermal zone, defined an ideal air system for it and was able to generate the output of the osm file. Now, how can I report the cooling and heating loads of the walls,infiltration, lighting, etc. in summary or analysis for different hours for the heating area? In other words, what class can I use to get summary or analytical output?

 OpenStudio.Model model = new OpenStudio.Model();
         // Weather File
         OpenStudio.Path path = OpenStudio.OpenStudioUtilitiesCore.toPath("D:\Pluginet\Chiral\Chiral\WeatherFile\IRN_Shiraz.408480_ITMY.epw");
    OpenStudio.OpenStudioUtilitiesCore.toPath("D:\\Pluginet\\Chiral\\Chiral\\WeatherFile\\IRN_Shiraz.408480_ITMY.epw");
        OpenStudio.WeatherFile.setWeatherFile(model, new OpenStudio.EpwFile(path));
         OpenStudio.DesignDay WinterDesignDay = new OpenStudio.DesignDay(model);
         WinterDesignDay.setMonth(12);
         WinterDesignDay.setDayOfMonth(21);
         WinterDesignDay.setDayType("WinterDesignDay");
         WinterDesignDay.setMaximumDryBulbTemperature(25);
         WinterDesignDay.setDailyDryBulbTemperatureRange(25);
         WinterDesignDay.setBarometricPressure(25);
         WinterDesignDay.setWindSpeed(250);
         WinterDesignDay.setWindDirection(20);
            WinterDesignDay.setSkyClearness(1);

WinterDesignDay.setSkyClearness(1);

        OpenStudio.DesignDay SummerDesignDay = new OpenStudio.DesignDay(model);
        SummerDesignDay.setMonth(7);
        SummerDesignDay.setDayOfMonth(21);
        SummerDesignDay.setDayType("SummerDesignDay");
        SummerDesignDay.setMaximumDryBulbTemperature(20);
        SummerDesignDay.setDailyDryBulbTemperatureRange(20);
        SummerDesignDay.setBarometricPressure(25);
        SummerDesignDay.setWindSpeed(250);
        SummerDesignDay.setWindDirection(20);
        SummerDesignDay.setSkyClearness(1);

        // Creat Construction && Material
        OpenStudio.Construction construction = new OpenStudio.Construction(model);

        OpenStudio.StandardOpaqueMaterial material = new OpenStudio.StandardOpaqueMaterial(model);
        material.setName("material");
        material.setThickness(10);
        material.setDensity(1920);
        material.setSpecificHeat(840);
        material.setThermalConductance(8);
        material.setSolarAbsorptance(1);
        construction.insertLayer(0, material);

        // Creat Discrete Schedule
        OpenStudio.ScheduleTypeLimits DiscreteScheduleTypeLimits = new OpenStudio.ScheduleTypeLimits(model);
        DiscreteScheduleTypeLimits.setName("DiscreteScheduleTypeLimits");
        DiscreteScheduleTypeLimits.setUpperLimitValue(1);
        DiscreteScheduleTypeLimits.setLowerLimitValue(0);
        DiscreteScheduleTypeLimits.setNumericType("Discrete");

        OpenStudio.ScheduleDay DiscreteScheduleDay = new OpenStudio.ScheduleDay(model);
        DiscreteScheduleDay.setName("DiscreteScheduleDay");
        DiscreteScheduleDay.setScheduleTypeLimits(DiscreteScheduleTypeLimits);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 0), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 1), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 2), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 3), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 4), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 5), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 6), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 7), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 8), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 9), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 10), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 11), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 12), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 13), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 14), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 15), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 16), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 17), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 18), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 19), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 20), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 21), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 22), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 23), 1);

        OpenStudio.ScheduleWeek DiscreteallOfWeekAprill = new OpenStudio.ScheduleWeek(model);
        DiscreteallOfWeekAprill.setName("DiscreteallOfWeekAprill");
        DiscreteallOfWeekAprill.setSaturdaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setSundaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setMondaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setTuesdaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setWednesdaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setThursdaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setFridaySchedule(DiscreteScheduleDay);

        OpenStudio.ScheduleYear DiscreteScheduleYear = new OpenStudio.ScheduleYear(model);
        DiscreteScheduleYear.setName("DiscreteScheduleYear");
        DiscreteScheduleYear.setScheduleTypeLimits(DiscreteScheduleTypeLimits);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(1), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(2), 28), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(3), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(4), 30), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(5), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(6), 30), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(7), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(8), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(9), 30), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(10), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(11), 30), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(12), 31), DiscreteallOfWeekAprill);

        // Creat Continuous Schedule
        OpenStudio.ScheduleTypeLimits ContinuousScheduleTypeLimits = new OpenStudio.ScheduleTypeLimits(model);
        ContinuousScheduleTypeLimits.setUpperLimitValue(100);
        ContinuousScheduleTypeLimits.setLowerLimitValue(0);
        ContinuousScheduleTypeLimits.setNumericType("Continuous");

        OpenStudio.ScheduleDay ContinuousScheduleDay = new OpenStudio.ScheduleDay(model);
        ContinuousScheduleDay.setName("Schedule");
        ContinuousScheduleDay.setScheduleTypeLimits(ContinuousScheduleTypeLimits);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 0), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 1), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 2), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 3), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 4), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 5), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 6), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 7), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 8), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 9), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 10), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 11), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 12), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 13), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 14), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 15), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 16), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 17), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 18), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 19), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 20), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 21), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 22), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 23), 100);

        OpenStudio.ScheduleWeek ContinuousallOfWeekAprill = new OpenStudio.ScheduleWeek(model);
        ContinuousallOfWeekAprill.setName("ContinuousContinuousallOfWeekAprill");
        ContinuousallOfWeekAprill.setSaturdaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setSundaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setMondaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setTuesdaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setWednesdaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setThursdaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setFridaySchedule(ContinuousScheduleDay);

        OpenStudio.ScheduleYear ContinuousScheduleYear = new OpenStudio.ScheduleYear(model);
        ContinuousScheduleYear.setName("ContinuousScheduleYear");
        ContinuousScheduleYear.setScheduleTypeLimits(ContinuousScheduleTypeLimits);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(1), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(2), 28), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(3), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(4), 30), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(5), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(6), 30), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(7), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(8), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(9), 30), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(10), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(11), 30), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(12), 31), ContinuousallOfWeekAprill);



        // Creat Thermal Zone
        OpenStudio.ThermalZone thermalZone = new OpenStudio.ThermalZone(model);


        ////Creat Thermostat
        //OpenStudio.Thermostat thermostat = null;
        //thermostat.setFieldComment(28, "heating_setpoint");
        //thermostat.setFieldComment(25, "cooling_setpoint");

        // Creat System
        OpenStudio.ZoneHVACIdealLoadsAirSystem zoneHVACIdealLoadsAirSystem = new OpenStudio.ZoneHVACIdealLoadsAirSystem(model);
        zoneHVACIdealLoadsAirSystem.setName("IdealSystem");
        zoneHVACIdealLoadsAirSystem.addToThermalZone(thermalZone);
        zoneHVACIdealLoadsAirSystem.setAvailabilitySchedule(DiscreteScheduleYear);
        zoneHVACIdealLoadsAirSystem.setMaximumHeatingSupplyAirTemperature(50);
        zoneHVACIdealLoadsAirSystem.setMinimumCoolingSupplyAirTemperature(13);
        zoneHVACIdealLoadsAirSystem.setMaximumHeatingSupplyAirHumidityRatio(0.0156);
        zoneHVACIdealLoadsAirSystem.setMinimumCoolingSupplyAirHumidityRatio(0.0077);
        zoneHVACIdealLoadsAirSystem.setHeatingLimit("NoLimit");
        //zoneHVACIdealLoadsAirSystem.setMaximumCoolingAirFlowRate();
        //zoneHVACIdealLoadsAirSystem.setMaximumSensibleHeatingCapacity();
        //zoneHVACIdealLoadsAirSystem.setCoolingLimit();
        //zoneHVACIdealLoadsAirSystem.setMaximumCoolingAirFlowRate();
        //zoneHVACIdealLoadsAirSystem.setMaximumTotalCoolingCapacity();
        //zoneHVACIdealLoadsAirSystem.setHeatingAvailabilitySchedule();
        //zoneHVACIdealLoadsAirSystem.setCoolingAvailabilitySchedule();
        //zoneHVACIdealLoadsAirSystem.setDehumidificationControlType();
        zoneHVACIdealLoadsAirSystem.setCoolingSensibleHeatRatio(0.7);

        // Creat Space
        OpenStudio.Space space = new OpenStudio.Space(model);
        space.setName("testspace");
        space.setThermalZone(thermalZone);

        // Creat People Simulation
        OpenStudio.PeopleDefinition peopleDefinition = new OpenStudio.PeopleDefinition(model);
        OpenStudio.People people = new OpenStudio.People(peopleDefinition);

        peopleDefinition.setFractionRadiant(0.3);
        peopleDefinition.setNumberofPeople(10);
        people.setDefinition(peopleDefinition);
        people.setSpace(space);
        people.setActivityLevelSchedule(ContinuousScheduleYear);

        // Creat Lighting Simulation
        OpenStudio.LightsDefinition lightsDefinition = new OpenStudio.LightsDefinition(model);
        OpenStudio.Lights lights = new OpenStudio.Lights(lightsDefinition);

        lightsDefinition.setLightingLevel(50);
        lights.setDefinition(lightsDefinition);
        lights.setSpace(space);
        lights.setSchedule(ContinuousScheduleYear);

        // Creat Infiltration
        OpenStudio.SpaceInfiltrationDesignFlowRate SpaceInfiltrationDesignFlowRate = new OpenStudio.SpaceInfiltrationDesignFlowRate(model);
        SpaceInfiltrationDesignFlowRate.setAirChangesperHour(5);
        SpaceInfiltrationDesignFlowRate.setSpace(space);
        SpaceInfiltrationDesignFlowRate.setSchedule(DiscreteScheduleYear);

        // Creat Electrical Equipment Simulation
        OpenStudio.ElectricEquipmentDefinition electricEquipmentDefinition = new OpenStudio.ElectricEquipmentDefinition(model);
        OpenStudio.ElectricEquipment ElectricEquipment = new OpenStudio.ElectricEquipment(electricEquipmentDefinition);
        electricEquipmentDefinition.setDesignLevel(500);
        ElectricEquipment.setDefinition(electricEquipmentDefinition);
        ElectricEquipment.setSpace(space);
        ElectricEquipment.setSchedule(ContinuousScheduleYear);

        OpenStudio.Point3dVector Point3Ds = new OpenStudio.Point3dVector();
        Point3Ds.Add(new OpenStudio.Point3d(0, 0, 3));
        Point3Ds.Add(new OpenStudio.Point3d(0, 0, 0));
        Point3Ds.Add(new OpenStudio.Point3d(3, 0, 0));
        Point3Ds.Add(new OpenStudio.Point3d(3, 0, 1));

        OpenStudio.Surface wallSurface = new OpenStudio.Surface(Point3Ds, model);
        wallSurface.setName("Wall");
        wallSurface.setSpace(space);
        wallSurface.setSurfaceType("Wall");
        wallSurface.setSunExposure("SunExposed");
        wallSurface.setWindExposure("WindExposed");
        wallSurface.setConstruction(construction);

        OpenStudio.SubSurface windowSubSurface = new OpenStudio.SubSurface(Point3Ds, model);
        windowSubSurface.setName("Window");
        windowSubSurface.setSubSurfaceType("Window");
        windowSubSurface.setSurface(wallSurface);
        windowSubSurface.setConstruction(construction);

        OpenStudio.Surface roofSurface = new OpenStudio.Surface(Point3Ds, model);
        roofSurface.setName("Roof");
        roofSurface.setSpace(space);
        roofSurface.setSurfaceType("Roof");
        roofSurface.setSunExposure("SunExposed");
        roofSurface.setWindExposure("WindExposed");
        roofSurface.setConstruction(construction);

        // Calculation Algorithm
        OpenStudio.InsideSurfaceConvectionAlgorithm insideSurfaceConvectionAlgorithm = model.getInsideSurfaceConvectionAlgorithm();
        insideSurfaceConvectionAlgorithm.setAlgorithm("TRAP");

        OpenStudio.OutsideSurfaceConvectionAlgorithm outsideSurfaceConvectionAlgorithm = model.getOutsideSurfaceConvectionAlgorithm();
        outsideSurfaceConvectionAlgorithm.setAlgorithm("DOE-2");

        OpenStudio.RunPeriod runPeriod = model.getRunPeriod();
        runPeriod.setName("Start");
        runPeriod.setBeginMonth(1);
        runPeriod.setBeginDayOfMonth(1);
        runPeriod.setEndMonth(12);
        runPeriod.setEndDayOfMonth(31);

        OpenStudio.HeatBalanceAlgorithm heatBalanceAlgorithm = model.getHeatBalanceAlgorithm();
        heatBalanceAlgorithm.setAlgorithm("ConductionTransferFunction");
        heatBalanceAlgorithm.setSurfaceTemperatureUpperLimit(200);
        heatBalanceAlgorithm.setMinimumSurfaceConvectionHeatTransferCoefficientValue(0.1);
        heatBalanceAlgorithm.setMaximumSurfaceConvectionHeatTransferCoefficientValue(1000);

        OpenStudio.Timestep timestep = model.getTimestep();
        timestep.setNumberOfTimestepsPerHour(6);

        OpenStudio.SimulationControl simulationControl = model.getSimulationControl();
        simulationControl.setDoZoneSizingCalculation(false);
        simulationControl.setDoSystemSizingCalculation(true);
        simulationControl.setDoPlantSizingCalculation(false);
        simulationControl.setRunSimulationforSizingPeriods(false);
        simulationControl.setRunSimulationforWeatherFileRunPeriods(true);
        simulationControl.setDoHVACSizingSimulationforSizingPeriods(false);
        simulationControl.setMaximumNumberofHVACSizingSimulationPasses(1);

        OpenStudio.Building building = model.getBuilding();
        building.setNorthAxis(0);

        OpenStudio.SiteGroundTemperatureBuildingSurface siteGroundTemperatureBuildingSurface = new OpenStudio.SiteGroundTemperatureBuildingSurface(model);
        siteGroundTemperatureBuildingSurface.setJanuaryGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setFebruaryGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setMarchGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setAprilGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setMayGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setJuneGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setJulyGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setAugustGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setSeptemberGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setOctoberGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setNovemberGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setDecemberGroundTemperature(18);

        // Output
        OpenStudio.OutputVariable outputVariable = new OpenStudio.OutputVariable("", model);
        outputVariable.setKeyValue("*");
        outputVariable.setVariableName("");
        outputVariable.setReportingFrequency("");

        path = OpenStudio.OpenStudioUtilitiesCore.toPath("C:\\Users\\Masoud\\Desktop\\test.osm");
        model.save(new OpenStudio.Path(path), true);

Receive cooling and heating as summary and analysis in C #

Hello to all friends I know my question is very simple, but thank you for your help. I created a space with the number of people and electrical equipment and other options, placed the space in the thermal zone, defined an ideal air system for it and was able to generate the output of the osm file. Now, how can I report the cooling and heating loads of the walls,infiltration, lighting, etc. in summary or analysis for different hours for the heating area? In other words, what class can I use to get summary or analytical output?

 OpenStudio.Model model = new OpenStudio.Model();
 // Weather File
 OpenStudio.Path path = OpenStudio.OpenStudioUtilitiesCore.toPath("D:\\Pluginet\\Chiral\\Chiral\\WeatherFile\\IRN_Shiraz.408480_ITMY.epw");
 OpenStudio.WeatherFile.setWeatherFile(model, new OpenStudio.EpwFile(path));
 OpenStudio.DesignDay WinterDesignDay = new OpenStudio.DesignDay(model);
 WinterDesignDay.setMonth(12);
 WinterDesignDay.setDayOfMonth(21);
 WinterDesignDay.setDayType("WinterDesignDay");
 WinterDesignDay.setMaximumDryBulbTemperature(25);
 WinterDesignDay.setDailyDryBulbTemperatureRange(25);
 WinterDesignDay.setBarometricPressure(25);
 WinterDesignDay.setWindSpeed(250);
 WinterDesignDay.setWindDirection(20);
 WinterDesignDay.setSkyClearness(1);

 OpenStudio.DesignDay SummerDesignDay = new OpenStudio.DesignDay(model);
 SummerDesignDay.setMonth(7);
 SummerDesignDay.setDayOfMonth(21);
 SummerDesignDay.setDayType("SummerDesignDay");
 SummerDesignDay.setMaximumDryBulbTemperature(20);
 SummerDesignDay.setDailyDryBulbTemperatureRange(20);
 SummerDesignDay.setBarometricPressure(25);
 SummerDesignDay.setWindSpeed(250);
 SummerDesignDay.setWindDirection(20);
 SummerDesignDay.setSkyClearness(1);

 // Creat Construction && Material
 OpenStudio.Construction construction = new OpenStudio.Construction(model);

 OpenStudio.StandardOpaqueMaterial material = new OpenStudio.StandardOpaqueMaterial(model);
 material.setName("material");
 material.setThickness(10);
 material.setDensity(1920);
 material.setSpecificHeat(840);
 material.setThermalConductance(8);
 material.setSolarAbsorptance(1);
 construction.insertLayer(0, material);

 // Creat Discrete Schedule
 OpenStudio.ScheduleTypeLimits DiscreteScheduleTypeLimits = new OpenStudio.ScheduleTypeLimits(model);
 DiscreteScheduleTypeLimits.setName("DiscreteScheduleTypeLimits");
 DiscreteScheduleTypeLimits.setUpperLimitValue(1);
 DiscreteScheduleTypeLimits.setLowerLimitValue(0);
 DiscreteScheduleTypeLimits.setNumericType("Discrete");

 OpenStudio.ScheduleDay DiscreteScheduleDay = new OpenStudio.ScheduleDay(model);
 DiscreteScheduleDay.setName("DiscreteScheduleDay");
 DiscreteScheduleDay.setScheduleTypeLimits(DiscreteScheduleTypeLimits);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 0), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 1), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 2), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 3), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 4), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 5), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 6), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 7), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 8), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 9), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 10), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 11), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 12), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 13), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 14), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 15), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 16), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 17), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 18), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 19), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 20), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 21), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 22), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 23), 1);

 OpenStudio.ScheduleWeek DiscreteallOfWeekAprill = new OpenStudio.ScheduleWeek(model);
 DiscreteallOfWeekAprill.setName("DiscreteallOfWeekAprill");
 DiscreteallOfWeekAprill.setSaturdaySchedule(DiscreteScheduleDay);
 DiscreteallOfWeekAprill.setSundaySchedule(DiscreteScheduleDay);
 DiscreteallOfWeekAprill.setMondaySchedule(DiscreteScheduleDay);
 DiscreteallOfWeekAprill.setTuesdaySchedule(DiscreteScheduleDay);
 DiscreteallOfWeekAprill.setWednesdaySchedule(DiscreteScheduleDay);
 DiscreteallOfWeekAprill.setThursdaySchedule(DiscreteScheduleDay);
 DiscreteallOfWeekAprill.setFridaySchedule(DiscreteScheduleDay);

 OpenStudio.ScheduleYear DiscreteScheduleYear = new OpenStudio.ScheduleYear(model);
 DiscreteScheduleYear.setName("DiscreteScheduleYear");
 DiscreteScheduleYear.setScheduleTypeLimits(DiscreteScheduleTypeLimits);
 DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(1), 31), DiscreteallOfWeekAprill);
 DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(2), 28), DiscreteallOfWeekAprill);
 DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(3), 31), DiscreteallOfWeekAprill);
 DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(4), 30), DiscreteallOfWeekAprill);
 DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(5), 31), DiscreteallOfWeekAprill);
 DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(6), 30), DiscreteallOfWeekAprill);
 DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(7), 31), DiscreteallOfWeekAprill);
 DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(8), 31), DiscreteallOfWeekAprill);
 DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(9), 30), DiscreteallOfWeekAprill);
 DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(10), 31), DiscreteallOfWeekAprill);
 DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(11), 30), DiscreteallOfWeekAprill);
 DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(12), 31), DiscreteallOfWeekAprill);

 // Creat Continuous Schedule
 OpenStudio.ScheduleTypeLimits ContinuousScheduleTypeLimits = new OpenStudio.ScheduleTypeLimits(model);
 ContinuousScheduleTypeLimits.setUpperLimitValue(100);
 ContinuousScheduleTypeLimits.setLowerLimitValue(0);
 ContinuousScheduleTypeLimits.setNumericType("Continuous");

 OpenStudio.ScheduleDay ContinuousScheduleDay = new OpenStudio.ScheduleDay(model);
 ContinuousScheduleDay.setName("Schedule");
 ContinuousScheduleDay.setScheduleTypeLimits(ContinuousScheduleTypeLimits);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 0), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 1), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 2), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 3), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 4), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 5), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 6), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 7), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 8), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 9), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 10), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 11), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 12), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 13), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 14), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 15), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 16), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 17), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 18), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 19), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 20), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 21), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 22), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 23), 100);

 OpenStudio.ScheduleWeek ContinuousallOfWeekAprill = new OpenStudio.ScheduleWeek(model);
 ContinuousallOfWeekAprill.setName("ContinuousContinuousallOfWeekAprill");
 ContinuousallOfWeekAprill.setSaturdaySchedule(ContinuousScheduleDay);
 ContinuousallOfWeekAprill.setSundaySchedule(ContinuousScheduleDay);
 ContinuousallOfWeekAprill.setMondaySchedule(ContinuousScheduleDay);
 ContinuousallOfWeekAprill.setTuesdaySchedule(ContinuousScheduleDay);
 ContinuousallOfWeekAprill.setWednesdaySchedule(ContinuousScheduleDay);
 ContinuousallOfWeekAprill.setThursdaySchedule(ContinuousScheduleDay);
 ContinuousallOfWeekAprill.setFridaySchedule(ContinuousScheduleDay);

 OpenStudio.ScheduleYear ContinuousScheduleYear = new OpenStudio.ScheduleYear(model);
 ContinuousScheduleYear.setName("ContinuousScheduleYear");
 ContinuousScheduleYear.setScheduleTypeLimits(ContinuousScheduleTypeLimits);
 ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(1), 31), ContinuousallOfWeekAprill);
 ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(2), 28), ContinuousallOfWeekAprill);
 ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(3), 31), ContinuousallOfWeekAprill);
 ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(4), 30), ContinuousallOfWeekAprill);
 ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(5), 31), ContinuousallOfWeekAprill);
 ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(6), 30), ContinuousallOfWeekAprill);
 ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(7), 31), ContinuousallOfWeekAprill);
 ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(8), 31), ContinuousallOfWeekAprill);
 ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(9), 30), ContinuousallOfWeekAprill);
 ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(10), 31), ContinuousallOfWeekAprill);
 ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(11), 30), ContinuousallOfWeekAprill);
 ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(12), 31), ContinuousallOfWeekAprill);



 // Creat Thermal Zone
 OpenStudio.ThermalZone thermalZone = new OpenStudio.ThermalZone(model);


 ////Creat Thermostat
 //OpenStudio.Thermostat thermostat = null;
 //thermostat.setFieldComment(28, "heating_setpoint");
 //thermostat.setFieldComment(25, "cooling_setpoint");

 // Creat System
 OpenStudio.ZoneHVACIdealLoadsAirSystem zoneHVACIdealLoadsAirSystem = new OpenStudio.ZoneHVACIdealLoadsAirSystem(model);
 zoneHVACIdealLoadsAirSystem.setName("IdealSystem");
 zoneHVACIdealLoadsAirSystem.addToThermalZone(thermalZone);
 zoneHVACIdealLoadsAirSystem.setAvailabilitySchedule(DiscreteScheduleYear);
 zoneHVACIdealLoadsAirSystem.setMaximumHeatingSupplyAirTemperature(50);
 zoneHVACIdealLoadsAirSystem.setMinimumCoolingSupplyAirTemperature(13);
 zoneHVACIdealLoadsAirSystem.setMaximumHeatingSupplyAirHumidityRatio(0.0156);
 zoneHVACIdealLoadsAirSystem.setMinimumCoolingSupplyAirHumidityRatio(0.0077);
 zoneHVACIdealLoadsAirSystem.setHeatingLimit("NoLimit");
 //zoneHVACIdealLoadsAirSystem.setMaximumCoolingAirFlowRate();
 //zoneHVACIdealLoadsAirSystem.setMaximumSensibleHeatingCapacity();
 //zoneHVACIdealLoadsAirSystem.setCoolingLimit();
 //zoneHVACIdealLoadsAirSystem.setMaximumCoolingAirFlowRate();
 //zoneHVACIdealLoadsAirSystem.setMaximumTotalCoolingCapacity();
 //zoneHVACIdealLoadsAirSystem.setHeatingAvailabilitySchedule();
 //zoneHVACIdealLoadsAirSystem.setCoolingAvailabilitySchedule();
 //zoneHVACIdealLoadsAirSystem.setDehumidificationControlType();
 zoneHVACIdealLoadsAirSystem.setCoolingSensibleHeatRatio(0.7);

 // Creat Space
 OpenStudio.Space space = new OpenStudio.Space(model);
 space.setName("testspace");
 space.setThermalZone(thermalZone);

 // Creat People Simulation
 OpenStudio.PeopleDefinition peopleDefinition = new OpenStudio.PeopleDefinition(model);
 OpenStudio.People people = new OpenStudio.People(peopleDefinition);

 peopleDefinition.setFractionRadiant(0.3);
 peopleDefinition.setNumberofPeople(10);
 people.setDefinition(peopleDefinition);
 people.setSpace(space);
 people.setActivityLevelSchedule(ContinuousScheduleYear);

 // Creat Lighting Simulation
 OpenStudio.LightsDefinition lightsDefinition = new OpenStudio.LightsDefinition(model);
 OpenStudio.Lights lights = new OpenStudio.Lights(lightsDefinition);

 lightsDefinition.setLightingLevel(50);
 lights.setDefinition(lightsDefinition);
 lights.setSpace(space);
 lights.setSchedule(ContinuousScheduleYear);

 // Creat Infiltration
 OpenStudio.SpaceInfiltrationDesignFlowRate SpaceInfiltrationDesignFlowRate = new OpenStudio.SpaceInfiltrationDesignFlowRate(model);
 SpaceInfiltrationDesignFlowRate.setAirChangesperHour(5);
 SpaceInfiltrationDesignFlowRate.setSpace(space);
 SpaceInfiltrationDesignFlowRate.setSchedule(DiscreteScheduleYear);

 // Creat Electrical Equipment Simulation
 OpenStudio.ElectricEquipmentDefinition electricEquipmentDefinition = new OpenStudio.ElectricEquipmentDefinition(model);
 OpenStudio.ElectricEquipment ElectricEquipment = new OpenStudio.ElectricEquipment(electricEquipmentDefinition);
 electricEquipmentDefinition.setDesignLevel(500);
 ElectricEquipment.setDefinition(electricEquipmentDefinition);
 ElectricEquipment.setSpace(space);
 ElectricEquipment.setSchedule(ContinuousScheduleYear);

 OpenStudio.Point3dVector Point3Ds = new OpenStudio.Point3dVector();
 Point3Ds.Add(new OpenStudio.Point3d(0, 0, 3));
 Point3Ds.Add(new OpenStudio.Point3d(0, 0, 0));
 Point3Ds.Add(new OpenStudio.Point3d(3, 0, 0));
 Point3Ds.Add(new OpenStudio.Point3d(3, 0, 1));

 OpenStudio.Surface wallSurface = new OpenStudio.Surface(Point3Ds, model);
 wallSurface.setName("Wall");
 wallSurface.setSpace(space);
 wallSurface.setSurfaceType("Wall");
 wallSurface.setSunExposure("SunExposed");
 wallSurface.setWindExposure("WindExposed");
 wallSurface.setConstruction(construction);

 OpenStudio.SubSurface windowSubSurface = new OpenStudio.SubSurface(Point3Ds, model);
 windowSubSurface.setName("Window");
 windowSubSurface.setSubSurfaceType("Window");
 windowSubSurface.setSurface(wallSurface);
 windowSubSurface.setConstruction(construction);

 OpenStudio.Surface roofSurface = new OpenStudio.Surface(Point3Ds, model);
 roofSurface.setName("Roof");
 roofSurface.setSpace(space);
 roofSurface.setSurfaceType("Roof");
 roofSurface.setSunExposure("SunExposed");
 roofSurface.setWindExposure("WindExposed");
 roofSurface.setConstruction(construction);

 // Calculation Algorithm
 OpenStudio.InsideSurfaceConvectionAlgorithm insideSurfaceConvectionAlgorithm = model.getInsideSurfaceConvectionAlgorithm();
 insideSurfaceConvectionAlgorithm.setAlgorithm("TRAP");

 OpenStudio.OutsideSurfaceConvectionAlgorithm outsideSurfaceConvectionAlgorithm = model.getOutsideSurfaceConvectionAlgorithm();
 outsideSurfaceConvectionAlgorithm.setAlgorithm("DOE-2");

 OpenStudio.RunPeriod runPeriod = model.getRunPeriod();
 runPeriod.setName("Start");
 runPeriod.setBeginMonth(1);
 runPeriod.setBeginDayOfMonth(1);
 runPeriod.setEndMonth(12);
 runPeriod.setEndDayOfMonth(31);

 OpenStudio.HeatBalanceAlgorithm heatBalanceAlgorithm = model.getHeatBalanceAlgorithm();
 heatBalanceAlgorithm.setAlgorithm("ConductionTransferFunction");
 heatBalanceAlgorithm.setSurfaceTemperatureUpperLimit(200);
 heatBalanceAlgorithm.setMinimumSurfaceConvectionHeatTransferCoefficientValue(0.1);
 heatBalanceAlgorithm.setMaximumSurfaceConvectionHeatTransferCoefficientValue(1000);

 OpenStudio.Timestep timestep = model.getTimestep();
 timestep.setNumberOfTimestepsPerHour(6);

 OpenStudio.SimulationControl simulationControl = model.getSimulationControl();
 simulationControl.setDoZoneSizingCalculation(false);
 simulationControl.setDoSystemSizingCalculation(true);
 simulationControl.setDoPlantSizingCalculation(false);
 simulationControl.setRunSimulationforSizingPeriods(false);
 simulationControl.setRunSimulationforWeatherFileRunPeriods(true);
 simulationControl.setDoHVACSizingSimulationforSizingPeriods(false);
 simulationControl.setMaximumNumberofHVACSizingSimulationPasses(1);

 OpenStudio.Building building = model.getBuilding();
 building.setNorthAxis(0);

 OpenStudio.SiteGroundTemperatureBuildingSurface siteGroundTemperatureBuildingSurface = new OpenStudio.SiteGroundTemperatureBuildingSurface(model);
 siteGroundTemperatureBuildingSurface.setJanuaryGroundTemperature(18);
 siteGroundTemperatureBuildingSurface.setFebruaryGroundTemperature(18);
 siteGroundTemperatureBuildingSurface.setMarchGroundTemperature(18);
 siteGroundTemperatureBuildingSurface.setAprilGroundTemperature(18);
 siteGroundTemperatureBuildingSurface.setMayGroundTemperature(18);
 siteGroundTemperatureBuildingSurface.setJuneGroundTemperature(18);
 siteGroundTemperatureBuildingSurface.setJulyGroundTemperature(18);
 siteGroundTemperatureBuildingSurface.setAugustGroundTemperature(18);
 siteGroundTemperatureBuildingSurface.setSeptemberGroundTemperature(18);
 siteGroundTemperatureBuildingSurface.setOctoberGroundTemperature(18);
 siteGroundTemperatureBuildingSurface.setNovemberGroundTemperature(18);
 siteGroundTemperatureBuildingSurface.setDecemberGroundTemperature(18);

 // Output
 OpenStudio.OutputVariable outputVariable = new OpenStudio.OutputVariable("", model);
 outputVariable.setKeyValue("*");
 outputVariable.setVariableName("");
 outputVariable.setReportingFrequency("");

 path = OpenStudio.OpenStudioUtilitiesCore.toPath("C:\\Users\\Masoud\\Desktop\\test.osm");
 model.save(new OpenStudio.Path(path), true);

Receive cooling and heating as summary and analysis in C #

Hello to all friends I know my question is very simple, but thank you for your help. I created a space with the number of people and electrical equipment and other options, placed the space in the thermal zone, defined an ideal air system for it and was able to generate the output of the osm file. Now, how can I report the cooling and heating loads of the walls,infiltration, lighting, etc. in summary or analysis for different hours for the heating area? In other words, what class can I use to get summary or analytical output?

OpenStudio.Model model = new OpenStudio.Model(); // Weather File OpenStudio.Path path = OpenStudio.OpenStudioUtilitiesCore.toPath("D:\\Pluginet\\Chiral\\Chiral\\WeatherFile\\IRN_Shiraz.408480_ITMY.epw"); OpenStudio.OpenStudioUtilitiesCore.toPath("D:\Pluginet\Chiral\Chiral\WeatherFile\IRN_Shiraz.408480_ITMY.epw"); OpenStudio.WeatherFile.setWeatherFile(model, new OpenStudio.EpwFile(path)); OpenStudio.DesignDay WinterDesignDay = new OpenStudio.DesignDay(model); WinterDesignDay.setMonth(12); WinterDesignDay.setDayOfMonth(21); WinterDesignDay.setDayType("WinterDesignDay"); WinterDesignDay.setMaximumDryBulbTemperature(25); WinterDesignDay.setDailyDryBulbTemperatureRange(25); WinterDesignDay.setBarometricPressure(25); WinterDesignDay.setWindSpeed(250); WinterDesignDay.setWindDirection(20); WinterDesignDay.setSkyClearness(1); WinterDesignDay.setSkyClearness(1);

 OpenStudio.DesignDay SummerDesignDay = new OpenStudio.DesignDay(model);
 SummerDesignDay.setMonth(7);
 SummerDesignDay.setDayOfMonth(21);
 SummerDesignDay.setDayType("SummerDesignDay");
 SummerDesignDay.setMaximumDryBulbTemperature(20);
 SummerDesignDay.setDailyDryBulbTemperatureRange(20);
 SummerDesignDay.setBarometricPressure(25);
 SummerDesignDay.setWindSpeed(250);
 SummerDesignDay.setWindDirection(20);
 SummerDesignDay.setSkyClearness(1);

 // Creat Construction && Material
 OpenStudio.Construction construction = new OpenStudio.Construction(model);

 OpenStudio.StandardOpaqueMaterial material = new OpenStudio.StandardOpaqueMaterial(model);
 material.setName("material");
 material.setThickness(10);
 material.setDensity(1920);
 material.setSpecificHeat(840);
 material.setThermalConductance(8);
 material.setSolarAbsorptance(1);
 construction.insertLayer(0, material);

 // Creat Discrete Schedule
 OpenStudio.ScheduleTypeLimits DiscreteScheduleTypeLimits = new OpenStudio.ScheduleTypeLimits(model);
 DiscreteScheduleTypeLimits.setName("DiscreteScheduleTypeLimits");
 DiscreteScheduleTypeLimits.setUpperLimitValue(1);
 DiscreteScheduleTypeLimits.setLowerLimitValue(0);
 DiscreteScheduleTypeLimits.setNumericType("Discrete");

 OpenStudio.ScheduleDay DiscreteScheduleDay = new OpenStudio.ScheduleDay(model);
 DiscreteScheduleDay.setName("DiscreteScheduleDay");
 DiscreteScheduleDay.setScheduleTypeLimits(DiscreteScheduleTypeLimits);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 0), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 1), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 2), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 3), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 4), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 5), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 6), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 7), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 8), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 9), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 10), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 11), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 12), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 13), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 14), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 15), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 16), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 17), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 18), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 19), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 20), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 21), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 22), 1);
 DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 23), 1);

 OpenStudio.ScheduleWeek DiscreteallOfWeekAprill = new OpenStudio.ScheduleWeek(model);
 DiscreteallOfWeekAprill.setName("DiscreteallOfWeekAprill");
 DiscreteallOfWeekAprill.setSaturdaySchedule(DiscreteScheduleDay);
 DiscreteallOfWeekAprill.setSundaySchedule(DiscreteScheduleDay);
 DiscreteallOfWeekAprill.setMondaySchedule(DiscreteScheduleDay);
 DiscreteallOfWeekAprill.setTuesdaySchedule(DiscreteScheduleDay);
 DiscreteallOfWeekAprill.setWednesdaySchedule(DiscreteScheduleDay);
 DiscreteallOfWeekAprill.setThursdaySchedule(DiscreteScheduleDay);
 DiscreteallOfWeekAprill.setFridaySchedule(DiscreteScheduleDay);

 OpenStudio.ScheduleYear DiscreteScheduleYear = new OpenStudio.ScheduleYear(model);
 DiscreteScheduleYear.setName("DiscreteScheduleYear");
 DiscreteScheduleYear.setScheduleTypeLimits(DiscreteScheduleTypeLimits);
 DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(1), 31), DiscreteallOfWeekAprill);
 DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(2), 28), DiscreteallOfWeekAprill);
 DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(3), 31), DiscreteallOfWeekAprill);
 DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(4), 30), DiscreteallOfWeekAprill);
 DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(5), 31), DiscreteallOfWeekAprill);
 DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(6), 30), DiscreteallOfWeekAprill);
 DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(7), 31), DiscreteallOfWeekAprill);
 DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(8), 31), DiscreteallOfWeekAprill);
 DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(9), 30), DiscreteallOfWeekAprill);
 DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(10), 31), DiscreteallOfWeekAprill);
 DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(11), 30), DiscreteallOfWeekAprill);
 DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(12), 31), DiscreteallOfWeekAprill);

 // Creat Continuous Schedule
 OpenStudio.ScheduleTypeLimits ContinuousScheduleTypeLimits = new OpenStudio.ScheduleTypeLimits(model);
 ContinuousScheduleTypeLimits.setUpperLimitValue(100);
 ContinuousScheduleTypeLimits.setLowerLimitValue(0);
 ContinuousScheduleTypeLimits.setNumericType("Continuous");

 OpenStudio.ScheduleDay ContinuousScheduleDay = new OpenStudio.ScheduleDay(model);
 ContinuousScheduleDay.setName("Schedule");
 ContinuousScheduleDay.setScheduleTypeLimits(ContinuousScheduleTypeLimits);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 0), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 1), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 2), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 3), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 4), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 5), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 6), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 7), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 8), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 9), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 10), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 11), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 12), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 13), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 14), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 15), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 16), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 17), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 18), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 19), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 20), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 21), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 22), 100);
 ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 23), 100);

 OpenStudio.ScheduleWeek ContinuousallOfWeekAprill = new OpenStudio.ScheduleWeek(model);
 ContinuousallOfWeekAprill.setName("ContinuousContinuousallOfWeekAprill");
 ContinuousallOfWeekAprill.setSaturdaySchedule(ContinuousScheduleDay);
 ContinuousallOfWeekAprill.setSundaySchedule(ContinuousScheduleDay);
 ContinuousallOfWeekAprill.setMondaySchedule(ContinuousScheduleDay);
 ContinuousallOfWeekAprill.setTuesdaySchedule(ContinuousScheduleDay);
 ContinuousallOfWeekAprill.setWednesdaySchedule(ContinuousScheduleDay);
 ContinuousallOfWeekAprill.setThursdaySchedule(ContinuousScheduleDay);
 ContinuousallOfWeekAprill.setFridaySchedule(ContinuousScheduleDay);

 OpenStudio.ScheduleYear ContinuousScheduleYear = new OpenStudio.ScheduleYear(model);
 ContinuousScheduleYear.setName("ContinuousScheduleYear");
 ContinuousScheduleYear.setScheduleTypeLimits(ContinuousScheduleTypeLimits);
 ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(1), 31), ContinuousallOfWeekAprill);
 ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(2), 28), ContinuousallOfWeekAprill);
 ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(3), 31), ContinuousallOfWeekAprill);
 ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(4), 30), ContinuousallOfWeekAprill);
 ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(5), 31), ContinuousallOfWeekAprill);
 ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(6), 30), ContinuousallOfWeekAprill);
 ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(7), 31), ContinuousallOfWeekAprill);
 ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(8), 31), ContinuousallOfWeekAprill);
 ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(9), 30), ContinuousallOfWeekAprill);
 ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(10), 31), ContinuousallOfWeekAprill);
 ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(11), 30), ContinuousallOfWeekAprill);
 ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(12), 31), ContinuousallOfWeekAprill);



 // Creat Thermal Zone
 OpenStudio.ThermalZone thermalZone = new OpenStudio.ThermalZone(model);


 ////Creat Thermostat
 //OpenStudio.Thermostat thermostat = null;
 //thermostat.setFieldComment(28, "heating_setpoint");
 //thermostat.setFieldComment(25, "cooling_setpoint");

 // Creat System
 OpenStudio.ZoneHVACIdealLoadsAirSystem zoneHVACIdealLoadsAirSystem = new OpenStudio.ZoneHVACIdealLoadsAirSystem(model);
 zoneHVACIdealLoadsAirSystem.setName("IdealSystem");
 zoneHVACIdealLoadsAirSystem.addToThermalZone(thermalZone);
 zoneHVACIdealLoadsAirSystem.setAvailabilitySchedule(DiscreteScheduleYear);
 zoneHVACIdealLoadsAirSystem.setMaximumHeatingSupplyAirTemperature(50);
 zoneHVACIdealLoadsAirSystem.setMinimumCoolingSupplyAirTemperature(13);
 zoneHVACIdealLoadsAirSystem.setMaximumHeatingSupplyAirHumidityRatio(0.0156);
 zoneHVACIdealLoadsAirSystem.setMinimumCoolingSupplyAirHumidityRatio(0.0077);
 zoneHVACIdealLoadsAirSystem.setHeatingLimit("NoLimit");
 //zoneHVACIdealLoadsAirSystem.setMaximumCoolingAirFlowRate();
 //zoneHVACIdealLoadsAirSystem.setMaximumSensibleHeatingCapacity();
 //zoneHVACIdealLoadsAirSystem.setCoolingLimit();
 //zoneHVACIdealLoadsAirSystem.setMaximumCoolingAirFlowRate();
 //zoneHVACIdealLoadsAirSystem.setMaximumTotalCoolingCapacity();
 //zoneHVACIdealLoadsAirSystem.setHeatingAvailabilitySchedule();
 //zoneHVACIdealLoadsAirSystem.setCoolingAvailabilitySchedule();
 //zoneHVACIdealLoadsAirSystem.setDehumidificationControlType();
 zoneHVACIdealLoadsAirSystem.setCoolingSensibleHeatRatio(0.7);

 // Creat Space
 OpenStudio.Space space = new OpenStudio.Space(model);
 space.setName("testspace");
 space.setThermalZone(thermalZone);

 // Creat People Simulation
 OpenStudio.PeopleDefinition peopleDefinition = new OpenStudio.PeopleDefinition(model);
 OpenStudio.People people = new OpenStudio.People(peopleDefinition);

 peopleDefinition.setFractionRadiant(0.3);
 peopleDefinition.setNumberofPeople(10);
 people.setDefinition(peopleDefinition);
 people.setSpace(space);
 people.setActivityLevelSchedule(ContinuousScheduleYear);

 // Creat Lighting Simulation
 OpenStudio.LightsDefinition lightsDefinition = new OpenStudio.LightsDefinition(model);
 OpenStudio.Lights lights = new OpenStudio.Lights(lightsDefinition);

 lightsDefinition.setLightingLevel(50);
 lights.setDefinition(lightsDefinition);
 lights.setSpace(space);
 lights.setSchedule(ContinuousScheduleYear);

 // Creat Infiltration
 OpenStudio.SpaceInfiltrationDesignFlowRate SpaceInfiltrationDesignFlowRate = new OpenStudio.SpaceInfiltrationDesignFlowRate(model);
 SpaceInfiltrationDesignFlowRate.setAirChangesperHour(5);
 SpaceInfiltrationDesignFlowRate.setSpace(space);
 SpaceInfiltrationDesignFlowRate.setSchedule(DiscreteScheduleYear);

 // Creat Electrical Equipment Simulation
 OpenStudio.ElectricEquipmentDefinition electricEquipmentDefinition = new OpenStudio.ElectricEquipmentDefinition(model);
 OpenStudio.ElectricEquipment ElectricEquipment = new OpenStudio.ElectricEquipment(electricEquipmentDefinition);
 electricEquipmentDefinition.setDesignLevel(500);
 ElectricEquipment.setDefinition(electricEquipmentDefinition);
 ElectricEquipment.setSpace(space);
 ElectricEquipment.setSchedule(ContinuousScheduleYear);

 OpenStudio.Point3dVector Point3Ds = new OpenStudio.Point3dVector();
 Point3Ds.Add(new OpenStudio.Point3d(0, 0, 3));
 Point3Ds.Add(new OpenStudio.Point3d(0, 0, 0));
 Point3Ds.Add(new OpenStudio.Point3d(3, 0, 0));
 Point3Ds.Add(new OpenStudio.Point3d(3, 0, 1));

 OpenStudio.Surface wallSurface = new OpenStudio.Surface(Point3Ds, model);
 wallSurface.setName("Wall");
 wallSurface.setSpace(space);
 wallSurface.setSurfaceType("Wall");
 wallSurface.setSunExposure("SunExposed");
 wallSurface.setWindExposure("WindExposed");
 wallSurface.setConstruction(construction);

 OpenStudio.SubSurface windowSubSurface = new OpenStudio.SubSurface(Point3Ds, model);
 windowSubSurface.setName("Window");
 windowSubSurface.setSubSurfaceType("Window");
 windowSubSurface.setSurface(wallSurface);
 windowSubSurface.setConstruction(construction);

 OpenStudio.Surface roofSurface = new OpenStudio.Surface(Point3Ds, model);
 roofSurface.setName("Roof");
 roofSurface.setSpace(space);
 roofSurface.setSurfaceType("Roof");
 roofSurface.setSunExposure("SunExposed");
 roofSurface.setWindExposure("WindExposed");
 roofSurface.setConstruction(construction);

 // Calculation Algorithm
 OpenStudio.InsideSurfaceConvectionAlgorithm insideSurfaceConvectionAlgorithm = model.getInsideSurfaceConvectionAlgorithm();
 insideSurfaceConvectionAlgorithm.setAlgorithm("TRAP");

 OpenStudio.OutsideSurfaceConvectionAlgorithm outsideSurfaceConvectionAlgorithm = model.getOutsideSurfaceConvectionAlgorithm();
 outsideSurfaceConvectionAlgorithm.setAlgorithm("DOE-2");

 OpenStudio.RunPeriod runPeriod = model.getRunPeriod();
 runPeriod.setName("Start");
 runPeriod.setBeginMonth(1);
 runPeriod.setBeginDayOfMonth(1);
 runPeriod.setEndMonth(12);
 runPeriod.setEndDayOfMonth(31);

 OpenStudio.HeatBalanceAlgorithm heatBalanceAlgorithm = model.getHeatBalanceAlgorithm();
 heatBalanceAlgorithm.setAlgorithm("ConductionTransferFunction");
 heatBalanceAlgorithm.setSurfaceTemperatureUpperLimit(200);
 heatBalanceAlgorithm.setMinimumSurfaceConvectionHeatTransferCoefficientValue(0.1);
 heatBalanceAlgorithm.setMaximumSurfaceConvectionHeatTransferCoefficientValue(1000);

 OpenStudio.Timestep timestep = model.getTimestep();
 timestep.setNumberOfTimestepsPerHour(6);

 OpenStudio.SimulationControl simulationControl = model.getSimulationControl();
 simulationControl.setDoZoneSizingCalculation(false);
 simulationControl.setDoSystemSizingCalculation(true);
 simulationControl.setDoPlantSizingCalculation(false);
 simulationControl.setRunSimulationforSizingPeriods(false);
 simulationControl.setRunSimulationforWeatherFileRunPeriods(true);
 simulationControl.setDoHVACSizingSimulationforSizingPeriods(false);
 simulationControl.setMaximumNumberofHVACSizingSimulationPasses(1);

 OpenStudio.Building building = model.getBuilding();
 building.setNorthAxis(0);

 OpenStudio.SiteGroundTemperatureBuildingSurface siteGroundTemperatureBuildingSurface = new OpenStudio.SiteGroundTemperatureBuildingSurface(model);
 siteGroundTemperatureBuildingSurface.setJanuaryGroundTemperature(18);
 siteGroundTemperatureBuildingSurface.setFebruaryGroundTemperature(18);
 siteGroundTemperatureBuildingSurface.setMarchGroundTemperature(18);
 siteGroundTemperatureBuildingSurface.setAprilGroundTemperature(18);
 siteGroundTemperatureBuildingSurface.setMayGroundTemperature(18);
 siteGroundTemperatureBuildingSurface.setJuneGroundTemperature(18);
 siteGroundTemperatureBuildingSurface.setJulyGroundTemperature(18);
 siteGroundTemperatureBuildingSurface.setAugustGroundTemperature(18);
 siteGroundTemperatureBuildingSurface.setSeptemberGroundTemperature(18);
 siteGroundTemperatureBuildingSurface.setOctoberGroundTemperature(18);
 siteGroundTemperatureBuildingSurface.setNovemberGroundTemperature(18);
 siteGroundTemperatureBuildingSurface.setDecemberGroundTemperature(18);

 // Output
 OpenStudio.OutputVariable outputVariable = new OpenStudio.OutputVariable("", model);
 outputVariable.setKeyValue("*");
 outputVariable.setVariableName("");
 outputVariable.setReportingFrequency("");

 path = OpenStudio.OpenStudioUtilitiesCore.toPath("C:\\Users\\Masoud\\Desktop\\test.osm");
 model.save(new OpenStudio.Path(path), true);

Receive cooling and heating as summary and analysis in C #

Hello to all friends I know my question is very simple, but thank you for your help. I created a space with the number of people and electrical equipment and other options, placed the space in the thermal zone, defined an ideal air system for it and was able to generate the output of the osm file. Now, how can I report the cooling and heating loads of the walls,infiltration, lighting, etc. in summary or analysis for different hours for the heating area? In other words, what class can I use to get summary or analytical output?

 OpenStudio.Model model = new OpenStudio.Model();
         // Weather File
         OpenStudio.Path path = OpenStudio.OpenStudioUtilitiesCore.toPath("D:\Pluginet\Chiral\Chiral\WeatherFile\IRN_Shiraz.408480_ITMY.epw");
    OpenStudio.OpenStudioUtilitiesCore.toPath("D:\\Pluginet\\Chiral\\Chiral\\WeatherFile\\IRN_Shiraz.408480_ITMY.epw");
        OpenStudio.WeatherFile.setWeatherFile(model, new OpenStudio.EpwFile(path));
         OpenStudio.DesignDay WinterDesignDay = new OpenStudio.DesignDay(model);
         WinterDesignDay.setMonth(12);
         WinterDesignDay.setDayOfMonth(21);
         WinterDesignDay.setDayType("WinterDesignDay");
         WinterDesignDay.setMaximumDryBulbTemperature(25);
         WinterDesignDay.setDailyDryBulbTemperatureRange(25);
         WinterDesignDay.setBarometricPressure(25);
         WinterDesignDay.setWindSpeed(250);
         WinterDesignDay.setWindDirection(20);
            WinterDesignDay.setSkyClearness(1);

WinterDesignDay.setSkyClearness(1);

        OpenStudio.DesignDay SummerDesignDay = new OpenStudio.DesignDay(model);
        SummerDesignDay.setMonth(7);
        SummerDesignDay.setDayOfMonth(21);
        SummerDesignDay.setDayType("SummerDesignDay");
        SummerDesignDay.setMaximumDryBulbTemperature(20);
        SummerDesignDay.setDailyDryBulbTemperatureRange(20);
        SummerDesignDay.setBarometricPressure(25);
        SummerDesignDay.setWindSpeed(250);
        SummerDesignDay.setWindDirection(20);
        SummerDesignDay.setSkyClearness(1);

        // Creat Construction && Material
        OpenStudio.Construction construction = new OpenStudio.Construction(model);

        OpenStudio.StandardOpaqueMaterial material = new OpenStudio.StandardOpaqueMaterial(model);
        material.setName("material");
        material.setThickness(10);
        material.setDensity(1920);
        material.setSpecificHeat(840);
        material.setThermalConductance(8);
        material.setSolarAbsorptance(1);
        construction.insertLayer(0, material);

        // Creat Discrete Schedule
        OpenStudio.ScheduleTypeLimits DiscreteScheduleTypeLimits = new OpenStudio.ScheduleTypeLimits(model);
        DiscreteScheduleTypeLimits.setName("DiscreteScheduleTypeLimits");
        DiscreteScheduleTypeLimits.setUpperLimitValue(1);
        DiscreteScheduleTypeLimits.setLowerLimitValue(0);
        DiscreteScheduleTypeLimits.setNumericType("Discrete");

        OpenStudio.ScheduleDay DiscreteScheduleDay = new OpenStudio.ScheduleDay(model);
        DiscreteScheduleDay.setName("DiscreteScheduleDay");
        DiscreteScheduleDay.setScheduleTypeLimits(DiscreteScheduleTypeLimits);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 0), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 1), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 2), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 3), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 4), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 5), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 6), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 7), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 8), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 9), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 10), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 11), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 12), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 13), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 14), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 15), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 16), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 17), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 18), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 19), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 20), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 21), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 22), 1);
        DiscreteScheduleDay.addValue(new OpenStudio.Time(0, 23), 1);

        OpenStudio.ScheduleWeek DiscreteallOfWeekAprill = new OpenStudio.ScheduleWeek(model);
        DiscreteallOfWeekAprill.setName("DiscreteallOfWeekAprill");
        DiscreteallOfWeekAprill.setSaturdaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setSundaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setMondaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setTuesdaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setWednesdaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setThursdaySchedule(DiscreteScheduleDay);
        DiscreteallOfWeekAprill.setFridaySchedule(DiscreteScheduleDay);

        OpenStudio.ScheduleYear DiscreteScheduleYear = new OpenStudio.ScheduleYear(model);
        DiscreteScheduleYear.setName("DiscreteScheduleYear");
        DiscreteScheduleYear.setScheduleTypeLimits(DiscreteScheduleTypeLimits);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(1), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(2), 28), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(3), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(4), 30), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(5), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(6), 30), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(7), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(8), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(9), 30), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(10), 31), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(11), 30), DiscreteallOfWeekAprill);
        DiscreteScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(12), 31), DiscreteallOfWeekAprill);

        // Creat Continuous Schedule
        OpenStudio.ScheduleTypeLimits ContinuousScheduleTypeLimits = new OpenStudio.ScheduleTypeLimits(model);
        ContinuousScheduleTypeLimits.setUpperLimitValue(100);
        ContinuousScheduleTypeLimits.setLowerLimitValue(0);
        ContinuousScheduleTypeLimits.setNumericType("Continuous");

        OpenStudio.ScheduleDay ContinuousScheduleDay = new OpenStudio.ScheduleDay(model);
        ContinuousScheduleDay.setName("Schedule");
        ContinuousScheduleDay.setScheduleTypeLimits(ContinuousScheduleTypeLimits);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 0), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 1), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 2), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 3), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 4), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 5), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 6), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 7), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 8), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 9), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 10), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 11), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 12), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 13), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 14), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 15), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 16), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 17), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 18), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 19), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 20), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 21), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 22), 100);
        ContinuousScheduleDay.addValue(new OpenStudio.Time(0, 23), 100);

        OpenStudio.ScheduleWeek ContinuousallOfWeekAprill = new OpenStudio.ScheduleWeek(model);
        ContinuousallOfWeekAprill.setName("ContinuousContinuousallOfWeekAprill");
        ContinuousallOfWeekAprill.setSaturdaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setSundaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setMondaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setTuesdaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setWednesdaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setThursdaySchedule(ContinuousScheduleDay);
        ContinuousallOfWeekAprill.setFridaySchedule(ContinuousScheduleDay);

        OpenStudio.ScheduleYear ContinuousScheduleYear = new OpenStudio.ScheduleYear(model);
        ContinuousScheduleYear.setName("ContinuousScheduleYear");
        ContinuousScheduleYear.setScheduleTypeLimits(ContinuousScheduleTypeLimits);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(1), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(2), 28), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(3), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(4), 30), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(5), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(6), 30), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(7), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(8), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(9), 30), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(10), 31), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(11), 30), ContinuousallOfWeekAprill);
        ContinuousScheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(12), 31), ContinuousallOfWeekAprill);



        // Creat Thermal Zone
        OpenStudio.ThermalZone thermalZone = new OpenStudio.ThermalZone(model);


        ////Creat Thermostat
        //OpenStudio.Thermostat thermostat = null;
        //thermostat.setFieldComment(28, "heating_setpoint");
        //thermostat.setFieldComment(25, "cooling_setpoint");

        // Creat System
        OpenStudio.ZoneHVACIdealLoadsAirSystem zoneHVACIdealLoadsAirSystem = new OpenStudio.ZoneHVACIdealLoadsAirSystem(model);
        zoneHVACIdealLoadsAirSystem.setName("IdealSystem");
        zoneHVACIdealLoadsAirSystem.addToThermalZone(thermalZone);
        zoneHVACIdealLoadsAirSystem.setAvailabilitySchedule(DiscreteScheduleYear);
        zoneHVACIdealLoadsAirSystem.setMaximumHeatingSupplyAirTemperature(50);
        zoneHVACIdealLoadsAirSystem.setMinimumCoolingSupplyAirTemperature(13);
        zoneHVACIdealLoadsAirSystem.setMaximumHeatingSupplyAirHumidityRatio(0.0156);
        zoneHVACIdealLoadsAirSystem.setMinimumCoolingSupplyAirHumidityRatio(0.0077);
        zoneHVACIdealLoadsAirSystem.setHeatingLimit("NoLimit");
        //zoneHVACIdealLoadsAirSystem.setMaximumCoolingAirFlowRate();
        //zoneHVACIdealLoadsAirSystem.setMaximumSensibleHeatingCapacity();
        //zoneHVACIdealLoadsAirSystem.setCoolingLimit();
        //zoneHVACIdealLoadsAirSystem.setMaximumCoolingAirFlowRate();
        //zoneHVACIdealLoadsAirSystem.setMaximumTotalCoolingCapacity();
        //zoneHVACIdealLoadsAirSystem.setHeatingAvailabilitySchedule();
        //zoneHVACIdealLoadsAirSystem.setCoolingAvailabilitySchedule();
        //zoneHVACIdealLoadsAirSystem.setDehumidificationControlType();
        zoneHVACIdealLoadsAirSystem.setCoolingSensibleHeatRatio(0.7);

        // Creat Space
        OpenStudio.Space space = new OpenStudio.Space(model);
        space.setName("testspace");
        space.setThermalZone(thermalZone);

        // Creat People Simulation
        OpenStudio.PeopleDefinition peopleDefinition = new OpenStudio.PeopleDefinition(model);
        OpenStudio.People people = new OpenStudio.People(peopleDefinition);

        peopleDefinition.setFractionRadiant(0.3);
        peopleDefinition.setNumberofPeople(10);
        people.setDefinition(peopleDefinition);
        people.setSpace(space);
        people.setActivityLevelSchedule(ContinuousScheduleYear);

        // Creat Lighting Simulation
        OpenStudio.LightsDefinition lightsDefinition = new OpenStudio.LightsDefinition(model);
        OpenStudio.Lights lights = new OpenStudio.Lights(lightsDefinition);

        lightsDefinition.setLightingLevel(50);
        lights.setDefinition(lightsDefinition);
        lights.setSpace(space);
        lights.setSchedule(ContinuousScheduleYear);

        // Creat Infiltration
        OpenStudio.SpaceInfiltrationDesignFlowRate SpaceInfiltrationDesignFlowRate = new OpenStudio.SpaceInfiltrationDesignFlowRate(model);
        SpaceInfiltrationDesignFlowRate.setAirChangesperHour(5);
        SpaceInfiltrationDesignFlowRate.setSpace(space);
        SpaceInfiltrationDesignFlowRate.setSchedule(DiscreteScheduleYear);

        // Creat Electrical Equipment Simulation
        OpenStudio.ElectricEquipmentDefinition electricEquipmentDefinition = new OpenStudio.ElectricEquipmentDefinition(model);
        OpenStudio.ElectricEquipment ElectricEquipment = new OpenStudio.ElectricEquipment(electricEquipmentDefinition);
        electricEquipmentDefinition.setDesignLevel(500);
        ElectricEquipment.setDefinition(electricEquipmentDefinition);
        ElectricEquipment.setSpace(space);
        ElectricEquipment.setSchedule(ContinuousScheduleYear);

        OpenStudio.Point3dVector Point3Ds = new OpenStudio.Point3dVector();
        Point3Ds.Add(new OpenStudio.Point3d(0, 0, 3));
        Point3Ds.Add(new OpenStudio.Point3d(0, 0, 0));
        Point3Ds.Add(new OpenStudio.Point3d(3, 0, 0));
        Point3Ds.Add(new OpenStudio.Point3d(3, 0, 1));

        OpenStudio.Surface wallSurface = new OpenStudio.Surface(Point3Ds, model);
        wallSurface.setName("Wall");
        wallSurface.setSpace(space);
        wallSurface.setSurfaceType("Wall");
        wallSurface.setSunExposure("SunExposed");
        wallSurface.setWindExposure("WindExposed");
        wallSurface.setConstruction(construction);

        OpenStudio.SubSurface windowSubSurface = new OpenStudio.SubSurface(Point3Ds, model);
        windowSubSurface.setName("Window");
        windowSubSurface.setSubSurfaceType("Window");
        windowSubSurface.setSurface(wallSurface);
        windowSubSurface.setConstruction(construction);

        OpenStudio.Surface roofSurface = new OpenStudio.Surface(Point3Ds, model);
        roofSurface.setName("Roof");
        roofSurface.setSpace(space);
        roofSurface.setSurfaceType("Roof");
        roofSurface.setSunExposure("SunExposed");
        roofSurface.setWindExposure("WindExposed");
        roofSurface.setConstruction(construction);

        // Calculation Algorithm
        OpenStudio.InsideSurfaceConvectionAlgorithm insideSurfaceConvectionAlgorithm = model.getInsideSurfaceConvectionAlgorithm();
        insideSurfaceConvectionAlgorithm.setAlgorithm("TRAP");

        OpenStudio.OutsideSurfaceConvectionAlgorithm outsideSurfaceConvectionAlgorithm = model.getOutsideSurfaceConvectionAlgorithm();
        outsideSurfaceConvectionAlgorithm.setAlgorithm("DOE-2");

        OpenStudio.RunPeriod runPeriod = model.getRunPeriod();
        runPeriod.setName("Start");
        runPeriod.setBeginMonth(1);
        runPeriod.setBeginDayOfMonth(1);
        runPeriod.setEndMonth(12);
        runPeriod.setEndDayOfMonth(31);

        OpenStudio.HeatBalanceAlgorithm heatBalanceAlgorithm = model.getHeatBalanceAlgorithm();
        heatBalanceAlgorithm.setAlgorithm("ConductionTransferFunction");
        heatBalanceAlgorithm.setSurfaceTemperatureUpperLimit(200);
        heatBalanceAlgorithm.setMinimumSurfaceConvectionHeatTransferCoefficientValue(0.1);
        heatBalanceAlgorithm.setMaximumSurfaceConvectionHeatTransferCoefficientValue(1000);

        OpenStudio.Timestep timestep = model.getTimestep();
        timestep.setNumberOfTimestepsPerHour(6);

        OpenStudio.SimulationControl simulationControl = model.getSimulationControl();
        simulationControl.setDoZoneSizingCalculation(false);
        simulationControl.setDoSystemSizingCalculation(true);
        simulationControl.setDoPlantSizingCalculation(false);
        simulationControl.setRunSimulationforSizingPeriods(false);
        simulationControl.setRunSimulationforWeatherFileRunPeriods(true);
        simulationControl.setDoHVACSizingSimulationforSizingPeriods(false);
        simulationControl.setMaximumNumberofHVACSizingSimulationPasses(1);

        OpenStudio.Building building = model.getBuilding();
        building.setNorthAxis(0);

        OpenStudio.SiteGroundTemperatureBuildingSurface siteGroundTemperatureBuildingSurface = new OpenStudio.SiteGroundTemperatureBuildingSurface(model);
        siteGroundTemperatureBuildingSurface.setJanuaryGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setFebruaryGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setMarchGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setAprilGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setMayGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setJuneGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setJulyGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setAugustGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setSeptemberGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setOctoberGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setNovemberGroundTemperature(18);
        siteGroundTemperatureBuildingSurface.setDecemberGroundTemperature(18);

        // Output
        OpenStudio.OutputVariable outputVariable = new OpenStudio.OutputVariable("", model);
        outputVariable.setKeyValue("*");
        outputVariable.setVariableName("");
        outputVariable.setReportingFrequency("");

        path = OpenStudio.OpenStudioUtilitiesCore.toPath("C:\\Users\\Masoud\\Desktop\\test.osm");
        model.save(new OpenStudio.Path(path), true);