Revision history [back]
Calculation of cooling and heating loads, people, walls, windows, .... for spaces separately
Hello I had a question about calculating a separate load for each defined space, for example, I have a wall and ceiling space with internal loads such as people, lighting and electrical equipment, I also created a schedule similar to HAP software, I want to calculate a separate load for all internal loads And get walls, ceilings, windows, etc. for each space separately. For example, 2000 BTU wall load per hour for cooling and heating, as well as for people, electrical equipment, windows, etc. Thank you for your help. And my other question is, is the defined schedule type correct?
OpenStudio.Model model = new OpenStudio.Model();
// Creat Schedule like Hap Software Schedule
OpenStudio.ScheduleTypeLimits scheduleTypeLimits = new OpenStudio.ScheduleTypeLimits(model);
scheduleTypeLimits.setUpperLimitValue(100);
scheduleTypeLimits.setLowerLimitValue(0);
scheduleTypeLimits.setNumericType("Continuous");
OpenStudio.ScheduleDay scheduleDay = new OpenStudio.ScheduleDay(model);
scheduleDay.setName("Schedule");
scheduleDay.setScheduleTypeLimits(scheduleTypeLimits);
scheduleDay.addValue(new OpenStudio.Time(0, 0), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 1), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 2), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 3), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 4), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 5), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 6), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 7), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 8), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 9), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 10), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 11), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 12), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 13), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 14), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 15), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 16), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 17), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 18), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 19), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 20), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 21), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 22), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 23), 100);
OpenStudio.ScheduleWeek allOfWeekAprill = new OpenStudio.ScheduleWeek(model);
allOfWeekAprill.setName("WeeklySchedule");
allOfWeekAprill.setSaturdaySchedule(scheduleDay);
allOfWeekAprill.setSundaySchedule(scheduleDay);
allOfWeekAprill.setMondaySchedule(scheduleDay);
allOfWeekAprill.setTuesdaySchedule(scheduleDay);
allOfWeekAprill.setWednesdaySchedule(scheduleDay);
allOfWeekAprill.setThursdaySchedule(scheduleDay);
allOfWeekAprill.setFridaySchedule(scheduleDay);
OpenStudio.ScheduleYear scheduleYear = new OpenStudio.ScheduleYear(model);
scheduleYear.setName("ScheduleYear");
scheduleYear.setScheduleTypeLimits(scheduleTypeLimits);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(0), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(1), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(2), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(3), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(4), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(5), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(6), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(7), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(8), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(9), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(10), 31),
allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(11), 31),
allOfWeekAprill);
// 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(5);
material.setSpecificHeat(20);
material.setConductivity(50);
material.setSolarAbsorptance(1);
construction.insertLayer(0, material);
// Creat Space
OpenStudio.Space space = new OpenStudio.Space(model);
// 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(scheduleYear);
// 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(scheduleYear);
// Creat Electrical Equipment Simulation
OpenStudio.ElectricEquipmentDefinition electricEquipmentDefinition = new
OpenStudio.ElectricEquipmentDefinition(model);
OpenStudio.ElectricEquipment ElectricEquipment = new
OpenStudio.ElectricEquipment(electricEquipmentDefinition);
electricEquipmentDefinition.setDesignLevel(5);
ElectricEquipment.setDefinition(electricEquipmentDefinition);
ElectricEquipment.setSpace(space);
ElectricEquipment.setSchedule(scheduleYear);
OpenStudio.Point3dVector Point3Ds = new OpenStudio.Point3dVector();
Point3Ds.Add(new OpenStudio.Point3d(0, 0, 1));
Point3Ds.Add(new OpenStudio.Point3d(0, 0, 0));
Point3Ds.Add(new OpenStudio.Point3d(1, 0, 0));
Point3Ds.Add(new OpenStudio.Point3d(1, 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 of cooling and heating loads, people, walls, windows, .... calculating a separate load for spaces separatelyeach defined space,
Hello I had a question about calculating a separate load for each defined space, for example, I have a wall and ceiling space with internal loads such as people, lighting and electrical equipment, I also created a schedule similar to HAP software, I want to calculate a separate load for all internal loads And get walls, ceilings, windows, etc. for each space separately. For example, 2000 BTU wall load per hour for cooling and heating, as well as for people, electrical equipment, windows, etc. Thank you for your help. And my other question is, is the defined schedule timing type correct?
OpenStudio.Model model = new OpenStudio.Model();
// Creat Schedule like Hap Software Schedule
OpenStudio.ScheduleTypeLimits scheduleTypeLimits = new OpenStudio.ScheduleTypeLimits(model);
scheduleTypeLimits.setUpperLimitValue(100);
scheduleTypeLimits.setLowerLimitValue(0);
scheduleTypeLimits.setNumericType("Continuous");
OpenStudio.ScheduleDay scheduleDay = new OpenStudio.ScheduleDay(model);
scheduleDay.setName("Schedule");
scheduleDay.setScheduleTypeLimits(scheduleTypeLimits);
scheduleDay.addValue(new OpenStudio.Time(0, 0), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 1), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 2), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 3), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 4), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 5), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 6), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 7), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 8), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 9), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 10), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 11), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 12), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 13), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 14), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 15), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 16), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 17), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 18), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 19), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 20), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 21), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 22), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 23), 100);
OpenStudio.ScheduleWeek allOfWeekAprill = new OpenStudio.ScheduleWeek(model);
allOfWeekAprill.setName("WeeklySchedule");
allOfWeekAprill.setSaturdaySchedule(scheduleDay);
allOfWeekAprill.setSundaySchedule(scheduleDay);
allOfWeekAprill.setMondaySchedule(scheduleDay);
allOfWeekAprill.setTuesdaySchedule(scheduleDay);
allOfWeekAprill.setWednesdaySchedule(scheduleDay);
allOfWeekAprill.setThursdaySchedule(scheduleDay);
allOfWeekAprill.setFridaySchedule(scheduleDay);
OpenStudio.ScheduleYear scheduleYear = new OpenStudio.ScheduleYear(model);
scheduleYear.setName("ScheduleYear");
scheduleYear.setScheduleTypeLimits(scheduleTypeLimits);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(0), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(1), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(2), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(3), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(4), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(5), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(6), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(7), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(8), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(9), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(10), 31),
allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(11), 31),
allOfWeekAprill);
// 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(5);
material.setSpecificHeat(20);
material.setConductivity(50);
material.setSolarAbsorptance(1);
construction.insertLayer(0, material);
// Creat Space
OpenStudio.Space space = new OpenStudio.Space(model);
// 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(scheduleYear);
// 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(scheduleYear);
// Creat Electrical Equipment Simulation
OpenStudio.ElectricEquipmentDefinition electricEquipmentDefinition = new
OpenStudio.ElectricEquipmentDefinition(model);
OpenStudio.ElectricEquipment ElectricEquipment = new
OpenStudio.ElectricEquipment(electricEquipmentDefinition);
electricEquipmentDefinition.setDesignLevel(5);
ElectricEquipment.setDefinition(electricEquipmentDefinition);
ElectricEquipment.setSpace(space);
ElectricEquipment.setSchedule(scheduleYear);
OpenStudio.Point3dVector Point3Ds = new OpenStudio.Point3dVector();
Point3Ds.Add(new OpenStudio.Point3d(0, 0, 1));
Point3Ds.Add(new OpenStudio.Point3d(0, 0, 0));
Point3Ds.Add(new OpenStudio.Point3d(1, 0, 0));
Point3Ds.Add(new OpenStudio.Point3d(1, 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);
calculating a separate load for each defined space,
Hello I had a question about calculating a separate load for each defined space, for example, I have a wall and ceiling space with internal loads such as people, lighting and electrical equipment, I also created a schedule similar to HAP software, I want to calculate a separate load for all internal loads And get walls, ceilings, windows, etc. for each space separately. For example, 2000 BTU wall load per hour for cooling and heating, as well as for people, electrical equipment, windows, etc. Thank you for your help. And my other question is, is the defined timing type correct?
OpenStudio.Model model = new OpenStudio.Model();
// Creat Schedule like Hap Software Schedule
OpenStudio.ScheduleTypeLimits scheduleTypeLimits = new OpenStudio.ScheduleTypeLimits(model);
scheduleTypeLimits.setUpperLimitValue(100);
scheduleTypeLimits.setLowerLimitValue(0);
scheduleTypeLimits.setNumericType("Continuous");
OpenStudio.ScheduleDay scheduleDay = new OpenStudio.ScheduleDay(model);
scheduleDay.setName("Schedule");
scheduleDay.setScheduleTypeLimits(scheduleTypeLimits);
scheduleDay.addValue(new OpenStudio.Time(0, 0), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 1), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 2), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 3), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 4), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 5), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 6), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 7), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 8), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 9), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 10), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 11), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 12), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 13), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 14), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 15), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 16), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 17), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 18), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 19), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 20), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 21), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 22), 100);
scheduleDay.addValue(new OpenStudio.Time(0, 23), 100);
OpenStudio.ScheduleWeek allOfWeekAprill = new OpenStudio.ScheduleWeek(model);
allOfWeekAprill.setName("WeeklySchedule");
allOfWeekAprill.setSaturdaySchedule(scheduleDay);
allOfWeekAprill.setSundaySchedule(scheduleDay);
allOfWeekAprill.setMondaySchedule(scheduleDay);
allOfWeekAprill.setTuesdaySchedule(scheduleDay);
allOfWeekAprill.setWednesdaySchedule(scheduleDay);
allOfWeekAprill.setThursdaySchedule(scheduleDay);
allOfWeekAprill.setFridaySchedule(scheduleDay);
OpenStudio.ScheduleYear scheduleYear = new OpenStudio.ScheduleYear(model);
scheduleYear.setName("ScheduleYear");
scheduleYear.setScheduleTypeLimits(scheduleTypeLimits);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(0), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(1), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(2), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(3), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(4), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(5), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(6), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(7), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(8), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(9), 31), allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(10), 31),
allOfWeekAprill);
scheduleYear.addScheduleWeek(new OpenStudio.Date(new OpenStudio.MonthOfYear(11), 31),
allOfWeekAprill);
// 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(5);
material.setSpecificHeat(20);
material.setConductivity(50);
material.setSolarAbsorptance(1);
construction.insertLayer(0, material);
// Creat Space
OpenStudio.Space space = new OpenStudio.Space(model);
// 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(scheduleYear);
// 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(scheduleYear);
// Creat Electrical Equipment Simulation
OpenStudio.ElectricEquipmentDefinition electricEquipmentDefinition = new
OpenStudio.ElectricEquipmentDefinition(model);
OpenStudio.ElectricEquipment ElectricEquipment = new
OpenStudio.ElectricEquipment(electricEquipmentDefinition);
electricEquipmentDefinition.setDesignLevel(5);
ElectricEquipment.setDefinition(electricEquipmentDefinition);
ElectricEquipment.setSpace(space);
ElectricEquipment.setSchedule(scheduleYear);
OpenStudio.Point3dVector Point3Ds = new OpenStudio.Point3dVector();
Point3Ds.Add(new OpenStudio.Point3d(0, 0, 1));
Point3Ds.Add(new OpenStudio.Point3d(0, 0, 0));
Point3Ds.Add(new OpenStudio.Point3d(1, 0, 0));
Point3Ds.Add(new OpenStudio.Point3d(1, 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);