public static global::OpenStudio.ElectricEquipment ToOSMEquipmentGain(this BH.oM.Environment.SpaceCriteria.Equipment equipGain, global::OpenStudio.Model modelReference, global::OpenStudio.Space space) { // TODO: remove static instance below for input of profile object instead! global::OpenStudio.ScheduleConstant equipmentSchedule = ToOSMScheduleConstantsAlwaysOn(modelReference); ElectricEquipmentDefinition EquipmentDefinition = new ElectricEquipmentDefinition(modelReference); EquipmentDefinition.setDesignLevel(equipGain.Sensible); // TODO: Include additional methods to calculate equipment load here based on alternative metrics ElectricEquipment equipmentGain = new ElectricEquipment(EquipmentDefinition); equipmentGain.setSpace(space); equipmentGain.setSchedule(equipmentSchedule); return(equipmentGain); }
public static global::OpenStudio.Lights ToOSMLightingGain(this BH.oM.Environment.SpaceCriteria.Lighting lightGain, global::OpenStudio.Model modelReference, global::OpenStudio.Space space) { // TODO: remove static instance below for input of profile object instead! global::OpenStudio.ScheduleConstant lightingSchedule = ToOSMScheduleConstantsAlwaysOn(modelReference); LightsDefinition LightsDefinition = new LightsDefinition(modelReference); LightsDefinition.setLightingLevel(lightGain.Sensible); // TODO: Include additional methods to calculate lighting load here based on alternative metrics Lights lightingGain = new Lights(LightsDefinition); lightingGain.setSpace(space); lightingGain.setSchedule(lightingSchedule); return(lightingGain); }
//[Description("BH.Engine.EnergyPlus.Convert ToOSM => gets Internal gains from BH.oM.Environment.Elements.InternalGain")] //[Input("InternalGain", "BHoM InternalGain")] //[Output("EnergyPlus InternalGain")] public static global::OpenStudio.People ToOSMPeopleGain(this BH.oM.Environment.SpaceCriteria.People peopleGain, global::OpenStudio.Model modelReference, global::OpenStudio.Space space) { // TODO: remove static instance below for input of profile object instead! global::OpenStudio.ScheduleConstant activitySchedule = ToOSMScheduleConstantActivity(modelReference); global::OpenStudio.ScheduleConstant occupancySchedule = ToOSMScheduleConstantsAlwaysOn(modelReference); PeopleDefinition PeopleDefinition = new PeopleDefinition(modelReference); // TODO:Check the method being used to define the number of poeple within the space PeopleDefinition.setPeopleperSpaceFloorArea(peopleGain.Sensible); global::OpenStudio.People osPeopleGain = new global::OpenStudio.People(PeopleDefinition); osPeopleGain.setNumberofPeopleSchedule(occupancySchedule); osPeopleGain.setActivityLevelSchedule(activitySchedule); osPeopleGain.setSpace(space); return(osPeopleGain); }