├── .github
├── ISSUE_TEMPLATE
│ └── bug_report.md
└── pull_request_template.md
├── .gitignore
├── GrasshopperExamples
├── FeatureDescription
│ └── Solar
│ │ ├── Hive_PhotovoltaicEnergySystem.gh
│ │ ├── Hive_PhotovoltaicTimeResolvedEnergySystem.gh
│ │ ├── Hive_SolarOrientationFactor.gh
│ │ ├── Hive_SolarPerformanceRatioReader.gh
│ │ ├── Hive_SolarPotentialsUnobstructed.gh
│ │ ├── Hive_SolarThermalEnergySystem.gh
│ │ ├── Hive_SolarThermalTimeResolvedEnergySystem.gh
│ │ └── Hive_SummarizePVElectricity Yield.gh
├── Templates
│ ├── GhPython_HeatingDemand.gh
│ ├── HIVE_Geneva.epw
│ ├── HIVE_Helsinki.epw
│ ├── HIVE_Zurich.epw
│ ├── Hive_FullTemplate.gh
│ ├── Hive_FullTemplate_Parametric.gh
│ ├── Hive_Solar_Unobstructed.gh
│ ├── Hive_TreePrototype.gh
│ └── README.md
└── Testing
│ ├── Core_Conversion_Emitter.gh
│ ├── Core_DemandHourly.gh
│ ├── Hive_BuildingGeometries.gh
│ ├── Hive_EnvironmentAndEpwReader.gh
│ ├── Hive_Form_Building.gh
│ ├── Hive_Form_EnergySystems.gh
│ ├── Hive_MainDistributor.gh
│ ├── Hive_ParametricInputs.gh
│ ├── Hive_Results.gh
│ ├── README.md
│ ├── Solar_Unobstructed_HiveCore.gh
│ └── Tree_Feature
│ ├── Hive_FullTemplate_with_tree_feature.gh
│ ├── tree_schedules.csv
│ └── tree_schedules.json
├── LICENSE
├── README.md
├── docs
├── Makefile
├── Untitled Diagram.drawio
├── conf.py
├── development-environment.rst
├── energysystems.gv
├── energysystems.pdf
├── index.rst
└── make.bat
├── repository_files
├── 00_Hive_Architecture.jpg
├── HiveIOGUI.png
└── Hive_Logo_medium.jpg
├── setup
├── GHSolar.gha
├── Hive.ProvingGround.Conduit.gha
├── ProvingGround.Conduit.gha
├── README.md
├── Setup_Hive.exe
├── SolarModel.dll
├── build.cmd
├── hive.nsi
└── requirements.txt
├── src
├── Graphics
│ ├── Illustrator
│ │ ├── Hiveicons.ai
│ │ └── schneeflocken.png
│ ├── PNG
│ │ ├── IOCore_DistConduit.png
│ │ ├── IOCore_DistEmitter.png
│ │ ├── IOCore_DistSIAroom.png
│ │ ├── IOCore_DistSolarsim.png
│ │ ├── IOCore_Distconvtech.png
│ │ ├── IOCore_Distenv.png
│ │ ├── IOCore_Distsolartech.png
│ │ ├── IOCore_Merger_Gasboiler.png
│ │ ├── IOCore_Mergerchiller.png
│ │ ├── IOCore_Mergercombinedheatpower.png
│ │ ├── IOCore_Mergercoolingexchanger.png
│ │ ├── IOCore_Mergerelectricalstation.png
│ │ ├── IOCore_Mergerheatpump.png
│ │ ├── IOCore_Mergersolartech.png
│ │ ├── IO_Building.png
│ │ ├── IO_CoreDistributor.png
│ │ ├── IO_CoreMerger.png
│ │ ├── IO_Energysytems.png
│ │ ├── IO_Environment.png
│ │ ├── IO_Para_InputSIAroom.png
│ │ ├── IO_Para_InputSolarTech.png
│ │ ├── IO_Para_Inputen.png
│ │ ├── IO_Para_Inputenergyemitter.png
│ │ ├── IO_Para_Inputenvpot.png
│ │ ├── demand_ListBuildingtype_ex.png
│ │ ├── demand_ListBuildingtype_ideal.png
│ │ ├── demand_ListBuildingtype_standard.png
│ │ ├── demand_SIAroomcreater.png
│ │ ├── demand_SIAroomreader.png
│ │ ├── demand_adaptivecomfort.png
│ │ ├── demand_energydemand.png
│ │ ├── energysystems_boiler.png
│ │ ├── energysystems_boiler_timeresult.png
│ │ ├── energysystems_chiller.png
│ │ ├── energysystems_chiller_timeresult.png
│ │ ├── energysystems_combined.png
│ │ ├── energysystems_combined_timeresult.png
│ │ ├── energysystems_heatpump_COP.png
│ │ ├── energysystems_heatpump_airsource.png
│ │ ├── energysystems_heatpump_airsource_timeresult.png
│ │ ├── epw_reader.png
│ │ ├── solar_AverageTimeSeries.png
│ │ ├── solar_ListPerformanceRatio.png
│ │ ├── solar_OrientationFactor.png
│ │ ├── solar_PV.png
│ │ ├── solar_PVtimeresult.png
│ │ ├── solar_PerformanceRatio.png
│ │ ├── solar_Solarthermaltimeresult.png
│ │ ├── solar_SumTimeSeries.png
│ │ ├── solar_potentialsunobs.png
│ │ └── solar_solarthermal.png
│ └── __MACOSX
│ │ ├── Illustrator
│ │ ├── ._Hiveicons.ai
│ │ └── ._schneeflocken.png
│ │ └── PNG
│ │ ├── ._IOCore_DistSIAroom.png
│ │ ├── ._IOCore_DistSolarsim.png
│ │ ├── ._IOCore_Distconvtech.png
│ │ ├── ._IOCore_Distenv.png
│ │ ├── ._IOCore_Distsolartech.png
│ │ ├── ._IOCore_Merger_Gasboiler.png
│ │ ├── ._IOCore_Mergerchiller.png
│ │ ├── ._IOCore_Mergercombinedheatpower.png
│ │ ├── ._IOCore_Mergercoolingexchanger.png
│ │ ├── ._IOCore_Mergerelectricalstation.png
│ │ ├── ._IOCore_Mergerheatpump.png
│ │ ├── ._IOCore_Mergersolartech.png
│ │ ├── ._IO_Building.png
│ │ ├── ._IO_CoreDistributor.png
│ │ ├── ._IO_CoreMerger.png
│ │ ├── ._IO_Energysytems.png
│ │ ├── ._IO_Environment.png
│ │ ├── ._IO_Para_InputSIAroom.png
│ │ ├── ._IO_Para_InputSolarTech.png
│ │ ├── ._IO_Para_Inputen.png
│ │ ├── ._IO_Para_Inputenergyemitter.png
│ │ ├── ._IO_Para_Inputenvpot.png
│ │ ├── ._demand_ListBuildingtype_ex.png
│ │ ├── ._demand_ListBuildingtype_ideal.png
│ │ ├── ._demand_ListBuildingtype_standard.png
│ │ ├── ._demand_SIAroomcreater.png
│ │ ├── ._demand_SIAroomreader.png
│ │ ├── ._demand_adaptivecomfort.png
│ │ ├── ._demand_energydemand.png
│ │ ├── ._energysystems_boiler.png
│ │ ├── ._energysystems_boiler_timeresult.png
│ │ ├── ._energysystems_chiller.png
│ │ ├── ._energysystems_chiller_timeresult.png
│ │ ├── ._energysystems_combined.png
│ │ ├── ._energysystems_combined_timeresult.png
│ │ ├── ._energysystems_heatpump_COP.png
│ │ ├── ._energysystems_heatpump_airsource.png
│ │ ├── ._energysystems_heatpump_airsource_timeresult.png
│ │ ├── ._epw_reader.png
│ │ ├── ._solar_AverageTimeSeries.png
│ │ ├── ._solar_ListPerformanceRatio.png
│ │ ├── ._solar_OrientationFactor.png
│ │ ├── ._solar_PV.png
│ │ ├── ._solar_PVtimeresult.png
│ │ ├── ._solar_PerformanceRatio.png
│ │ ├── ._solar_Solarthermaltimeresult.png
│ │ ├── ._solar_SumTimeSeries.png
│ │ ├── ._solar_potentialsunobs.png
│ │ └── ._solar_solarthermal.png
├── Hive.IO
│ ├── Hive.IO.sln
│ ├── Hive.IO.sln.DotSettings
│ ├── Hive.IO
│ │ ├── Building
│ │ │ ├── Building.cs
│ │ │ ├── Components.cs
│ │ │ ├── Construction.cs
│ │ │ ├── ConstructionAssembly.cs
│ │ │ ├── Material.cs
│ │ │ ├── Sia2024Record.cs
│ │ │ ├── Sia2024Schedules.cs
│ │ │ ├── Sia380ConstructionRecord.cs
│ │ │ ├── Zone.cs
│ │ │ ├── compile_sia2024_json.py
│ │ │ ├── generate_sia2024_schedules_json.py
│ │ │ ├── requirements.txt
│ │ │ ├── sia2024_room_data.json
│ │ │ ├── sia2024_schedules.json
│ │ │ └── sia380_constructions.json
│ │ ├── Core
│ │ │ ├── AdaptiveComfort.cs
│ │ │ └── Sia380.cs
│ │ ├── EnergySystems
│ │ │ ├── Carrier.cs
│ │ │ ├── CombustionTech.cs
│ │ │ ├── ConversionTech.cs
│ │ │ ├── Emitter.cs
│ │ │ ├── HeatPump.cs
│ │ │ ├── Lighting.cs
│ │ │ ├── Storage.cs
│ │ │ ├── SurfaceBasedTech.cs
│ │ │ ├── Ventilation.cs
│ │ │ ├── compile_surface_tech_json.py
│ │ │ ├── conversion_technology_defaults.json
│ │ │ ├── emitter_defaults.json
│ │ │ └── surface_tech_module_types.json
│ │ ├── Environment
│ │ │ ├── Environment.cs
│ │ │ └── Epw.cs
│ │ ├── Forms
│ │ │ ├── BuildingInputForm.Designer.cs
│ │ │ ├── BuildingInputForm.cs
│ │ │ ├── BuildingInputForm.resx
│ │ │ ├── BuildingInputState.cs
│ │ │ ├── Controls
│ │ │ │ ├── ChillerProperties.Designer.cs
│ │ │ │ ├── ChillerProperties.cs
│ │ │ │ ├── ChillerProperties.resx
│ │ │ │ ├── ChpProperties.Designer.cs
│ │ │ │ ├── ChpProperties.cs
│ │ │ │ ├── ChpProperties.resx
│ │ │ │ ├── ConversionTechPropertiesBase.Designer.cs
│ │ │ │ ├── ConversionTechPropertiesBase.cs
│ │ │ │ ├── ConversionTechPropertiesBase.resx
│ │ │ │ ├── EmitterProperties.Designer.cs
│ │ │ │ ├── EmitterProperties.cs
│ │ │ │ ├── EmitterProperties.resx
│ │ │ │ ├── GasBoilerProperties.Designer.cs
│ │ │ │ ├── GasBoilerProperties.cs
│ │ │ │ ├── GasBoilerProperties.resx
│ │ │ │ ├── HeatExchanger.Designer.cs
│ │ │ │ ├── HeatExchangerProperties.Designer.cs
│ │ │ │ ├── HeatExchangerProperties.cs
│ │ │ │ ├── HeatExchangerProperties.resx
│ │ │ │ ├── SurfaceTechnologyProperties.Designer.cs
│ │ │ │ ├── SurfaceTechnologyProperties.cs
│ │ │ │ └── SurfaceTechnologyProperties.resx
│ │ │ ├── ConversionTechPropertiesViewModel.cs
│ │ │ ├── EmitterPropertiesViewModel.cs
│ │ │ ├── EnergySystemsInputForm.Designer.cs
│ │ │ ├── EnergySystemsInputForm.cs
│ │ │ ├── EnergySystemsInputForm.resx
│ │ │ ├── EnergySystemsInputViewModel.cs
│ │ │ ├── ViewModelBase.cs
│ │ │ ├── VisualizerPlotProperties.Designer.cs
│ │ │ ├── VisualizerPlotProperties.cs
│ │ │ └── VisualizerPlotProperties.resx
│ │ ├── GhCore
│ │ │ ├── GhAdaptiveComfort.cs
│ │ │ ├── GhSIA2024RoomReader.cs
│ │ │ └── GhSIA380.cs
│ │ ├── GhDistributors
│ │ │ ├── GhDist3DLossesGains.cs
│ │ │ ├── GhDistConduit.cs
│ │ │ ├── GhDistConversionTech.cs
│ │ │ ├── GhDistEmitter.cs
│ │ │ ├── GhDistEnvironment.cs
│ │ │ ├── GhDistEpw.cs
│ │ │ ├── GhDistSIA.cs
│ │ │ ├── GhDistSolarSimulation.cs
│ │ │ ├── GhDistSolarTech.cs
│ │ │ └── GhMainDistributor.cs
│ │ ├── GhEnergySystems
│ │ │ ├── GhASHPTimeResolved.cs
│ │ │ ├── GhBoilerSimple.cs
│ │ │ ├── GhBoilerTimeResolved.cs
│ │ │ ├── GhChillerSimple.cs
│ │ │ ├── GhChillerTimeResolved.cs
│ │ │ ├── GhChpSimple.cs
│ │ │ ├── GhChpTimeResolved.cs
│ │ │ ├── GhHeatpumpCOP.cs
│ │ │ └── GhHeatpumpSimple.cs
│ │ ├── GhInputOutput
│ │ │ ├── Gh3DLossesGainsVisualizer.cs
│ │ │ ├── GhBuilding.cs
│ │ │ ├── GhEnergySystem.cs
│ │ │ ├── GhEnvironment.cs
│ │ │ ├── GhResultsCreator.cs
│ │ │ ├── GhResultsExposer.cs
│ │ │ ├── GhResultsExposerPreDefined.cs
│ │ │ ├── GhResultsParameter.cs
│ │ │ ├── GhVisualizer.cs
│ │ │ └── GhVisualizerAttributes.cs
│ │ ├── GhMergers
│ │ │ ├── GhCHP.cs
│ │ │ ├── GhChiller.cs
│ │ │ ├── GhCoolingExchanger.cs
│ │ │ ├── GhGasBoiler.cs
│ │ │ ├── GhHeatExchanger.cs
│ │ │ ├── GhHeatPump.cs
│ │ │ ├── GhPurchasedElectricity.cs
│ │ │ └── GhSolarTech.cs
│ │ ├── GhParametricInputs
│ │ │ ├── GhConversionTech.cs
│ │ │ ├── GhEmitter.cs
│ │ │ ├── GhEnergyPotentials.cs
│ │ │ ├── GhSIARoom.cs
│ │ │ └── GhSolarSystems.cs
│ │ ├── GhSolar
│ │ │ ├── GhOrientationFactor.cs
│ │ │ ├── GhPVNoct.cs
│ │ │ ├── GhPVSimple.cs
│ │ │ ├── GhSTSimple.cs
│ │ │ ├── GhSTTimeResolved.cs
│ │ │ ├── GhSolarUnobstructed.cs
│ │ │ ├── GhSumOverTimePeriod.cs
│ │ │ ├── GhTreeGenerator.cs
│ │ │ ├── GhTreeSchedule.cs
│ │ │ ├── compile_tree_schedules.py
│ │ │ └── tree_schedules.json
│ │ ├── GhValueLists
│ │ │ ├── GhListResults.cs
│ │ │ ├── GhPerformanceRatioList.cs
│ │ │ ├── GhSia2024RoomList_Standard.cs
│ │ │ ├── SIA2024_rooms_data.json
│ │ │ ├── compile_performance_ratios_json.py
│ │ │ └── performance_ratios.json
│ │ ├── Hive.IO.csproj
│ │ ├── Plots
│ │ │ ├── AmrPlotBase.cs
│ │ │ ├── AmrPlotConstants.cs
│ │ │ ├── AmrPlotDataAdaptor.cs
│ │ │ ├── AmrPlotStyle.cs
│ │ │ ├── DemandMonthlyNormalizedPlot.cs
│ │ │ ├── DemandMonthlyPlot.cs
│ │ │ ├── DrawingExtensions.cs
│ │ │ ├── EnergyBalancePlot.cs
│ │ │ ├── IVisualizerPlot.cs
│ │ │ ├── KpiPlot.cs
│ │ │ ├── LifetimeAmrPlot.cs
│ │ │ ├── MenuButton.cs
│ │ │ ├── MenuButtonPanel.cs
│ │ │ ├── MonthlyAmrPlot.cs
│ │ │ ├── OxyPlotBase.cs
│ │ │ ├── PlotSelector.cs
│ │ │ ├── SolarGainsPerWindowPlot.cs
│ │ │ ├── VisualizerToolTip.cs
│ │ │ └── YearlyAmrPlot.cs
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ └── Resources.resx
│ │ ├── Resources
│ │ │ ├── 201008_SIA2024_Raumdaten_Bestand.csv
│ │ │ ├── 201008_SIA2024_Raumdaten_Standardwert.csv
│ │ │ ├── 201008_SIA2024_Raumdaten_Zielwert.csv
│ │ │ ├── EnergySystems
│ │ │ │ ├── CdTe.jpg
│ │ │ │ ├── asi.jpg
│ │ │ │ ├── asi_grey_panel.jpg
│ │ │ │ ├── cigs.jpeg
│ │ │ │ ├── cigs_integrated.jpg
│ │ │ │ ├── flat_plate.jpg
│ │ │ │ ├── flexible_cigs.png
│ │ │ │ ├── hjt.jpg
│ │ │ │ ├── lof_golden.jpg
│ │ │ │ ├── lof_green.jpg
│ │ │ │ ├── lof_lavender.jpg
│ │ │ │ ├── lof_red.jpg
│ │ │ │ ├── lof_steel.jpg
│ │ │ │ ├── lof_terracotta.jpg
│ │ │ │ ├── mono_facade.png
│ │ │ │ ├── mono_facade_blue.png
│ │ │ │ ├── mono_roof.png
│ │ │ │ ├── monocrystalline.png
│ │ │ │ ├── polycrystalline.png
│ │ │ │ ├── public_domain
│ │ │ │ │ ├── hive_cigs.png
│ │ │ │ │ ├── hive_cigs.psd
│ │ │ │ │ ├── hive_grey_thin_film.png
│ │ │ │ │ ├── hive_grey_thin_film.psd
│ │ │ │ │ ├── hive_monocrystalline.png
│ │ │ │ │ ├── hive_monocrystalline.psd
│ │ │ │ │ ├── hive_monocrystalline_white.png
│ │ │ │ │ ├── hive_polycrystalline.png
│ │ │ │ │ ├── hive_polycrystalline.psd
│ │ │ │ │ ├── hive_polycrystalline_brown.png
│ │ │ │ │ ├── hive_polycrystalline_green.png
│ │ │ │ │ ├── hive_polycrystalline_lavender.png
│ │ │ │ │ ├── hive_polycrystalline_red.png
│ │ │ │ │ ├── hive_polycrystalline_steel.png
│ │ │ │ │ ├── hive_polycrystalline_terracotta.png
│ │ │ │ │ └── hive_vacuum_tube.jpg
│ │ │ │ ├── solaxess_white.png
│ │ │ │ └── vacuum_tube.jpg
│ │ │ ├── EnergySystems_Chiller_Simple.bmp
│ │ │ ├── IOCore_DistConduit.png
│ │ │ ├── Icons
│ │ │ │ ├── Core_Solar_Potentials_Unobstructed.png
│ │ │ │ ├── Demand_AdaptiveComfort.png
│ │ │ │ ├── Demand_SIA380.png
│ │ │ │ ├── EnergySystems_Boiler_Simple.png
│ │ │ │ ├── EnergySystems_Boiler_TimeResult.png
│ │ │ │ ├── EnergySystems_Combined.png
│ │ │ │ ├── EnergySystems_Combined_TimeResult.png
│ │ │ │ ├── Hive_Logo.png
│ │ │ │ ├── IOCore_DistEmitter.png
│ │ │ │ ├── IOCore_DistSIAroom.png
│ │ │ │ ├── IOCore_DistSolarsim.png
│ │ │ │ ├── IOCore_Distconvtech.png
│ │ │ │ ├── IOCore_Distenergysystems.png
│ │ │ │ ├── IOCore_Distenv.png
│ │ │ │ ├── IOCore_Distsolartech.png
│ │ │ │ ├── IOCore_Merger_Gasboiler.png
│ │ │ │ ├── IOCore_Mergerchiller.png
│ │ │ │ ├── IOCore_Mergercombinedheatpower.png
│ │ │ │ ├── IOCore_Mergercoolingexchanger.png
│ │ │ │ ├── IOCore_Mergerelectricalstation.png
│ │ │ │ ├── IOCore_Mergerheatpump.png
│ │ │ │ ├── IOCore_Mergersolartech.png
│ │ │ │ ├── IO_Building.png
│ │ │ │ ├── IO_CoreDistributor.png
│ │ │ │ ├── IO_CoreMerger.png
│ │ │ │ ├── IO_Energysytems.png
│ │ │ │ ├── IO_Environment.png
│ │ │ │ ├── IO_Para_InputSIAroom.png
│ │ │ │ ├── IO_Para_InputSolarTech.png
│ │ │ │ ├── IO_Para_Inputen.png
│ │ │ │ ├── IO_Para_Inputenergyemitter.png
│ │ │ │ ├── IO_Para_Inputenvpot.png
│ │ │ │ ├── IO_Results_Param.png
│ │ │ │ ├── IO_Visualizer.png
│ │ │ │ ├── Icons_Hive.xar
│ │ │ │ └── Weather_EPW_reader.png
│ │ │ ├── Sources.docx
│ │ │ ├── Sources.md
│ │ │ ├── bipv_efficiency.csv
│ │ │ ├── de_icon.png
│ │ │ ├── demand_SIAroomreader.png
│ │ │ ├── en_icon.png
│ │ │ ├── energysystems_chiller.png
│ │ │ ├── energysystems_chiller_timeresult.png
│ │ │ ├── energysystems_heatpump_COP.png
│ │ │ ├── energysystems_heatpump_airsource.png
│ │ │ ├── energysystems_heatpump_airsource_timeresult.png
│ │ │ ├── gc_efficiency.csv
│ │ │ ├── performance_ratio.csv
│ │ │ ├── pv_efficiency.csv
│ │ │ ├── pvt_efficiency.csv
│ │ │ ├── sia2024_schedules.yaml
│ │ │ ├── signal-2023-04-11-213625_002 (Benutzerdefiniert).png
│ │ │ ├── signal-2023-04-11-221004_002 (Benutzerdefiniert).png
│ │ │ ├── signal-2023-04-11-230143_002 (Benutzerdefiniert).png
│ │ │ ├── signal-2023-04-11-230325_002 (Benutzerdefiniert).png
│ │ │ ├── solar_OrientationFactor.png
│ │ │ ├── solar_PV.png
│ │ │ ├── solar_PVtimeresult.png
│ │ │ ├── solar_PerformanceRatio.png
│ │ │ ├── solar_Solarthermaltimeresult.png
│ │ │ ├── solar_SumTimeSeries.png
│ │ │ ├── solar_solarthermal.png
│ │ │ ├── st_efficiency.csv
│ │ │ └── tree_schedules.csv
│ │ ├── Results
│ │ │ ├── Results.cs
│ │ │ ├── ResultsExposeForGhListAttribute.cs
│ │ │ └── ResultsPlotting.cs
│ │ ├── Schemas
│ │ │ └── sia2024_schedules_schema.yaml
│ │ ├── Util
│ │ │ ├── HiveCategoryIcon.cs
│ │ │ ├── HiveIOInfo.cs
│ │ │ ├── JsonResource.cs
│ │ │ └── Misc.cs
│ │ └── packages.config
│ ├── TestVisualizer
│ │ ├── App.config
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── Settings.Designer.cs
│ │ │ └── Settings.settings
│ │ ├── TestVisualizer.csproj
│ │ └── packages.config
│ └── UnitTests
│ │ ├── Core
│ │ ├── TestDataSIA380.json
│ │ ├── TestSIA380.cs
│ │ └── results.json
│ │ ├── Properties
│ │ └── AssemblyInfo.cs
│ │ ├── TestConversionTechProperties.cs
│ │ ├── TestSerializingResults.cs
│ │ ├── TestSia2024Record.cs
│ │ ├── UnitTests.csproj
│ │ └── packages.config
├── README.md
└── __init__.py
└── tests
├── BombyxComparison
├── Validation & Comparison.3dm
└── Validation & Comparison.gh
├── Hive.Core
├── __init__.py
└── sia380
│ ├── __init__.py
│ ├── results.json
│ ├── sia380_test.py
│ └── testdata.json
├── README.md
└── __init__.py
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 | title: ''
5 | labels: "bug \U0001F47E"
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Describe the bug**
11 | A clear and concise description of what the bug is.
12 |
13 | **To Reproduce**
14 | Steps to reproduce the behavior:
15 | 1. Go to '...'
16 | 2. Click on '....'
17 | 3. Scroll down to '....'
18 | 4. See error
19 |
20 | **Expected behavior**
21 | A clear and concise description of what you expected to happen.
22 |
23 | **Screenshots**
24 | If applicable, add screenshots to help explain your problem.
25 |
26 | **Software**
27 | - Rhino Version
28 | - Hive Version
29 |
30 | **Additional context**
31 | Add any other context about the problem here.
32 |
--------------------------------------------------------------------------------
/.github/pull_request_template.md:
--------------------------------------------------------------------------------
1 | # [Title]
2 |
3 | ## Issues
4 |
5 | Closes
6 |
7 | Closes
8 |
9 | ## Description
10 |
11 | - ...
12 |
13 | ## Checklist
14 |
15 | - [ ] Remove debugging artifacts (if needed)
16 | - [ ] Rebuild the Setup_Hive.exe
17 | - [ ] Update Hive Wiki (if needed)
18 | - [ ] Update InformationalVersion attribute in Hive.IO/Properties/AssemblyInfo.cs (if it's a new release)
19 | - [ ] Update most important Grasshopper template(s); as of now [/GrasshopperExamples/LectureExercises/EaCS3_E04_Hive_Template.gh](https://github.com/architecture-building-systems/hive/blob/master/GrasshopperExamples/LectureExercises/EaCS3_E04_Hive_Template.gh)
20 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Folders
2 | **/hive/HIVE_RC_simulator/tests*
3 | **/hive/HIVE_RC_simulator/justin*
4 | **/hive/HIVE_RC_simulator/graphics*
5 |
6 | **/_build/
7 | *.3dm.rhl
8 |
9 | # Byte-compiled / optimized / DLL files
10 | __pycache__/
11 | *.py[cod]
12 | *$py.class
13 |
14 | # C extensions
15 | *.so
16 |
17 | # Distribution / packaging
18 | .Python
19 | env/
20 | build/
21 | develop-eggs/
22 | dist/
23 | downloads/
24 | eggs/
25 | .eggs/
26 | lib/
27 | lib64/
28 | parts/
29 | sdist/
30 | var/
31 | *.egg-info/
32 | .installed.cfg
33 | *.egg
34 |
35 | # PyInstaller
36 | # Usually these files are written by a python script from a template
37 | # before PyInstaller builds the exe, so as to inject date/other infos into it.
38 | *.manifest
39 | *.spec
40 |
41 | # Installer logs
42 | pip-log.txt
43 | pip-delete-this-directory.txt
44 |
45 | # Unit test / coverage reports
46 | htmlcov/
47 | .tox/
48 | .coverage
49 | .coverage.*
50 | .cache
51 | nosetests.xml
52 | coverage.xml
53 | *,cover
54 | .hypothesis/
55 |
56 | # Translations
57 | *.mo
58 | *.pot
59 |
60 | # Django stuff:
61 | *.log
62 | local_settings.py
63 |
64 | # Flask stuff:
65 | instance/
66 | .webassets-cache
67 |
68 | # Scrapy stuff:
69 | .scrapy
70 |
71 | # Sphinx documentation
72 | docs/_build/
73 |
74 | # PyBuilder
75 | target/
76 |
77 | # IPython Notebook
78 | .ipynb_checkpoints
79 |
80 | # pyenv
81 | .python-version
82 |
83 | # celery beat schedule file
84 | celerybeat-schedule
85 |
86 | # dotenv
87 | .env
88 |
89 | # virtualenv
90 | venv/
91 | ENV/
92 |
93 | # Spyder project settings
94 | .spyderproject
95 |
96 | # Rope project settings
97 | .ropeproject
98 | Python data_from_sensors/plot_data.py
99 | *.xml
100 |
101 | .DS_Store
102 | .idea/
103 | /Mothercell/Hive.GUI/.vs/Hive.GUI/v16/Server/sqlite3
104 | /Mothercell/Hive.GUI/.vs/Hive.GUI/v16
105 | /.vs/Hive/v16
106 | /.vs
107 | /Mothercell/Hive.GUI/Hive.GUI/bin
108 | /Mothercell/Hive.GUI/Hive.GUI/obj/Debug
109 | *.ide-shm
110 | /Mothercell/Hive.IO/Hive.IO/bin
111 | /Mothercell/Hive.IO/Hive.IO/obj
112 | /Mothercell/Hive.IO/.vs/Hive.IO/v16
113 | /Mothercell/Hive.IO/.vs/Hive.IO/v16/sqlite3
114 | /Mothercell/Hive.IO/ConsoleTester/obj
115 | /Mothercell/Hive.IO/ConsoleTester/bin
116 | /Mothercell/Hive.IO/.vs/ConsoleTester/v16
117 | /Mothercell/Hive.IO/.vs/ConsoleTester/v16/sqlite3
118 | Mothercell/Hive.IO/.vs/Hive.IO/DesignTimeBuild/.dtbcache
119 | *.bak
120 | *.orig
121 |
122 |
123 | # ignore visual studio stuff according to https://stackoverflow.com/a/2144077/2260
124 | [Oo]bj
125 | [Bb]in
126 | Debug/
127 | Release/
128 | .vs/
129 | *.user
130 | *.suo
131 | *.[Cc]ache
132 | *.bak
133 | *.ncb
134 | *.log
135 | *.DS_Store
136 | [Tt]humbs.db
137 | _ReSharper.*
138 | *.resharper
139 | Ankh.NoLoad
140 |
141 |
142 | src/Hive.IO/packages/
143 | .vscode/
144 | src/Hive.IO/Hive.IO/Resources/EnergySystems/*.psd
145 |
--------------------------------------------------------------------------------
/GrasshopperExamples/FeatureDescription/Solar/Hive_PhotovoltaicEnergySystem.gh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/GrasshopperExamples/FeatureDescription/Solar/Hive_PhotovoltaicEnergySystem.gh
--------------------------------------------------------------------------------
/GrasshopperExamples/FeatureDescription/Solar/Hive_PhotovoltaicTimeResolvedEnergySystem.gh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/GrasshopperExamples/FeatureDescription/Solar/Hive_PhotovoltaicTimeResolvedEnergySystem.gh
--------------------------------------------------------------------------------
/GrasshopperExamples/FeatureDescription/Solar/Hive_SolarOrientationFactor.gh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/GrasshopperExamples/FeatureDescription/Solar/Hive_SolarOrientationFactor.gh
--------------------------------------------------------------------------------
/GrasshopperExamples/FeatureDescription/Solar/Hive_SolarPerformanceRatioReader.gh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/GrasshopperExamples/FeatureDescription/Solar/Hive_SolarPerformanceRatioReader.gh
--------------------------------------------------------------------------------
/GrasshopperExamples/FeatureDescription/Solar/Hive_SolarPotentialsUnobstructed.gh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/GrasshopperExamples/FeatureDescription/Solar/Hive_SolarPotentialsUnobstructed.gh
--------------------------------------------------------------------------------
/GrasshopperExamples/FeatureDescription/Solar/Hive_SolarThermalEnergySystem.gh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/GrasshopperExamples/FeatureDescription/Solar/Hive_SolarThermalEnergySystem.gh
--------------------------------------------------------------------------------
/GrasshopperExamples/FeatureDescription/Solar/Hive_SolarThermalTimeResolvedEnergySystem.gh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/GrasshopperExamples/FeatureDescription/Solar/Hive_SolarThermalTimeResolvedEnergySystem.gh
--------------------------------------------------------------------------------
/GrasshopperExamples/FeatureDescription/Solar/Hive_SummarizePVElectricity Yield.gh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/GrasshopperExamples/FeatureDescription/Solar/Hive_SummarizePVElectricity Yield.gh
--------------------------------------------------------------------------------
/GrasshopperExamples/Templates/GhPython_HeatingDemand.gh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/GrasshopperExamples/Templates/GhPython_HeatingDemand.gh
--------------------------------------------------------------------------------
/GrasshopperExamples/Templates/Hive_FullTemplate.gh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/GrasshopperExamples/Templates/Hive_FullTemplate.gh
--------------------------------------------------------------------------------
/GrasshopperExamples/Templates/Hive_FullTemplate_Parametric.gh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/GrasshopperExamples/Templates/Hive_FullTemplate_Parametric.gh
--------------------------------------------------------------------------------
/GrasshopperExamples/Templates/Hive_Solar_Unobstructed.gh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/GrasshopperExamples/Templates/Hive_Solar_Unobstructed.gh
--------------------------------------------------------------------------------
/GrasshopperExamples/Templates/Hive_TreePrototype.gh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/GrasshopperExamples/Templates/Hive_TreePrototype.gh
--------------------------------------------------------------------------------
/GrasshopperExamples/Templates/README.md:
--------------------------------------------------------------------------------
1 | This folder contains Grasshopper (.gh) template files for HIVE.
2 |
3 | - `Hive_FullTemplate.gh` -> Main template. You should use this.
4 | - `Hive_FullTemplate_Parametric.gh` -> Same as the main template, but with parametric input components.
5 | - `Hive_Solar_Unobstructed.gh` -> Simple example with just the solar model for the unobstructed case (no ray tracing, just physics). Can change tilt and azimuth angles of a panel and generate annual hourly solar potentials instantly.
6 | - `GhPython_HeatingDemand.gh` -> ghpython components that calculate heating demand. Same physics as used in Hive, but solves instantly because all the data processing / visualization / what-not... is cut out. Physics are from Swiss norm SIA 380.1
--------------------------------------------------------------------------------
/GrasshopperExamples/Testing/Core_Conversion_Emitter.gh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/GrasshopperExamples/Testing/Core_Conversion_Emitter.gh
--------------------------------------------------------------------------------
/GrasshopperExamples/Testing/Core_DemandHourly.gh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/GrasshopperExamples/Testing/Core_DemandHourly.gh
--------------------------------------------------------------------------------
/GrasshopperExamples/Testing/Hive_BuildingGeometries.gh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/GrasshopperExamples/Testing/Hive_BuildingGeometries.gh
--------------------------------------------------------------------------------
/GrasshopperExamples/Testing/Hive_EnvironmentAndEpwReader.gh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/GrasshopperExamples/Testing/Hive_EnvironmentAndEpwReader.gh
--------------------------------------------------------------------------------
/GrasshopperExamples/Testing/Hive_Form_Building.gh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/GrasshopperExamples/Testing/Hive_Form_Building.gh
--------------------------------------------------------------------------------
/GrasshopperExamples/Testing/Hive_Form_EnergySystems.gh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/GrasshopperExamples/Testing/Hive_Form_EnergySystems.gh
--------------------------------------------------------------------------------
/GrasshopperExamples/Testing/Hive_MainDistributor.gh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/GrasshopperExamples/Testing/Hive_MainDistributor.gh
--------------------------------------------------------------------------------
/GrasshopperExamples/Testing/Hive_ParametricInputs.gh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/GrasshopperExamples/Testing/Hive_ParametricInputs.gh
--------------------------------------------------------------------------------
/GrasshopperExamples/Testing/Hive_Results.gh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/GrasshopperExamples/Testing/Hive_Results.gh
--------------------------------------------------------------------------------
/GrasshopperExamples/Testing/README.md:
--------------------------------------------------------------------------------
1 | Test files for debugging, prototyping and development.
2 |
3 | - `Solar_Unobstructed_HiveCore.gh`: Unobstructed solar model, but with all Hive inputs (Building, Environment, EnSys) and the MainDistributor.
4 |
5 | - `Hive_Results.gh`: Tests the results visualizer and the results outputter. No simulations.
6 | - `Hive_ParametricInputs.gh`: Tests the parametric input components for Building, Environment and EnergySystems. No simulations.
7 | - `Hive_EnvironmentAndEpwReader.gh`: Tests the Hive environment component and the EPW reader. No simulations.
8 | - `Hive_Form_EnergySystems.gh`: Tests the Hive EnergySystems input component. Also to test the WinForm. No simulations.
9 | - `Hive_Form_Building.gh`: Tests the Hive Building input component. Also to test the WinForm. No simulations.
10 | - `Hive_MainDistributor.gh`: Tests the main Hive distributor (the one that takes all inputs). No simulations.
11 | - `Hive_BuildingGeometries.gh`: Tests different geometries/shapes for the Hive Building input component.
12 |
13 | - `Core_Conversion_Emitter.gh`: Tests the conversion and emitter components, from Inputs to Hive Core. No simulations.
14 | - `Core_DemandHourly.gh`: Tests the hourly demand simulation, derived of monthly SIA 380.1 demand. RESULTS NOT VALIDATED.
--------------------------------------------------------------------------------
/GrasshopperExamples/Testing/Solar_Unobstructed_HiveCore.gh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/GrasshopperExamples/Testing/Solar_Unobstructed_HiveCore.gh
--------------------------------------------------------------------------------
/GrasshopperExamples/Testing/Tree_Feature/Hive_FullTemplate_with_tree_feature.gh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/GrasshopperExamples/Testing/Tree_Feature/Hive_FullTemplate_with_tree_feature.gh
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | # HIVE
4 |
5 | HIVE is a collection of Grasshopper components and workflow templates designed to facilitate flexibility in informed decision making during the early stages of building design.
6 |
7 | The aim of HIVE is to increase the availability of tools developed during research projects at the Chair of Architecture and Building Systems, ETH Zurich.
8 |
9 | ## Overview
10 |
11 | Hive consists of (A) Grasshopper components to simulate stuff and (B) Grasshopper components to handle data flow and input-output stuff. See Figure below.
12 |
13 | Furthermore, (C) example Grasshopper files (.gh) can be found in the [Exercises folder](https://github.com/architecture-building-systems/hive/tree/master/GrasshopperExamples)
14 |
15 | 
16 |
17 | ## Info around Hive
18 |
19 | [Validation with EnergyPlus](https://github.com/architecture-building-systems/hive/wiki/Validation)
20 |
21 | [IBPSA BS 2021 paper](https://doi.org/10.26868/25222708.2021.30526)
22 |
23 | [ETH Teaching Fair](https://learning-teaching-fair.ethz.ch/project/energy-and-climate-systems-iii/)
24 |
25 | [A/S Website](https://systems.arch.ethz.ch/demonstrators/hive)
26 |
27 |
28 | ## Dependencies
29 |
30 | We use:
31 | - [OxyPlot](https://oxyplot.github.io/)
32 | - [Newtonsoft](https://www.newtonsoft.com/json)
33 | - [Conduit](https://bitbucket.org/architecture-building-systems/conduit-hive)
34 | - [GH_Solar](https://github.com/christophwaibel/GH_Solar_V2)
35 |
36 | All libraries are installed automatically with the Hive installer.
37 |
--------------------------------------------------------------------------------
/docs/Makefile:
--------------------------------------------------------------------------------
1 | # Minimal makefile for Sphinx documentation
2 | #
3 |
4 | # You can set these variables from the command line.
5 | SPHINXOPTS =
6 | SPHINXBUILD = sphinx-build
7 | SOURCEDIR = .
8 | BUILDDIR = _build
9 |
10 | # Put it first so that "make" without argument is like "make help".
11 | help:
12 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
13 |
14 | .PHONY: help Makefile
15 |
16 | # Catch-all target: route all unknown targets to Sphinx using the new
17 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
18 | %: Makefile
19 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
--------------------------------------------------------------------------------
/docs/Untitled Diagram.drawio:
--------------------------------------------------------------------------------
1 | 7VvZcuI4FP0aHpPywpZHIEt3TzpDN5lkXgUWoEG2GFmE0F/fV7a8KoCd4HZCqEpVrGtZtnSOro6OTcMeuM83HC3n35mDacMynOeGfdmwLNOybPgnI5sw0u2YYWDGiaMqJYER+YVV0FDRFXGwn6koGKOCLLPBCfM8PBGZGOKcrbPVpoxm77pEM6wFRhNE9egjccRc9cLqJPEvmMzm0Z3N9kV4xkVRZdUTf44ctk6F7KuGPeCMifDIfR5gKgcvGpfHr5tHerto33z74f+P/un/dX/3cBY2dl3mkrgLHHvi1U3/Wkyvvzw0//t3Obz+sTZueuNvZ+oS4wnRlRqvIeY+81SPxSYaRn9NXIo8KPWnzBMjdQYGoY8omXlwPIGnwxwCT5gLAgj01AnBlhCdzAl1btGGrWQffIEmi6jUnzNOfkGziMIpEwJwmgtFJqudqTGSV0LYgCjHPtQZRgNjxqFb5AtVZ8IoRUufjIMHllVcxGfE6zMhmBs1xFaegx1VipEOCoKzRcwdeX1BOBRscjTwc4qMCp4bzFws+AaqqLMx0zbR5FPldUJcs61i8zRp7a6aMGqyzOK249v9hMmFvBkMQnI/O3e/ZsH7ASKZ2yEKwHtI4L4cRj9NQzhIdTUJBeQsQVRTI+odcrFGUxhpkaIkxVOxlZD+Ek2IN7sN6lw2k8hP1VMZYnDtlAZkmBPHwV5AFoEECvkkGbJkxBPBULT68AcDNjDOW40WPNAAymZShj9ZnYsB84BXiAQEwkDWNZaEfYFaO6ftfmptsoiVRTZNpAykZfGz9EQzZ54k493KHUPaODYkd2SUuXCpOqwK75ZVM962hveVi4i8rOc4kKP9E+AHBbzTrRnwpga4hjAlgX5Qo2G+uLbugd8FIGVzEd73kg6XZ6bGCVvnhP0C/hSNMR0ynwjCZPs8rJvjRV1Z2zSaxVDdsfy/CdSWnrVXfDJHvkzcILsWMLzB0RHO58pANevOzW0N1ZFYObKbBVW/cVL9h1P9Zk712+1qVb+ZU/129/2q/s52ph6rbiyYdtqFafZedgBdDcsePL10byzjOywlR4fkQQVhabxr3wFcnAThwUEtqvKr0oOm7hd+hcRvXAEaZIyCZeaeyYDHmWzuyKZ0WgQ1qwK5W3emNnWz7QbLJXeEXeIhLhG/Rwusu8QfHd+qIK1f80cPsCsdY8/pyTcuUBpTJuV2H0JKj5tGWLwmNFq69gjm7PqHnRmOpg6mY7a+SgL9IAAnIqaUlts+g30p3g8ZbDBmuMB2Tj7tTmBfApJjigR5yr542iHOh5K4iTC3jKwwtww720TYSXVV+k1P2YbCUdAaOphXr5t/Q86m2PeZrtdPW8zqt5h2fstXdIvZMfaS+IUdpt0ssMPsvI8dpqn7liNEkcq4n3Btiyfvx9lZmrpNqaH32bca5WEtuoGsbK+h25SfSrFEiL1ryWLmMn3nlZLFzjVkdXLPUrVk0Z3Gbe8pT4KlesHSMroZOhT+EsYydywy2xVLq/WBvoTRjdSR4Bjrb28+i2LpFKbXu1Esujk6IOL4NOdBLfDyONfugVu6XwpJWxzfd2s1A1371y+WbpmCsperuGUMmHMC/MCAF/4ypjrEdUN1AGMijtA5qBtr+5Vi7HBY64amBvKnNxjK49oqKMOqchgs3ft7AIicY1ygq0OxXXsm1u2/v1diuZL2Qk++q7yV8+CEaGFEL2rPt+WsP7YMxrqcuRf7gmb9Vp8a271OX4TlXqtP4SyplLY1muqB3uj6xe9zYsJY2SaKun6t5p6Gtrh+WkNn+TdOuXbYdOrjSoxDSzcOjfPzCPiEroEZl0oEe9LOWFly4RreR5PFLODvgFHG4bzHEgNSud1W8ZwQzS/1m0v1WI3492fFjbqzNzIqIuYfg0s3z4pjFemnjwrWYWZ/9FHuH4dO98wo9EIu8Gir95mS43lUdRVcxMGPNfpurEu56G8khkaAbVwpvk5cHIYpdtbFj5L0W7gCxeQX12H15Hfr9tVv
--------------------------------------------------------------------------------
/docs/development-environment.rst:
--------------------------------------------------------------------------------
1 | The hive development environment
2 | ================================
3 |
4 | - IronPython / GrassHopper / Rhino
5 | - honey-badger
6 | - Sphinx (using "normal" python)
7 | - development methodology
8 | - ZenHub / issue tracking
9 | - how to write an issue
10 | - bugs vs. tasks
11 | - conventions for workflow (who assigns what etc.)
12 | - Hiveathon!
13 | - test-first
14 | - unit testing
15 | - continuous integration
16 | - PyCharm
17 | - releases
18 | - roadmap
19 | - How to contribute
20 | - Getting started with hive
21 | - installation guide
--------------------------------------------------------------------------------
/docs/energysystems.gv:
--------------------------------------------------------------------------------
1 | digraph energysystems {
2 | rankdir=LR;
3 | splines=ortho;
4 |
5 | node [shape=record, style=filled];
6 |
7 |
8 |
9 |
10 | subgraph energy_carriers {
11 | node [style=filled, fillcolor=green];
12 | edge [arrowtail="empty", dir=back];
13 |
14 | EnergyCarrier;
15 | EnergyCarrier -> Water;
16 | EnergyCarrier -> Air;
17 | EnergyCarrier -> Gas;
18 | EnergyCarrier -> Radiation;
19 | EnergyCarrier -> Electricity;
20 | EnergyCarrier -> Pellets;
21 | }
22 |
23 | subgraph conversion_technologies {
24 | edge [arrowtail="empty", dir=back];
25 | node [fillcolor="yellow"];
26 |
27 | ConversionTech[label="ConversionTech|Name\lDetailedName\lIsElectric\lIsHeating\lIsCooling\lCapacity\lCapacityUnit\lSpecificInvestmentCost\lSpecificEmbodiedGhg\l "];
28 |
29 | HeatCoolingExchanger[label="HeatCoolingExchanger|DistributionLosses"]
30 | AirSourceHeatPump[label="AirSourceHeatPump|Air\lEtaRef\l "]
31 | Chiller[label="Chiller|Air\lEtaRef\l "]
32 |
33 | ConversionTech -> AirSourceHeatPump;
34 | ConversionTech -> Chiller;
35 | ConversionTech -> HeatCoolingExchanger;
36 |
37 | CombustionTech[label="CombustionTech"];
38 | GasBoiler[label="GasBoiler|Efficiency"];
39 | CombinedHeatPower[label="CombinedHeatPower|HeatToPowerRatio\lElectricEfficiency "];
40 | ConversionTech -> CombustionTech;
41 | CombustionTech -> CombinedHeatPower;
42 | CombustionTech -> GasBoiler;
43 |
44 |
45 | SurfaceBasedTech[label="SurfaceBasedTech|SurfaceGeometry\lSurfaceArea\lAmbientAir\l|ComputeMeanHourlyEnergy(irradiance)"];
46 | PVT[label="PVT|RefEfficiencyElectric\lRefEfficiencyHeating"];
47 | SolarThermal[label="SolarThermal|InletWater\lFRtauAlpha\lFRUL\lR_V\lRefEfficiencyHeating\l"];
48 | Photovoltaic[label="Photovoltaic|Beta\lNOCT\lNOCT_ref\lNOCT_sol\lPR\lRefEfficiencyElectric"];
49 |
50 | ConversionTech -> SurfaceBasedTech;
51 | SurfaceBasedTech -> GroundCollector;
52 | SurfaceBasedTech -> Photovoltaic;
53 | SurfaceBasedTech -> PVT;
54 | SurfaceBasedTech -> SolarThermal;
55 | }
56 |
57 | ConversionTech -> EnergyCarrier [label="InputCarriers", arrowhead=none, headlabel="*"]
58 | ConversionTech -> EnergyCarrier [label="OutputCarriers", arrowhead=none, headlabel="*"]
59 | }
--------------------------------------------------------------------------------
/docs/energysystems.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/docs/energysystems.pdf
--------------------------------------------------------------------------------
/docs/index.rst:
--------------------------------------------------------------------------------
1 | .. hive documentation master file, created by
2 | sphinx-quickstart on Thu Jul 4 13:40:24 2019.
3 | You can adapt this file completely to your liking, but it should at least
4 | contain the root `toctree` directive.
5 |
6 | Welcome to hive's documentation!
7 | ================================
8 |
9 | .. toctree::
10 | :maxdepth: 2
11 | :caption: Contents:
12 |
13 |
14 |
15 | Indices and tables
16 | ==================
17 |
18 | * :ref:`genindex`
19 | * :ref:`modindex`
20 | * :ref:`search`
21 |
--------------------------------------------------------------------------------
/docs/make.bat:
--------------------------------------------------------------------------------
1 | @ECHO OFF
2 |
3 | pushd %~dp0
4 |
5 | REM Command file for Sphinx documentation
6 |
7 | if "%SPHINXBUILD%" == "" (
8 | set SPHINXBUILD=sphinx-build
9 | )
10 | set SOURCEDIR=.
11 | set BUILDDIR=_build
12 |
13 | if "%1" == "" goto help
14 |
15 | %SPHINXBUILD% >NUL 2>NUL
16 | if errorlevel 9009 (
17 | echo.
18 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
19 | echo.installed, then set the SPHINXBUILD environment variable to point
20 | echo.to the full path of the 'sphinx-build' executable. Alternatively you
21 | echo.may add the Sphinx directory to PATH.
22 | echo.
23 | echo.If you don't have Sphinx installed, grab it from
24 | echo.http://sphinx-doc.org/
25 | exit /b 1
26 | )
27 |
28 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
29 | goto end
30 |
31 | :help
32 | %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
33 |
34 | :end
35 | popd
36 |
--------------------------------------------------------------------------------
/repository_files/00_Hive_Architecture.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/repository_files/00_Hive_Architecture.jpg
--------------------------------------------------------------------------------
/repository_files/HiveIOGUI.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/repository_files/HiveIOGUI.png
--------------------------------------------------------------------------------
/repository_files/Hive_Logo_medium.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/repository_files/Hive_Logo_medium.jpg
--------------------------------------------------------------------------------
/setup/GHSolar.gha:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/setup/GHSolar.gha
--------------------------------------------------------------------------------
/setup/Hive.ProvingGround.Conduit.gha:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/setup/Hive.ProvingGround.Conduit.gha
--------------------------------------------------------------------------------
/setup/ProvingGround.Conduit.gha:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/setup/ProvingGround.Conduit.gha
--------------------------------------------------------------------------------
/setup/README.md:
--------------------------------------------------------------------------------
1 | # Setup
2 |
3 | ## Install Hive (Windows)
4 |
5 | Simply run `Setup_Hive.exe`.
6 |
7 | ## Create Installer (Windows)
8 |
9 | [build.cmd](build.cmd) rebuilds the installer by:
10 |
11 | - Building the [Hive.IO](../src/Hive.IO) C# Grasshopper components / assemblies
12 | - Running Python compiling scripts to serialise data sources into JSONs
13 | - Creating [the installer](Setup_Hive.exe) using NSIS and based on the [hive.nsi](hive.nsi) script
14 | - Regenerating the Wiki pages for the hive repository using a python script (note this is done in a separate repository called hive.wiki!).
15 |
16 |
17 | ### Requirements
18 |
19 | Before running build.cmd, you need:
20 |
21 | - An activated `venv` or `conda` environment with python 2.7 and the libararies listed in the [pip requirements file](requirements.txt). Below is a sample of the commands you will need (in a conda prompt!). [Also see this guide for conda setup](https://docs.conda.io/projects/conda/en/latest/user-guide/getting-started.html).
22 |
23 | ```sh
24 | conda create -n hive
25 | conda activate hive
26 | conda install python=2.7
27 | conda install pip
28 | cd \path\to\hive\setup
29 | pip install -r requirements.txt
30 | ```
31 |
32 | - MSBuild (installed with Visual Studio, assumes v2019 Community)
33 | - [NSIS](https://nsis.sourceforge.io/Download)
34 | - [Solar model](https://github.com/christophwaibel/GH_Solar_V2) (the `dll` and `gha` are already deposited here in Hive, but the repo is where you could get the newest version)
35 | - If you want to regenerate / update the wiki pages, you will need to clone the hive.wiki repo:
36 | ```git
37 | git clone https://github.com/architecture-building-systems/hive.wiki.git
38 | ```
39 |
40 | ### Building
41 | Once you are ready:
42 |
43 | 1. Check / Update paths in `build.cmd` for repository / exe locations on your machine
44 | 2. Open a conda prompt and activate your environment for hive (with python 2.7)
45 | 3. Run `build.cmd`. Check for errors in the console output.
46 | 4. Run the installer with `start Setup_Hive.exe`
47 |
48 | Example
49 | ```sh
50 | conda activate hive
51 | build.cmd
52 | # ...some output...
53 | start Setup_Hive.exe
54 | ```
55 |
56 | You now have your latest changes of hive installed!
57 |
58 | ### Troubleshooting
59 |
60 | - python not recognised on your machine
61 | - make sure you are in a conda prompt (if using conda), have activated your environment and that it has python 2.7 installed!
62 | - sometimes you might have to install python 2.7 separately on your machine, but an environment should suffice.
63 | - "couldn't find path" kind of errors when trying to compile python components
64 | - check the paths for IronPython and for the honey-badger.py script
65 | - hive wiki script runs properly but no changes on wiki page
66 | - remember you need to push changes on the hive.wiki repo **separately** from the main hive repo.
--------------------------------------------------------------------------------
/setup/Setup_Hive.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/setup/Setup_Hive.exe
--------------------------------------------------------------------------------
/setup/SolarModel.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/setup/SolarModel.dll
--------------------------------------------------------------------------------
/setup/build.cmd:
--------------------------------------------------------------------------------
1 | @REM Script to build all solutions and create installer
2 |
3 | @REM Base directories, assumes hive.wiki, honey_badger and hive share same root.
4 | set HIVE_BUILD_DIR=%~dp0
5 | set GIT_DIR=%HIVE_BUILD_DIR%..\..
6 | SET HIVE_DIR=%HIVE_BUILD_DIR%..
7 | :: SET HONEY_BADGER_DIR=%GIT_DIR%\honey-badger
8 | SET HIVE_WIKI_DIR=%GIT_DIR%\hive.wiki
9 |
10 | @REM Change these paths accordingly
11 | @REM Requires python 2.7, likely from conda env.
12 | SET PYTHON=python
13 | :: SET IPY=%PROGRAMFILES%\IronPython 2.7\ipy.exe
14 | :: SET HB=%HONEY_BADGER_DIR%\honey-badger.py
15 | SET HIVE_WIKI_PY= %HIVE_WIKI_DIR%\hbwiki.py
16 | SET MSBUILD=%PROGRAMFILES(x86)%\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe
17 | SET MAKENSIS=%PROGRAMFILES(X86)%\NSIS\makensis.exe
18 |
19 | CD %HIVE_BUILD_DIR%
20 |
21 | @REM Build Hive.Core
22 | :: echo Building Hive.Core...
23 | :: cd %HIVE_DIR%\src\Hive.Core\
24 | :: "%IPY%" "%HB%" epw_reader\Hive.Core.epw_reader.json
25 | :: "%IPY%" "%HB%" sia380\Hive.Core.sia380.json
26 | :: "%IPY%" "%HB%" solar\Hive.Core.solar.json
27 | :: "%IPY%" "%HB%" solar_tech\Hive.Core.solar_tech.json
28 | :: "%IPY%" "%HB%" combustion\Hive.Core.combustion.json
29 | :: "%IPY%" "%HB%" cooling\Hive.Core.cooling.json
30 | :: "%IPY%" "%HB%" heatpumps\Hive.Core.heatpumps.json
31 | :: echo ...Done
32 |
33 | @REM Build Hive.IO (only the main csproj, not tests)
34 | echo Building Hive.IO...
35 | cd %HIVE_DIR%\src\Hive.IO\Hive.IO\
36 | %PYTHON% Building\compile_sia2024_json.py
37 | %PYTHON% Building\generate_sia2024_schedules_json.py
38 | %PYTHON% EnergySystems\compile_surface_tech_json.py
39 | %PYTHON% GhValueLists\compile_performance_ratios_json.py
40 | %PYTHON% GhSolar\compile_tree_schedules.py
41 | "%MSBUILD%" Hive.IO.csproj /p:PreBuildEvent="" /p:PostBuildEvent=""
42 |
43 |
44 | @REM if you want to run unit tests
45 | @REM SET VSTEST=%PROGRAMFILES(x86)%\Microsoft Visual Studio\2019\Community\Common7\IDE\Extensions\TestPlatform\vstest.console.exe
46 | @REM "%VSTEST%" "..\Hive.IO\UnitTests\bin\Release\UnitTests.dll"
47 |
48 | echo ...Done
49 |
50 | @REM Build Installer
51 | echo Building Installer Setup_Hive.exe...
52 | cd %HIVE_BUILD_DIR%
53 | "%MAKENSIS%" hive.nsi
54 | echo ...Done
55 |
56 | @REM Generating Component Documentation for Wiki
57 | echo Generating Component Documentation for Wiki...
58 | :: cd %HIVE_DIR%\src\Hive.Core\
59 | :: "%IPY%" "%HIVE_WIKI_PY%" epw_reader\Hive.Core.epw_reader.json
60 | :: "%IPY%" "%HIVE_WIKI_PY%" sia380\Hive.Core.sia380.json
61 | :: "%IPY%" "%HIVE_WIKI_PY%" solar\Hive.Core.solar.json
62 | :: "%IPY%" "%HIVE_WIKI_PY%" solar_tech\Hive.Core.solar_tech.json
63 | :: "%IPY%" "%HIVE_WIKI_PY%" combustion\Hive.Core.combustion.json
64 | :: "%IPY%" "%HIVE_WIKI_PY%" cooling\Hive.Core.cooling.json
65 | :: "%IPY%" "%HIVE_WIKI_PY%" heatpumps\Hive.Core.heatpumps.json
66 |
67 | cd %HIVE_BUILD_DIR%
68 | echo ...Done
69 |
70 | pause
--------------------------------------------------------------------------------
/setup/requirements.txt:
--------------------------------------------------------------------------------
1 | pyyaml
2 | jsonschema
--------------------------------------------------------------------------------
/src/Graphics/Illustrator/Hiveicons.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/Illustrator/Hiveicons.ai
--------------------------------------------------------------------------------
/src/Graphics/Illustrator/schneeflocken.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/Illustrator/schneeflocken.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/IOCore_DistConduit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/IOCore_DistConduit.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/IOCore_DistEmitter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/IOCore_DistEmitter.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/IOCore_DistSIAroom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/IOCore_DistSIAroom.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/IOCore_DistSolarsim.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/IOCore_DistSolarsim.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/IOCore_Distconvtech.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/IOCore_Distconvtech.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/IOCore_Distenv.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/IOCore_Distenv.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/IOCore_Distsolartech.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/IOCore_Distsolartech.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/IOCore_Merger_Gasboiler.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/IOCore_Merger_Gasboiler.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/IOCore_Mergerchiller.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/IOCore_Mergerchiller.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/IOCore_Mergercombinedheatpower.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/IOCore_Mergercombinedheatpower.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/IOCore_Mergercoolingexchanger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/IOCore_Mergercoolingexchanger.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/IOCore_Mergerelectricalstation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/IOCore_Mergerelectricalstation.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/IOCore_Mergerheatpump.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/IOCore_Mergerheatpump.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/IOCore_Mergersolartech.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/IOCore_Mergersolartech.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/IO_Building.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/IO_Building.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/IO_CoreDistributor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/IO_CoreDistributor.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/IO_CoreMerger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/IO_CoreMerger.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/IO_Energysytems.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/IO_Energysytems.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/IO_Environment.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/IO_Environment.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/IO_Para_InputSIAroom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/IO_Para_InputSIAroom.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/IO_Para_InputSolarTech.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/IO_Para_InputSolarTech.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/IO_Para_Inputen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/IO_Para_Inputen.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/IO_Para_Inputenergyemitter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/IO_Para_Inputenergyemitter.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/IO_Para_Inputenvpot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/IO_Para_Inputenvpot.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/demand_ListBuildingtype_ex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/demand_ListBuildingtype_ex.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/demand_ListBuildingtype_ideal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/demand_ListBuildingtype_ideal.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/demand_ListBuildingtype_standard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/demand_ListBuildingtype_standard.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/demand_SIAroomcreater.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/demand_SIAroomcreater.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/demand_SIAroomreader.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/demand_SIAroomreader.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/demand_adaptivecomfort.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/demand_adaptivecomfort.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/demand_energydemand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/demand_energydemand.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/energysystems_boiler.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/energysystems_boiler.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/energysystems_boiler_timeresult.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/energysystems_boiler_timeresult.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/energysystems_chiller.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/energysystems_chiller.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/energysystems_chiller_timeresult.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/energysystems_chiller_timeresult.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/energysystems_combined.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/energysystems_combined.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/energysystems_combined_timeresult.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/energysystems_combined_timeresult.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/energysystems_heatpump_COP.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/energysystems_heatpump_COP.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/energysystems_heatpump_airsource.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/energysystems_heatpump_airsource.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/energysystems_heatpump_airsource_timeresult.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/energysystems_heatpump_airsource_timeresult.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/epw_reader.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/epw_reader.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/solar_AverageTimeSeries.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/solar_AverageTimeSeries.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/solar_ListPerformanceRatio.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/solar_ListPerformanceRatio.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/solar_OrientationFactor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/solar_OrientationFactor.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/solar_PV.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/solar_PV.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/solar_PVtimeresult.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/solar_PVtimeresult.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/solar_PerformanceRatio.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/solar_PerformanceRatio.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/solar_Solarthermaltimeresult.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/solar_Solarthermaltimeresult.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/solar_SumTimeSeries.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/solar_SumTimeSeries.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/solar_potentialsunobs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/solar_potentialsunobs.png
--------------------------------------------------------------------------------
/src/Graphics/PNG/solar_solarthermal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/PNG/solar_solarthermal.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/Illustrator/._Hiveicons.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/Illustrator/._Hiveicons.ai
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/Illustrator/._schneeflocken.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/Illustrator/._schneeflocken.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._IOCore_DistSIAroom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._IOCore_DistSIAroom.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._IOCore_DistSolarsim.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._IOCore_DistSolarsim.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._IOCore_Distconvtech.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._IOCore_Distconvtech.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._IOCore_Distenv.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._IOCore_Distenv.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._IOCore_Distsolartech.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._IOCore_Distsolartech.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._IOCore_Merger_Gasboiler.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._IOCore_Merger_Gasboiler.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._IOCore_Mergerchiller.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._IOCore_Mergerchiller.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._IOCore_Mergercombinedheatpower.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._IOCore_Mergercombinedheatpower.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._IOCore_Mergercoolingexchanger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._IOCore_Mergercoolingexchanger.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._IOCore_Mergerelectricalstation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._IOCore_Mergerelectricalstation.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._IOCore_Mergerheatpump.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._IOCore_Mergerheatpump.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._IOCore_Mergersolartech.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._IOCore_Mergersolartech.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._IO_Building.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._IO_Building.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._IO_CoreDistributor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._IO_CoreDistributor.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._IO_CoreMerger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._IO_CoreMerger.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._IO_Energysytems.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._IO_Energysytems.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._IO_Environment.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._IO_Environment.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._IO_Para_InputSIAroom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._IO_Para_InputSIAroom.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._IO_Para_InputSolarTech.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._IO_Para_InputSolarTech.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._IO_Para_Inputen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._IO_Para_Inputen.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._IO_Para_Inputenergyemitter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._IO_Para_Inputenergyemitter.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._IO_Para_Inputenvpot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._IO_Para_Inputenvpot.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._demand_ListBuildingtype_ex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._demand_ListBuildingtype_ex.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._demand_ListBuildingtype_ideal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._demand_ListBuildingtype_ideal.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._demand_ListBuildingtype_standard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._demand_ListBuildingtype_standard.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._demand_SIAroomcreater.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._demand_SIAroomcreater.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._demand_SIAroomreader.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._demand_SIAroomreader.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._demand_adaptivecomfort.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._demand_adaptivecomfort.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._demand_energydemand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._demand_energydemand.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._energysystems_boiler.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._energysystems_boiler.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._energysystems_boiler_timeresult.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._energysystems_boiler_timeresult.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._energysystems_chiller.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._energysystems_chiller.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._energysystems_chiller_timeresult.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._energysystems_chiller_timeresult.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._energysystems_combined.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._energysystems_combined.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._energysystems_combined_timeresult.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._energysystems_combined_timeresult.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._energysystems_heatpump_COP.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._energysystems_heatpump_COP.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._energysystems_heatpump_airsource.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._energysystems_heatpump_airsource.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._energysystems_heatpump_airsource_timeresult.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._energysystems_heatpump_airsource_timeresult.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._epw_reader.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._epw_reader.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._solar_AverageTimeSeries.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._solar_AverageTimeSeries.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._solar_ListPerformanceRatio.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._solar_ListPerformanceRatio.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._solar_OrientationFactor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._solar_OrientationFactor.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._solar_PV.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._solar_PV.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._solar_PVtimeresult.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._solar_PVtimeresult.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._solar_PerformanceRatio.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._solar_PerformanceRatio.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._solar_Solarthermaltimeresult.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._solar_Solarthermaltimeresult.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._solar_SumTimeSeries.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._solar_SumTimeSeries.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._solar_potentialsunobs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._solar_potentialsunobs.png
--------------------------------------------------------------------------------
/src/Graphics/__MACOSX/PNG/._solar_solarthermal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Graphics/__MACOSX/PNG/._solar_solarthermal.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 17
4 | VisualStudioVersion = 17.1.32228.430
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Hive.IO", "Hive.IO\Hive.IO.csproj", "{1747808E-543C-4DA4-8FB1-B5EBC8B80C77}"
7 | EndProject
8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestVisualizer", "TestVisualizer\TestVisualizer.csproj", "{CE013650-1F89-43FD-BB23-6DD17C1B63B7}"
9 | EndProject
10 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTests", "UnitTests\UnitTests.csproj", "{F428C773-38A5-45E6-BDCF-130706D3C826}"
11 | EndProject
12 | Global
13 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
14 | Debug|Any CPU = Debug|Any CPU
15 | Release|Any CPU = Release|Any CPU
16 | EndGlobalSection
17 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
18 | {1747808E-543C-4DA4-8FB1-B5EBC8B80C77}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
19 | {1747808E-543C-4DA4-8FB1-B5EBC8B80C77}.Debug|Any CPU.Build.0 = Debug|Any CPU
20 | {1747808E-543C-4DA4-8FB1-B5EBC8B80C77}.Release|Any CPU.ActiveCfg = Release|Any CPU
21 | {1747808E-543C-4DA4-8FB1-B5EBC8B80C77}.Release|Any CPU.Build.0 = Release|Any CPU
22 | {CE013650-1F89-43FD-BB23-6DD17C1B63B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
23 | {CE013650-1F89-43FD-BB23-6DD17C1B63B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
24 | {CE013650-1F89-43FD-BB23-6DD17C1B63B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
25 | {CE013650-1F89-43FD-BB23-6DD17C1B63B7}.Release|Any CPU.Build.0 = Release|Any CPU
26 | {F428C773-38A5-45E6-BDCF-130706D3C826}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
27 | {F428C773-38A5-45E6-BDCF-130706D3C826}.Debug|Any CPU.Build.0 = Debug|Any CPU
28 | {F428C773-38A5-45E6-BDCF-130706D3C826}.Release|Any CPU.ActiveCfg = Release|Any CPU
29 | {F428C773-38A5-45E6-BDCF-130706D3C826}.Release|Any CPU.Build.0 = Release|Any CPU
30 | EndGlobalSection
31 | GlobalSection(SolutionProperties) = preSolution
32 | HideSolutionNode = FALSE
33 | EndGlobalSection
34 | GlobalSection(ExtensibilityGlobals) = postSolution
35 | SolutionGuid = {5AB033E8-7717-4AC7-9EAC-B9156A4649FD}
36 | EndGlobalSection
37 | EndGlobal
38 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO.sln.DotSettings:
--------------------------------------------------------------------------------
1 |
2 | True
3 | True
4 | True
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Building/Construction.cs:
--------------------------------------------------------------------------------
1 |
2 |
3 | namespace Hive.IO.Building
4 | {
5 | public abstract class Construction
6 | {
7 | ///
8 | /// Name of construction element, e.g. 'concrete30mm'
9 | ///
10 | public string Name { get; internal set; }
11 | ///
12 | /// Layers of various materials, e.g. 'concrete', 'insulation', 'render'. From outside to inside
13 | ///
14 | public Material[] Layers { get; set; }
15 | ///
16 | /// Thickness of each material layer in [mm]
17 | ///
18 | public double[] Thickness { get; set; }
19 |
20 |
21 | #region High level physical properties
22 | ///
23 | /// U-Value of this component
24 | ///
25 | public double UValue { get; set; }
26 | ///
27 | /// Absorptivity
28 | ///
29 | public double Absorbtivity { get; set; }
30 | ///
31 | /// Reflectivity
32 | ///
33 | public double Reflectivity { get; set; }
34 | ///
35 | /// Transmissivity
36 | ///
37 | public double Transmissivity { get; set; }
38 |
39 | ///
40 | /// Transmissivity
41 | ///
42 | public double Capacitance { get; set; }
43 | #endregion
44 | }
45 |
46 | ///
47 | /// Opaque construction element
48 | ///
49 | public class OpaqueConstruction : Construction
50 | {
51 | public OpaqueConstruction(string name)
52 | {
53 | this.Name = name;
54 | }
55 | }
56 |
57 | public class TransparentConstruction : Construction
58 | {
59 | public TransparentConstruction(string name)
60 | {
61 | this.Name = name;
62 | }
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Building/ConstructionAssembly.cs:
--------------------------------------------------------------------------------
1 | namespace Hive.IO.Building
2 | {
3 | ///
4 | /// Assembly of different constructions to represent a zone or room. Only construction / material properties, geometry information should be stored per Zone.
5 | ///
6 | public abstract class ConstructionAssembly
7 | {
8 | internal string Name { get; set; }
9 | internal OpaqueConstruction WallsConstruction { get; set; }
10 | internal OpaqueConstruction FloorsConstruction { get; set; }
11 | internal OpaqueConstruction RoofsConstruction { get; set; }
12 | internal TransparentConstruction WindowsConstruction { get; set; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Building/Material.cs:
--------------------------------------------------------------------------------
1 |
2 |
3 | namespace Hive.IO.Building
4 | {
5 |
6 | public abstract class Material
7 | {
8 | ///
9 | /// Name
10 | ///
11 | public string Name { get; private set; }
12 | ///
13 | /// lambda, [W/mK]
14 | ///
15 | public double Conductivity { get; private set; }
16 | ///
17 | /// rho, [kg/m^3]
18 | ///
19 | public double Density { get; private set; }
20 | ///
21 | /// c, [J/kgK]
22 | ///
23 | public double SpecificHeatCapacity { get; private set; }
24 | ///
25 | /// [-]
26 | ///
27 | public double ThermalAbsorptance { get; private set; }
28 | ///
29 | /// [-]
30 | ///
31 | public double SolarAbsorptance { get; private set; }
32 | ///
33 | /// [-]
34 | ///
35 | public double VisibleAbsorptance { get; private set; }
36 | }
37 |
38 | public class Opaque : Material
39 | {
40 |
41 | }
42 |
43 | public class Glass : Material
44 | {
45 |
46 | }
47 |
48 | public class Gas : Material
49 | {
50 |
51 | }
52 |
53 | }
54 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Building/requirements.txt:
--------------------------------------------------------------------------------
1 | pyyaml
2 | jsonschema
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Building/sia380_constructions.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "ConstructionType": "default",
4 | "ConstructionTypePretty": "Default",
5 | "Description": "Uses the fixed time constants from SIA 2024 instead.",
6 | "CapacitancePerFloorArea": 0.0
7 | },
8 | {
9 | "ConstructionType": "superlightweight",
10 | "ConstructionTypePretty": "Super Light Weight",
11 | "Description": "Examples: industrial steel building",
12 | "CapacitancePerFloorArea": 10.0
13 | },
14 | {
15 | "ConstructionType": "lightweight",
16 | "ConstructionTypePretty": "Light Weight",
17 | "Description": "Examples: wood construction",
18 | "CapacitancePerFloorArea": 50.0
19 | },
20 | {
21 | "ConstructionType": "mediumweight",
22 | "ConstructionTypePretty": "Medium Weight",
23 | "Description": "Examples: walls with plasterboard and fibre cement facade, wood floors with cement screed and parquet",
24 | "CapacitancePerFloorArea": 100.0
25 | },
26 | {
27 | "ConstructionType": "heavyweight",
28 | "ConstructionTypePretty": "Heavy Weight",
29 | "Description": "Examples: reinforced concrete structure, less than 50% windows, outer insulation",
30 | "CapacitancePerFloorArea": 150.0
31 | }
32 | ]
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Core/AdaptiveComfort.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace Hive.IO.Core
5 | {
6 | public class AdaptiveComfort
7 | {
8 |
9 | const int MONTHS_IN_YEAR = 12;
10 | const int HOURS_IN_YEAR = 8760;
11 |
12 | public readonly double[] Setpoints;
13 | public readonly double[] SetpointsUB80;
14 | public readonly double[] SetpointsLB80;
15 | public readonly double[] SetpointsUB90;
16 | public readonly double[] SetpointsLB90;
17 |
18 | //
19 | // Computes adaptive thermal comfort according to Thermal Comfort - PLEA Notes 3. Auliciems and Szokolay 2007
20 | // :param T_m: Ambient temperature in deg C, either averaged monthly or hourly
21 | // :return: Monthly or hourly adaptive thermal comfort temperature T_n, as well as upper and lower bound for 80 and 90 % acceptance
22 | //
23 | public AdaptiveComfort(List AmbientTemperature)
24 | {
25 | // from PLEA NOTES 3 - Thermal Comfort, by Andris Auliciems and Steven V. Szokolay. 2nd edition 2007
26 | // T_n = 21.5 + 0.11 T_m (Eq. 3.7, for mechanically heated or cooled buildings)
27 | // where T_n is adaptive thermal comfort temperature and T_m is mean monthly ambient temp
28 | // for 90% acceptability limits, T_n +/- 2.5 K, for 80 % T_n +/- 3.5 K
29 |
30 | int resolution = AmbientTemperature.Count;
31 |
32 | // Check temperature length
33 | if (resolution == MONTHS_IN_YEAR || resolution == HOURS_IN_YEAR)
34 | {
35 | Setpoints = new double[resolution];
36 | SetpointsUB80 = new double[resolution];
37 | SetpointsLB80 = new double[resolution];
38 | SetpointsUB90 = new double[resolution];
39 | SetpointsLB90 = new double[resolution];
40 |
41 | for (int i = 0; i < AmbientTemperature.Count; i++)
42 | {
43 | var sp = 21.5 + 0.11 * AmbientTemperature[i];
44 | Setpoints[i] = sp;
45 | SetpointsUB80[i] = sp + 3.5;
46 | SetpointsLB80[i] = sp - 3.5;
47 | SetpointsUB90[i] = sp + 2.5;
48 | SetpointsLB90[i] = sp - 2.5;
49 | }
50 | }
51 | else
52 | {
53 | throw new ArgumentException("Only hourly or monthly averaged temperatures are supported.");
54 | }
55 | }
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/EnergySystems/Lighting.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace Hive.IO.EnergySystems
8 | {
9 | ///
10 | /// Electric lighting and daylight
11 | /// Including set points, daylight controls, luminaire technology, etc...
12 | ///
13 | public abstract class Lighting
14 | {
15 |
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/EnergySystems/Storage.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace Hive.IO.EnergySystems
8 | {
9 | ///
10 | /// Storage systems
11 | /// E.g. batteries, hot water tanks, ice storage, ...
12 | ///
13 | public abstract class Storage
14 | {
15 | public enum TechnologyNames
16 | {
17 | Battery,
18 | WaterTank,
19 | IceStorage,
20 | GroundStorage,
21 | Borehole
22 | }
23 |
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/EnergySystems/Ventilation.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace Hive.IO.EnergySystems
8 | {
9 |
10 |
11 | ///
12 | /// Ventilation systems
13 | /// heat recovery, windows, mechanical ventilation, ...
14 | ///
15 | public abstract class Ventilation
16 | {
17 |
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/EnergySystems/conversion_technology_defaults.json:
--------------------------------------------------------------------------------
1 | {
2 | "Photovoltaic (PV)": {
3 | "Source": "Solar",
4 | "EndUse": "Electricity demand"
5 | },
6 | "Building Integrated Photovoltaic (BIPV)": {
7 | "Source": "Solar",
8 | "EndUse": "Electricity demand"
9 | },
10 | "Solar Thermal (ST)": {
11 | "Source": "Solar",
12 | "EndUse": "Electricity demand"
13 | },
14 | "Boiler (Gas)": {
15 | "Source": "Gas",
16 | "EndUse": "Heating demand, DHW",
17 | "Efficiency": 0.94,
18 | "Capacity": 0.00,
19 | "SpecificCapitalCost": 780.00,
20 | "SpecificEmbodiedEmissions": 38.4,
21 | "Lifetime": 20
22 | },
23 | "CHP": {
24 | "Source": "Gas",
25 | "EndUse": "Electricity demand, Heating demand, DHW",
26 | "Efficiency": 0.3,
27 | "Capacity": 0.00,
28 | "SpecificCapitalCost": 1463.00,
29 | "SpecificEmbodiedEmissions": 558.2,
30 | "Lifetime": 20,
31 | "HeatToPowerRatio": 1.73
32 | },
33 | "Chiller (Electricity)": {
34 | "Source": "Electricity Grid",
35 | "EndUse": "Cooling demand",
36 | "Efficiency": 0.30,
37 | "Capacity": 0.00,
38 | "SpecificCapitalCost": 0.00,
39 | "SpecificEmbodiedEmissions": 364,
40 | "Lifetime": 20
41 | },
42 | "ASHP (Electricity)": {
43 | "Source": "Air",
44 | "EndUse": "Electricity demand",
45 | "Efficiency": 0.30,
46 | "Capacity": 0.00,
47 | "SpecificCapitalCost": 1798,
48 | "SpecificEmbodiedEmissions": 364.00,
49 | "Lifetime": 20
50 | },
51 | "Heat Exchanger": {
52 | "Source": "Air",
53 | "EndUse": "Heating demand",
54 | "DistributionLosses": 0.05,
55 | "Capacity": 0.00,
56 | "SpecificCapitalCost": 0.00,
57 | "SpecificEmbodiedEmissions": 0.00,
58 | "Lifetime": 20
59 | },
60 | "Cooling Exchanger": {
61 | "Source": "Air",
62 | "EndUse": "Cooling demand",
63 | "DistributionLosses": 0.05,
64 | "Capacity": 0.00,
65 | "SpecificCapitalCost": 0.00,
66 | "SpecificEmbodiedEmissions": 0.00,
67 | "Lifetime": 20
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/EnergySystems/emitter_defaults.json:
--------------------------------------------------------------------------------
1 | {
2 | "Radiator": {
3 | "SupplyTemperature": 65.00,
4 | "ReturnTemperature": 55.00,
5 | "SpecificCapitalCost": 2.00,
6 | "SpecificEmbodiedEmissions": 4.00,
7 | "Lifetime": 50.0,
8 | "Capacity": 2,
9 | "IsAir": false,
10 | "IsRadiation": true,
11 | "IsCooling": false,
12 | "IsHeating": true
13 | },
14 | "Air diffuser": {
15 | "SupplyTemperature": 20.00,
16 | "ReturnTemperature": 25.00,
17 | "SpecificCapitalCost": 6.00,
18 | "SpecificEmbodiedEmissions": 7.00,
19 | "Lifetime": 50.0,
20 | "Capacity": 1,
21 | "IsAir": true,
22 | "IsRadiation": false,
23 | "IsCooling": true,
24 | "IsHeating": false
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Forms/Controls/ChillerProperties.cs:
--------------------------------------------------------------------------------
1 | using OxyPlot.Series;
2 |
3 | namespace Hive.IO.Forms.Controls
4 | {
5 | public partial class ChillerProperties : ConversionTechPropertiesBase
6 | {
7 | public ChillerProperties()
8 | {
9 | InitializeComponent();
10 | }
11 |
12 | ///
13 | /// See [here](https://stackoverflow.com/a/3165330/2260) for why I'm not
14 | /// hooking the event up directly with the handler defined in the base class.
15 | ///
16 | ///
17 | ///
18 | private new void Validating(object sender, System.ComponentModel.CancelEventArgs e)
19 | {
20 | TextBox_Validating(sender, e);
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Forms/Controls/ChpProperties.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Drawing;
5 | using System.Data;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Threading.Tasks;
9 | using System.Windows.Forms;
10 |
11 | namespace Hive.IO.Forms.Controls
12 | {
13 | public partial class ChpProperties : ConversionTechPropertiesBase
14 | {
15 | public ChpProperties()
16 | {
17 | InitializeComponent();
18 | }
19 |
20 | ///
21 | /// See [here](https://stackoverflow.com/a/3165330/2260) for why I'm not
22 | /// hooking the event up directly with the handler defined in the base class.
23 | ///
24 | ///
25 | ///
26 | private new void Validating(object sender, System.ComponentModel.CancelEventArgs e)
27 | {
28 | TextBox_Validating(sender, e);
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Forms/Controls/ConversionTechPropertiesBase.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace Hive.IO.Forms.Controls
2 | {
3 | partial class ConversionTechPropertiesBase
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Component Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.SuspendLayout();
32 | //
33 | // ConversionTechPropertiesBase
34 | //
35 | this.AutoScaleDimensions = new System.Drawing.SizeF(16F, 31F);
36 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
37 | this.BackColor = System.Drawing.SystemColors.Window;
38 | this.Name = "ConversionTechPropertiesBase";
39 | this.Size = new System.Drawing.Size(734, 388);
40 | this.ResumeLayout(false);
41 |
42 | }
43 |
44 | #endregion
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Forms/Controls/GasBoilerProperties.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace Hive.IO.Forms.Controls
4 | {
5 | public partial class GasBoilerProperties : ConversionTechPropertiesBase
6 | {
7 | public GasBoilerProperties()
8 | {
9 | InitializeComponent();
10 | }
11 |
12 | ///
13 | /// See [here](https://stackoverflow.com/a/3165330/2260) for why I'm not
14 | /// hooking the event up directly with the handler defined in the base class.
15 | ///
16 | ///
17 | ///
18 | private new void Validating(object sender, CancelEventArgs e)
19 | {
20 | TextBox_Validating(sender, e);
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Forms/Controls/HeatExchangerProperties.cs:
--------------------------------------------------------------------------------
1 | namespace Hive.IO.Forms.Controls
2 | {
3 | public partial class HeatExchangerProperties : ConversionTechPropertiesBase
4 | {
5 | public HeatExchangerProperties()
6 | {
7 | InitializeComponent();
8 | }
9 |
10 | ///
11 | /// See [here](https://stackoverflow.com/a/3165330/2260) for why I'm not
12 | /// hooking the event up directly with the handler defined in the base class.
13 | ///
14 | ///
15 | ///
16 | private new void Validating(object sender, System.ComponentModel.CancelEventArgs e)
17 | {
18 | TextBox_Validating(sender, e);
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Forms/ViewModelBase.cs:
--------------------------------------------------------------------------------
1 | namespace Hive.IO.Forms
2 | {
3 | public abstract class ViewModelBase
4 | {
5 | ///
6 | /// Parses the string to a double or returns the oldValue on error.
7 | ///
8 | ///
9 | ///
10 | ///
11 | protected double ParseDouble(string value, double oldValue)
12 | {
13 | double result;
14 | if (double.TryParse(value, out result)) return result;
15 |
16 | return oldValue;
17 | }
18 | }
19 | }
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/GhCore/GhAdaptiveComfort.cs:
--------------------------------------------------------------------------------
1 |
2 | using System;
3 | using System.Collections.Generic;
4 | using Grasshopper.Kernel.Types;
5 | using Grasshopper.Kernel;
6 | using Hive.IO.EnergySystems;
7 | using Hive.IO.Core;
8 |
9 | namespace Hive.IO.GhDemand
10 | {
11 | public class GhAdaptiveComfort : GH_Component
12 | {
13 | public GhAdaptiveComfort()
14 | : base("Adaptive Comfort", "AdaptiveComfort",
15 | "Adaptive thermal comfort temperature as a function of ambient air temperature. Source: PLEA Notes 3 - Thermal Comfort. Auliciems and Szokolay 2007.",
16 | "[hive]", "Demand")
17 | {
18 | }
19 |
20 | public override GH_Exposure Exposure => GH_Exposure.primary;
21 |
22 |
23 | protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
24 | {
25 | pManager.AddNumberParameter("Air temperature", "T_e", "Average ambient air temperature in °C, either hourly or averaged monthly.", GH_ParamAccess.list);
26 | }
27 |
28 |
29 | protected override void RegisterOutputParams(GH_Component.GH_OutputParamManager pManager)
30 | {
31 | pManager.AddNumberParameter("Thermal comfort", "T_n", "Mean adaptive thermal comfort temperature in °C.", GH_ParamAccess.list);
32 | pManager.AddNumberParameter("Comfort, 80% upper bound", "T_n80ub", "Adaptive thermal comfort temperature in °C (upper bound of 80% acceptance).", GH_ParamAccess.list);
33 | pManager.AddNumberParameter("Comfort, 80% lower bound", "T_n80lb", "Adaptive thermal comfort temperature in °C (lower bound of 80% acceptance).", GH_ParamAccess.list);
34 | pManager.AddNumberParameter("Comfort, 90% upper bound", "T_n90ub", "Adaptive thermal comfort temperature in °C (upper bound of 90% acceptance).", GH_ParamAccess.list);
35 | pManager.AddNumberParameter("Comfort, 90% lower bound", "T_n90lb", "Adaptive thermal comfort temperature in °C (lower bound of 90% acceptance).", GH_ParamAccess.list);
36 | }
37 |
38 |
39 | protected override void SolveInstance(IGH_DataAccess DA)
40 | {
41 | List AmbientTemperature = new List();
42 | if (!DA.GetDataList(0, AmbientTemperature)) return;
43 |
44 | var ac = new AdaptiveComfort(AmbientTemperature);
45 |
46 | DA.SetDataList(0, ac.Setpoints);
47 | DA.SetDataList(1, ac.SetpointsUB80);
48 | DA.SetDataList(2, ac.SetpointsLB80);
49 | DA.SetDataList(3, ac.SetpointsUB90);
50 | DA.SetDataList(4, ac.SetpointsLB90);
51 | }
52 |
53 |
54 | protected override System.Drawing.Bitmap Icon => Properties.Resources.Demand_AdaptiveComfort;
55 |
56 |
57 | public override Guid ComponentGuid => new Guid("C3FF0855-3459-428C-B3C5-3A2203DC75C9");
58 |
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/GhDistributors/GhDistConduit.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using Grasshopper.Kernel;
7 | using Grasshopper.Kernel.Types;
8 |
9 | namespace Hive.IO.GhDistributors
10 | {
11 | public class GhDistConduit : GH_Component
12 | {
13 | public GhDistConduit()
14 | : base("Distributor Conduit Hive", "HiveDistConduit",
15 | "Distributor for PV or Window irradiation data to Conduit HUD chart",
16 | "[hive]", "IO-Core")
17 | {
18 | }
19 |
20 | public override GH_Exposure Exposure => GH_Exposure.secondary;
21 |
22 | protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
23 | {
24 | pManager.AddBooleanParameter("Chart Toggle", "toggle", "Bool; if true, HUD displays PV irradiation data, if false, window irradiation data", GH_ParamAccess.item);
25 | pManager.AddGenericParameter("PV data", "PVData", "List of PV irradiation data points", GH_ParamAccess.list);
26 | pManager.AddGenericParameter("Window data", "WindowData", "List of Window irradiation data points", GH_ParamAccess.list);
27 |
28 | pManager[1].Optional = true;
29 | pManager[2].Optional = true;
30 | }
31 |
32 |
33 |
34 | protected override void RegisterOutputParams(GH_Component.GH_OutputParamManager pManager)
35 | {
36 | pManager.AddGenericParameter("Plot data", "PlotData", "Irradiation data to be displayed in HUD chart", GH_ParamAccess.list);
37 | pManager.AddGenericParameter("Title Plot 1", "TitlePlot1", "Title of Plot 1", GH_ParamAccess.item);
38 | pManager.AddGenericParameter("Title Plot 2", "TitlePlot2", "Title of Plot 2", GH_ParamAccess.item);
39 | }
40 |
41 | protected override void SolveInstance(IGH_DataAccess DA)
42 | {
43 | var toggle = new bool();
44 | DA.GetData(0, ref toggle);
45 | var PV_data = new List();
46 | DA.GetDataList(1, PV_data);
47 | var Window_data = new List();
48 | DA.GetDataList(2, Window_data);
49 |
50 | var data = new List();
51 | var title1 = "";
52 | var title2 = "";
53 |
54 | if (toggle)
55 | {
56 | data = PV_data;
57 | title1 = "Total PV Irradiance (W)";
58 | title2 = "PV Irradiance(W)";
59 | }
60 | else
61 | {
62 | data = Window_data;
63 | title1 = "Total Windows Irradiance (W)";
64 | title2 = "Window Irradiance(W)";
65 | }
66 |
67 | DA.SetDataList(0, data);
68 | DA.SetData(1, title1);
69 | DA.SetData(2, title2);
70 | }
71 |
72 | protected override System.Drawing.Bitmap Icon => Properties.Resources.IOCore_DistConduit;
73 |
74 | public override Guid ComponentGuid => new Guid("d4c71228-b0bd-4c8b-b24e-a73164189fcd");
75 | }
76 | }
77 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/GhDistributors/GhDistEmitter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using Grasshopper.Kernel.Types;
4 | using Grasshopper.Kernel;
5 | using Hive.IO.EnergySystems;
6 |
7 | namespace Hive.IO.GhDistributors
8 | {
9 | public class GhDistEmitter : GH_Component
10 | {
11 | public GhDistEmitter()
12 | : base("Distributor Emitter Hive", "HiveDistEmitter",
13 | "Distributor for Hive emitters",
14 | "[hive]", "IO-Core")
15 | {
16 | }
17 |
18 | public override GH_Exposure Exposure => GH_Exposure.secondary;
19 |
20 |
21 | protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
22 | {
23 | pManager.AddGenericParameter("Emitters", "Emitters", "Hive heat and cold emitters (Raumabgabe) of type ", GH_ParamAccess.list);
24 | }
25 |
26 |
27 | protected override void RegisterOutputParams(GH_Component.GH_OutputParamManager pManager)
28 | {
29 | pManager.AddNumberParameter("HourlyHtgSupTemp", "HourlyHtgSupTemp", "Hourly heating supply temperature", GH_ParamAccess.list);
30 | pManager.AddNumberParameter("HourlyHtgRetTemp", "HourlyHtgRetTemp", "Hourly heating return temperature", GH_ParamAccess.list);
31 | pManager.AddNumberParameter("HourlyClgSupTemp", "HourlyClgSupTemp", "Hourly cooling supply temperature", GH_ParamAccess.list);
32 | pManager.AddNumberParameter("HourlyClgRetTemp", "HourlyClgRetTemp", "Hourly cooling return temperature", GH_ParamAccess.list);
33 | }
34 |
35 |
36 | protected override void SolveInstance(IGH_DataAccess DA)
37 | {
38 | var inputEmitters = new List();
39 | if (!DA.GetDataList(0, inputEmitters)) return;
40 |
41 | var hourlyHtgSupTemp = new List();
42 | var hourlyHtgRetTemp = new List();
43 | var hourlyClgSupTemp = new List();
44 | var hourlyClgRetTemp = new List();
45 |
46 |
47 | foreach (Emitter emitter in inputEmitters)
48 | {
49 | if (emitter.IsCooling)
50 | {
51 | hourlyClgSupTemp = new List(emitter.InletCarrier.Temperature);
52 | hourlyClgRetTemp = new List(emitter.ReturnCarrier.Temperature);
53 | }
54 | else if (emitter.IsHeating)
55 | {
56 | hourlyHtgSupTemp = new List(emitter.InletCarrier.Temperature);
57 | hourlyHtgRetTemp = new List(emitter.ReturnCarrier.Temperature);
58 | }
59 | }
60 |
61 | DA.SetDataList(0, hourlyHtgSupTemp);
62 | DA.SetDataList(1, hourlyHtgRetTemp);
63 | DA.SetDataList(2, hourlyClgSupTemp);
64 | DA.SetDataList(3, hourlyClgRetTemp);
65 |
66 | }
67 |
68 |
69 | protected override System.Drawing.Bitmap Icon => Properties.Resources.IOCore_DistEmitter;
70 |
71 |
72 | public override Guid ComponentGuid => new Guid("11520a55-b99e-43aa-8f02-4bedc9f7c7f1");
73 |
74 | }
75 | }
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/GhEnergySystems/GhBoilerSimple.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Grasshopper.Kernel;
3 |
4 | namespace Hive.IO.GhEnergySystems
5 | {
6 | public class GhBoilerSimple : GH_Component
7 | {
8 | ///
9 | // could be gas, oil, bio boiler
10 | // because its just efficiency times fuel [kWh]
11 | //
12 | // arguments:
13 | // - cost of carrier [CHF/kWh]
14 | // - emmissions of carrier [kgCO2/kWheq.]
15 | // - efficiency [-]
16 | // - heating loads [kWh]
17 | //
18 | // should return
19 | // - cost [CHF]
20 | // - carbon emissions [kgCO2eq.]
21 | ///
22 | public GhBoilerSimple()
23 | : base("Boiler Energy System", "BoilerSimple",
24 | "Calculates total operating cost and carbon emissions of a boiler to meet heating loads.",
25 | "[hive]", "Energy Systems")
26 | {
27 | }
28 |
29 | public override GH_Exposure Exposure => GH_Exposure.primary;
30 |
31 |
32 | protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
33 | {
34 | pManager.AddNumberParameter("heating_loads", "htg", "Heating loads [kWh]", GH_ParamAccess.item);
35 | pManager.AddNumberParameter("carrier_cost", "cost", "Cost of energy carrier [CHF/kWh]", GH_ParamAccess.item);
36 | pManager.AddNumberParameter("carrier_emissions", "CO2", "Carbon emissions of energy carrier [kgCO2/kWheq.]", GH_ParamAccess.item);
37 | pManager.AddNumberParameter("efficiency", "eta", "Efficiency of boiler [-]", GH_ParamAccess.item);
38 | }
39 |
40 |
41 | protected override void RegisterOutputParams(GH_Component.GH_OutputParamManager pManager)
42 | {
43 | pManager.AddNumberParameter("gas_consumed", "gas", "Total gas consumed [kWh eq.]", GH_ParamAccess.item);
44 | pManager.AddNumberParameter("cost", "cost", "Total operation cost [CHF]", GH_ParamAccess.item);
45 | pManager.AddNumberParameter("carbon", "carbon", "Total operation carbon emissions [kgCO2eq.]", GH_ParamAccess.item);
46 | }
47 |
48 |
49 | protected override void SolveInstance(IGH_DataAccess DA)
50 | {
51 | double heating_loads = 0.0;
52 | if (!DA.GetData(0, ref heating_loads)) return;
53 | double carrier_cost = 0.0;
54 | if (!DA.GetData(1, ref carrier_cost)) return;
55 | double carrier_emissions = 0.0;
56 | if (!DA.GetData(2, ref carrier_emissions)) return;
57 | double efficiency = 0.0;
58 | if (!DA.GetData(3, ref efficiency)) return;
59 |
60 | var gas_consumed = heating_loads * efficiency;
61 | var total_cost = gas_consumed * carrier_cost;
62 | var total_emissions = gas_consumed * carrier_emissions;
63 |
64 | DA.SetData(0, gas_consumed);
65 | DA.SetData(1, total_cost);
66 | DA.SetData(2, total_emissions);
67 | }
68 |
69 |
70 | protected override System.Drawing.Bitmap Icon => Properties.Resources.EnergySystems_Boiler_Simple;
71 |
72 |
73 | public override Guid ComponentGuid => new Guid("1d47ce6e-44ed-4ac6-9890-93dc91fb8529");
74 |
75 | }
76 | }
77 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/GhEnergySystems/GhBoilerTimeResolved.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using Grasshopper.Kernel;
4 | using System.Linq;
5 |
6 | namespace Hive.IO.GhEnergySystems
7 | {
8 | public class GhBoilerTimeResolved : GH_Component
9 | {
10 | public GhBoilerTimeResolved()
11 | : base("Boiler time resolved Energy System", "BoilerTimeResolved",
12 | "Calculates time resolved consumed fuel, operating cost and carbon emissions of a boiler to meet heating loads.",
13 | "[hive]", "Energy Systems")
14 | {
15 | }
16 |
17 | public override GH_Exposure Exposure => GH_Exposure.secondary;
18 |
19 |
20 | protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
21 | {
22 | pManager.AddNumberParameter("heating_loads", "htg", "Heating loads, time resolved [kWh/h]", GH_ParamAccess.list);
23 | pManager.AddNumberParameter("carrier_cost", "cost", "Cost of energy carrier, time resolved [CHF/kWh]", GH_ParamAccess.list);
24 | pManager.AddNumberParameter("carrier_emissions", "CO2", "Carbon emissions of energy carrier time resolved [kgCO2/kWheq.]", GH_ParamAccess.list);
25 | pManager.AddNumberParameter("efficiency", "eta", "Efficiency of boiler, time resolved [-/h]. Could change depending on supply temp.", GH_ParamAccess.list);
26 | }
27 |
28 |
29 | protected override void RegisterOutputParams(GH_Component.GH_OutputParamManager pManager)
30 | {
31 | pManager.AddNumberParameter("gas_consumed", "gas", "Total gas consumed [kWh eq.]", GH_ParamAccess.list);
32 | pManager.AddNumberParameter("cost", "cost", "Total operation cost [CHF/h]", GH_ParamAccess.list);
33 | pManager.AddNumberParameter("carbon", "carbon", "Total operation carbon emissions [kgCO2eq./h]", GH_ParamAccess.list);
34 | }
35 |
36 |
37 | protected override void SolveInstance(IGH_DataAccess DA)
38 | {
39 | List heating_loads = new List();
40 | if (!DA.GetDataList(0, heating_loads)) return;
41 | List carrier_cost = new List();
42 | if (!DA.GetDataList(1, carrier_cost)) return;
43 | List carrier_emissions = new List();
44 | if (!DA.GetDataList(2, carrier_emissions)) return;
45 | List eta = new List();
46 | if (!DA.GetDataList(3, eta)) return;
47 |
48 | var horizon = new[] { heating_loads.Count, carrier_cost.Count, carrier_emissions.Count, eta.Count }.Min();
49 |
50 | var cost = new double[horizon];
51 | var carbon = new double[horizon];
52 | var gas_consumed = new double[horizon];
53 |
54 | foreach (var t in Enumerable.Range(0, horizon))
55 | {
56 | gas_consumed[t] = heating_loads[t] * eta[t];
57 | cost[t] = gas_consumed[t] * carrier_cost[t];
58 | carbon[t] = gas_consumed[t] * carrier_emissions[t];
59 | }
60 |
61 | DA.SetDataList(0, gas_consumed);
62 | DA.SetDataList(1, cost);
63 | DA.SetDataList(2, carbon);
64 | }
65 |
66 |
67 | protected override System.Drawing.Bitmap Icon => Properties.Resources.EnergySystems_Boiler_TimeResult;
68 |
69 |
70 | public override Guid ComponentGuid => new Guid("b74557e1-e382-44fd-b4a9-7c315e670b51");
71 | }
72 |
73 | }
74 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/GhEnergySystems/GhChillerSimple.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Grasshopper.Kernel;
3 |
4 | namespace Hive.IO.GhEnergySystems
5 | {
6 | public class GhChillerSimple : GH_Component
7 | {
8 | //
9 | // Chiller (air con)
10 | // Simple equation: electricity loads = cooling loads / COP
11 | //
12 | // arguments:
13 | // - cooling loads [kWh]
14 | // - COP [-]
15 | // - electricity cost [CHF/kWh]
16 | // - electricity emissions [kgCO2/kWh eq.]
17 | //
18 | // outputs:
19 | // - electricity loads [kWh]
20 | // - total cost [CHF]
21 | // - total carbon [kgCO2]
22 | //
23 |
24 | public GhChillerSimple() :
25 | base("Chiller Energy System", "ChillerSimple",
26 | "Calculates total operating cost and carbon emissions of a chiller (split A/C) to meet cooling loads.",
27 | "[hive]", "Energy Systems")
28 | {
29 | }
30 |
31 | public override GH_Exposure Exposure => GH_Exposure.primary;
32 |
33 | protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
34 | {
35 | pManager.AddNumberParameter("cooling_loads", "clg", "Cooling loads [kWh]", GH_ParamAccess.item);
36 | pManager.AddNumberParameter("elec_cost", "cost", "Cost of electricity [CHF/kWh]", GH_ParamAccess.item);
37 | pManager.AddNumberParameter("elec_emissions", "CO2", "Carbon emissions of electricity [kgCO2/kWheq.]", GH_ParamAccess.item);
38 | pManager.AddNumberParameter("COP", "COP", "COP of chiller [-]", GH_ParamAccess.item);
39 | }
40 |
41 | protected override void RegisterOutputParams(GH_Component.GH_OutputParamManager pManager)
42 | {
43 | pManager.AddNumberParameter("elec", "elec", "Electricity loads from operating the chiller [kWh]", GH_ParamAccess.item);
44 | pManager.AddNumberParameter("cost", "cost", "Total operation cost [CHF]", GH_ParamAccess.item);
45 | pManager.AddNumberParameter("carbon", "carbon", "Total operation carbon emissions [kgCO2eq.]", GH_ParamAccess.item);
46 | }
47 |
48 | protected override void SolveInstance(IGH_DataAccess DA)
49 | {
50 |
51 | double cooling_loads = 0.0;
52 | if (!DA.GetData(0, ref cooling_loads)) return;
53 | double elec_cost = 0.0;
54 | if (!DA.GetData(1, ref elec_cost)) return;
55 | double elec_emissions = 0.0;
56 | if (!DA.GetData(2, ref elec_emissions)) return;
57 | double COP = 0.0;
58 | if (!DA.GetData(3, ref COP)) return;
59 |
60 | var elec_load = cooling_loads / COP;
61 | var total_cost = elec_load * elec_cost;
62 | var total_emissions = elec_load * elec_emissions;
63 |
64 | DA.SetData(0, elec_load);
65 | DA.SetData(1, total_cost);
66 | DA.SetData(2, total_emissions);
67 | }
68 |
69 | protected override System.Drawing.Bitmap Icon => Properties.Resources.EnergySystems_Chiller_Simple;
70 |
71 |
72 | public override Guid ComponentGuid => new Guid("442d18ba-ed3f-4f21-aa81-17b0fd331ec6");
73 | }
74 | }
75 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/GhEnergySystems/GhHeatpumpCOP.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Grasshopper.Kernel;
3 |
4 | namespace Hive.IO.GhEnergySystems
5 | {
6 | public class GhHeatpumpCOP : GH_Component
7 | {
8 | //Simple COP calculation for heat pumps, from lectures Energy and Climate Systems FS 2019
9 |
10 | //COP_W = eta(T_1 / (T_1 - T_2))
11 |
12 | //arguments:
13 | // - eta : efficiency HP
14 | // - T_1 : temperature warm reservoir[K]
15 | // - T_2 : temperature cold reservoir[K]
16 |
17 | //output:
18 | // - COP_W : coefficient of performance[-]
19 |
20 | public GhHeatpumpCOP() :
21 | base("Heat pump COP Energy System", "HpCopSimple",
22 | "Calculates the Coefficient of Performance (COP) of a simple heat pump.",
23 | "[hive]", "Energy Systems")
24 | {
25 | }
26 |
27 | public override GH_Exposure Exposure => GH_Exposure.tertiary;
28 |
29 | protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
30 | {
31 | pManager.AddNumberParameter("eta", "eta", "Efficiency of heat pump [-]", GH_ParamAccess.item);
32 | pManager.AddNumberParameter("T_1", "T_1", "Temperature of warm reservoir [k]", GH_ParamAccess.item);
33 | pManager.AddNumberParameter("T_2", "T_2", "Temperature of cold reservoir [k]", GH_ParamAccess.item);
34 | }
35 |
36 | protected override void RegisterOutputParams(GH_Component.GH_OutputParamManager pManager)
37 | {
38 | pManager.AddNumberParameter("COP_W", "COP_W", "COP of heat pump [-]", GH_ParamAccess.item);
39 | }
40 |
41 | protected override void SolveInstance(IGH_DataAccess DA)
42 | {
43 | double eta = 0.0;
44 | if (!DA.GetData(0, ref eta)) return;
45 | double T_1 = 0.0;
46 | if (!DA.GetData(1, ref T_1)) return;
47 | double T_2 = 0.0;
48 | if (!DA.GetData(2, ref T_2)) return;
49 |
50 | var kelvin = 273.15;
51 | T_1 += kelvin;
52 | T_2 += kelvin;
53 |
54 | var COP_W = eta * (T_1 / (T_1 - T_2));
55 |
56 | DA.SetData(0, COP_W);
57 | }
58 |
59 | protected override System.Drawing.Bitmap Icon => Properties.Resources.EnergySystems_Heatpump_COP;
60 |
61 | public override Guid ComponentGuid => new Guid("8985f9d2-84bd-440b-87f0-3aba5ab1f7b0");
62 | }
63 | }
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/GhEnergySystems/GhHeatpumpSimple.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Grasshopper.Kernel;
3 |
4 | namespace Hive.IO.GhEnergySystems
5 | {
6 | public class GhHeatpumpSimple : GH_Component
7 | {
8 |
9 | //Simple heat pump calculation according to Energy and Climate Systems lecture FS 2019
10 | //E = Q / COP
11 |
12 | //input:
13 | //Q = heating loads[kWh]
14 | //COP = coefficient of performance[-]
15 |
16 | //output:
17 | //E = electricity loads[kWh]
18 | public GhHeatpumpSimple()
19 | : base("Heat pump Energy System", "HeatPumpSimple",
20 | "Calculates total consumed electricity of a simple heat pump, given a Coefficient of Performance, to meet heating energy demand.",
21 | "[hive]", "Energy Systems"
22 | )
23 | {
24 | }
25 |
26 | public override GH_Exposure Exposure => GH_Exposure.primary;
27 |
28 | protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
29 | {
30 | pManager.AddNumberParameter("Q_th", "Q_th", "Heating loads [kWh]", GH_ParamAccess.item);
31 | pManager.AddNumberParameter("COP", "COP", "Coefficient of performance of COP [-]", GH_ParamAccess.item);
32 | }
33 |
34 | protected override void RegisterOutputParams(GH_Component.GH_OutputParamManager pManager)
35 | {
36 | pManager.AddNumberParameter("E", "E", "Electrity loads required to operate heat pump, in [kWh]", GH_ParamAccess.item);
37 | }
38 |
39 | protected override void SolveInstance(IGH_DataAccess DA)
40 | {
41 | double Q = 0.0;
42 | if (!DA.GetData(0, ref Q)) return;
43 | double COP = 0.0;
44 | if (!DA.GetData(1, ref COP)) return;
45 |
46 | var E = Q / COP;
47 |
48 | DA.SetData(0, E);
49 | }
50 |
51 | protected override System.Drawing.Bitmap Icon => Properties.Resources.EnergySystems_Heatpump_AirSource;
52 |
53 | public override Guid ComponentGuid => new Guid("29d3b83b-038f-4b19-8667-aad256f6b1e4");
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/GhInputOutput/GhResultsExposer.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Grasshopper.Kernel;
3 |
4 | namespace Hive.IO.GhInputOutput
5 | {
6 | public class GhResultsExposer : GH_Component
7 | {
8 | public GhResultsExposer()
9 | : base("Results Exposer Hive", "HiveResultsExposer",
10 | "Exposes Hive results from into regular GH_Numbers that can be read in Grasshopper",
11 | "[hive]", "IO")
12 | {
13 | }
14 |
15 | public override GH_Exposure Exposure => GH_Exposure.secondary;
16 |
17 |
18 | protected override void RegisterInputParams(GH_InputParamManager pManager)
19 | {
20 | pManager.AddGenericParameter("Results", "Results", "Hive Results of type ", GH_ParamAccess.item);
21 | pManager.AddGenericParameter("ResultType", "ResultType", "Which result to extract. Choose from a dropdwon menu.", GH_ParamAccess.item);
22 | }
23 |
24 |
25 | protected override void RegisterOutputParams(GH_OutputParamManager pManager)
26 | {
27 | pManager.AddGenericParameter("Result", "Result", "The selected result to extract.", GH_ParamAccess.list);
28 | }
29 |
30 |
31 | protected override void SolveInstance(IGH_DataAccess DA)
32 | {
33 | var results = new Results.Results();
34 | if (!DA.GetData(0, ref results)) return;
35 |
36 | string resultsType = "";
37 | if (!DA.GetData(1, ref resultsType)) return;
38 |
39 | var result = typeof(Results.Results).GetProperty(resultsType)?.GetValue(results);
40 | if (result is double resultAsDouble)
41 | {
42 | DA.SetData(0, resultAsDouble);
43 | }
44 | else if (result is double[] resultAsDoubleArray)
45 | {
46 | DA.SetDataList(0, resultAsDoubleArray);
47 | }
48 | }
49 |
50 |
51 | protected override System.Drawing.Bitmap Icon => Properties.Resources.IO_CoreMerger; // FIXME
52 |
53 |
54 | public override Guid ComponentGuid => new Guid("F2D51DD0-3C0A-435F-8C0B-D6F78F6014C1");
55 |
56 | }
57 | }
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/GhSolar/GhOrientationFactor.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Grasshopper.Kernel;
3 |
4 | namespace Hive.IO.GhSolar
5 | {
6 | public class GhOrientationFactor : GH_Component
7 | {
8 | public GhOrientationFactor() :
9 | base("Solar Orientation Factor", "OrientationFactor",
10 | "Solar orientation factor of a surface",
11 | "[hive]", "Solar")
12 | {
13 | }
14 |
15 | public override GH_Exposure Exposure => GH_Exposure.secondary;
16 |
17 | protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
18 | {
19 | pManager.AddNumberParameter("G_flat", "G_flat", "Global irradiation, i.e. on the flat, in [kWh/m2]", GH_ParamAccess.item);
20 | pManager.AddNumberParameter("G_angled", "G_angled", "Irradiation on an angle in [kWh/m2]", GH_ParamAccess.item);
21 | }
22 |
23 | protected override void RegisterOutputParams(GH_Component.GH_OutputParamManager pManager)
24 | {
25 | pManager.AddNumberParameter("OF", "OF", "Orientation factor as a fraction [0.0, >1.0]", GH_ParamAccess.item);
26 | }
27 |
28 | protected override void SolveInstance(IGH_DataAccess DA)
29 | {
30 | double G_flat = 0.0;
31 | if (!DA.GetData(0, ref G_flat)) return;
32 | double G_angled = 0.0;
33 | if (!DA.GetData(1, ref G_angled)) return;
34 |
35 | var OF = G_angled / G_flat;
36 |
37 | DA.SetData(0, OF);
38 | }
39 |
40 | protected override System.Drawing.Bitmap Icon => Properties.Resources.Solar_OrientationFactor;
41 |
42 | public override Guid ComponentGuid => new Guid("5a27df87-3799-4f73-8551-424a35cd8917");
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/GhSolar/GhPVSimple.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Grasshopper.Kernel;
3 |
4 | namespace Hive.IO.GhSolar
5 | {
6 | public class GhPVSimple : GH_Component
7 | {
8 | //Calculates total solar electricity yield using simple equation from Energy and Climate Systems course FS2019:
9 | //E_PV = G* F_F * A * eta_PV * PR
10 |
11 | //Inputs:
12 | //- G - Global horizontal irradiation[kWh / m2]
13 | //- F_F - Form factor, also: Orientation factor[0.0, > 1.0]
14 | //- A - PV area[m2]
15 | //- eta_PV - PV module efficiency[0.0, 1.0]
16 | //- PR - Performance ratio[0.0, 1.0]
17 |
18 | //outputs:
19 | //- E_PV - PV electricity generation[kWh]
20 |
21 | public GhPVSimple() :
22 | base("Photovoltaic Energy System", "PvSimple",
23 | "Calculates total photovoltaic electricity generation using simplified a equation (E_PV = G * F_F * A * eta_PV * PR)",
24 | "[hive]", "Solar")
25 | {
26 | }
27 |
28 | public override GH_Exposure Exposure => GH_Exposure.secondary;
29 |
30 | protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
31 | {
32 | pManager.AddNumberParameter("Global_Irradiation", "G", "Global horizontal irradiation, in [kWh/m²]", GH_ParamAccess.item);
33 | pManager.AddNumberParameter("FormFactor", "F_f", "Form factor, also known as orientation factor, that defines how much of the global annual irradiation is effectively used, depending on the angle of the PV surface. Fractional value [0.0, >1.0]. (Default: 1.0)", GH_ParamAccess.item, 1.0);
34 | pManager.AddNumberParameter("SurfaceArea", "A", "PV surface are in [m²]. (Default: 1.0)", GH_ParamAccess.item, 1.0);
35 | pManager.AddNumberParameter("PVEfficiency", "eta_PV", "PV technology efficiency, fractional value [0.0, 1.0]. (Default: 0.15)", GH_ParamAccess.item, 0.15);
36 | pManager.AddNumberParameter("PerformanceRatio", "PR", "Performance Ratio, depends on how well the PV is exposed (shaded, not) and how clean it is (dirty, dusty, super clean). Fractional [0.0, 1.0]. (Default: 0.75)", GH_ParamAccess.item, 0.75);
37 | }
38 |
39 | protected override void RegisterOutputParams(GH_Component.GH_OutputParamManager pManager)
40 | {
41 | pManager.AddNumberParameter("AnnualYield", "annual", "Total solar electricity generation [kWh]", GH_ParamAccess.item);
42 | }
43 |
44 | protected override void SolveInstance(IGH_DataAccess DA)
45 | {
46 | double G = 0.0;
47 | if (!DA.GetData(0, ref G)) return;
48 | double F_f = 0.0;
49 | if (!DA.GetData(1, ref F_f)) return;
50 | double A = 0.0;
51 | if (!DA.GetData(2, ref A)) return;
52 | double eta_PV = 0.0;
53 | if (!DA.GetData(3, ref eta_PV)) return;
54 | double PR = 0.0;
55 | if (!DA.GetData(4, ref PR)) return;
56 |
57 |
58 | var E_PV = G * F_f * A * eta_PV * PR;
59 |
60 | DA.SetData(0, E_PV);
61 | }
62 |
63 | protected override System.Drawing.Bitmap Icon => Properties.Resources.Solar_PV_Simple;
64 |
65 | public override Guid ComponentGuid => new Guid("5c9d60fe-755c-420a-81d9-e15e786e48b5");
66 | }
67 | }
68 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/GhSolar/GhSTSimple.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Grasshopper.Kernel;
3 |
4 | namespace Hive.IO.GhSolar
5 | {
6 | public class GhSTSimple : GH_Component
7 | {
8 | public GhSTSimple()
9 | : base("Solar Thermal Energy System", "SolarThermalSimple",
10 | "Calculates the total yield of a solar thermal collector using simplified equation (Q_th = G * F_F * A * eta_K * R_V)",
11 | "[hive]", "Solar")
12 | {
13 | }
14 |
15 | public override GH_Exposure Exposure => GH_Exposure.secondary;
16 |
17 | protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
18 | {
19 | pManager.AddNumberParameter("Global_Irradiation", "G", "Global horizontal irradiation, in [kWh/m²]", GH_ParamAccess.item);
20 | pManager.AddNumberParameter("FormFactor", "F_f", "Form factor, also known as orientation factor, that defines how much of the global annual irradiation is effectively used, depending on the angle of the Solar thermal collector. Fractional value [0.0, >1.0]. (Default: 1.0)", GH_ParamAccess.item, 1.0);
21 | pManager.AddNumberParameter("SurfaceArea", "A", "Solar thermal collector surface are in [m²]. (Default: 1.0)", GH_ParamAccess.item, 1.0);
22 | pManager.AddNumberParameter("STEfficiency", "eta_K", "Thermal efficiency of collector, fractional value [0.0, 1.0]. (Default: 0.15)", GH_ParamAccess.item, 0.15);
23 | pManager.AddNumberParameter("DistributionLosses", "R_V", "Distribution losses coefficient. Fractional [0.0, 1.0]. (Default: 0.75)", GH_ParamAccess.item, 0.75);
24 | }
25 |
26 | protected override void RegisterOutputParams(GH_Component.GH_OutputParamManager pManager)
27 | {
28 | pManager.AddNumberParameter("ThermalYield", "yield", "Total thermal energy generation [kWh].", GH_ParamAccess.item);
29 | }
30 |
31 | protected override void SolveInstance(IGH_DataAccess DA)
32 | {
33 | double G = 0.0;
34 | if (!DA.GetData(0, ref G)) return;
35 | double F_f = 0.0;
36 | if (!DA.GetData(1, ref F_f)) return;
37 | double A = 0.0;
38 | if (!DA.GetData(2, ref A)) return;
39 | double eta_K = 0.0;
40 | if (!DA.GetData(3, ref eta_K)) return;
41 | double R_V = 0.0;
42 | if (!DA.GetData(4, ref R_V)) return;
43 |
44 |
45 | var Q_th = G * F_f * A * eta_K * R_V;
46 |
47 | DA.SetData(0, Q_th);
48 | }
49 |
50 | protected override System.Drawing.Bitmap Icon => Properties.Resources.Solar_ST_Simple;
51 |
52 | public override Guid ComponentGuid => new Guid("841d16df-763a-475f-91c1-41398e583d7d");
53 |
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/GhSolar/GhTreeSchedule.cs:
--------------------------------------------------------------------------------
1 | using Grasshopper.Kernel.Special;
2 | using Grasshopper.Kernel;
3 | using Hive.IO.Util;
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Threading.Tasks;
9 | using Newtonsoft.Json;
10 | using System.Reflection;
11 | using System.Drawing;
12 |
13 | namespace Hive.IO.GhValueLists
14 | {
15 | public class GhTreeSchedule : GH_Component
16 | {
17 | public GhTreeSchedule() : base(
18 | "Tree Schedules",
19 | "TreeSchedule",
20 | "Outputs the tree leaf schedule for the desired tree type",
21 | "[hive]",
22 | "Solar")
23 | {}
24 |
25 | public override GH_Exposure Exposure => GH_Exposure.secondary;
26 |
27 | public class TreeSchedules
28 | {
29 | public List fruiting { get; set; }
30 | public List mallow { get; set; }
31 | public List viburnum { get; set; }
32 | public List willow { get; set; }
33 | public List witch_hazel { get; set; }
34 | public List sycamore { get; set; }
35 | public List oak { get; set; }
36 | public List walnut { get; set; }
37 | public List katsura { get; set; }
38 | public List dogwood { get; set; }
39 | public List conifer { get; set; }
40 | public List olive { get; set; }
41 | public List bamboo { get; set; }
42 | public List staff_vine { get; set; }
43 | public List birch { get; set; }
44 | public List maple { get; set; }
45 | }
46 |
47 | private static TreeSchedules treeSchedules_; //JsonResource backing field
48 | TreeSchedules treeSchedules = new TreeSchedules();
49 |
50 | public static string ResourceName = "Hive.IO.GhSolar.tree_schedules.json";
51 |
52 |
53 | protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
54 | {
55 | pManager.AddGenericParameter("Tree Type", "TreeType", "Desired Tree Type", GH_ParamAccess.item);
56 | }
57 |
58 | protected override void RegisterOutputParams(GH_OutputParamManager pManager)
59 | {
60 | pManager.AddGenericParameter("Tree Schedule", "TreeSchedule", "Schedule of the selected tree type", GH_ParamAccess.list);
61 | }
62 |
63 | protected override void SolveInstance(IGH_DataAccess DA)
64 | {
65 | string treeType = "";
66 | if (!DA.GetData(0, ref treeType)) return;
67 |
68 | treeSchedules = JsonResource.ReadRecords(ResourceName, ref treeSchedules_);
69 |
70 | var schedule = treeSchedules.GetType().GetProperty(treeType).GetValue(treeSchedules) as IEnumerable;
71 |
72 | DA.SetDataList(0, schedule);
73 | }
74 |
75 | protected override Bitmap Icon => Properties.Resources.Solar_TreeSchedules;
76 |
77 | public override Guid ComponentGuid => new Guid("53ffee32-d80e-48a3-bc1f-07e3b0e411d7");
78 | }
79 | }
80 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/GhSolar/compile_tree_schedules.py:
--------------------------------------------------------------------------------
1 | import os
2 | import csv
3 | import json
4 |
5 | RESOURCES_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "Resources"))
6 | OUT_DIR = os.path.dirname(__file__)
7 |
8 | def compile_tree_schedules_to_json():
9 | """
10 | Read in csv files with data about tree schedules (located in hive/src/Hive.IO/Hive.IO/Resources)
11 | and save them to a json format.
12 | """
13 |
14 | JSON_OUT = "tree_schedules.json"
15 | JSON_PATH = os.path.join(OUT_DIR, JSON_OUT)
16 |
17 | filename = "tree_schedules.csv"
18 |
19 | print("Compiling tree schedules...")
20 | data = dict()
21 |
22 | file_path = os.path.join(RESOURCES_DIR, filename)
23 | assert os.path.exists(file_path), "File does not exist: " + file_path
24 |
25 | with open(file_path, "r") as fp:
26 | reader = csv.DictReader(fp)
27 |
28 | out = [{
29 | "walnut": row["walnut"],
30 | "sycamore": row["sycamore"],
31 | "birch": row["birch"],
32 | "mallow": row["mallow"],
33 | "oak": row["oak"],
34 | "maple": row["maple"],
35 | "willow": row["willow"],
36 | "dogwood": row["dogwood"],
37 | "katsura": row["katsura"],
38 | "fruiting": row["fruiting"],
39 | "witch_hazel": row["witch_hazel"],
40 | "staff_vine": row["staff_vine"],
41 | "olive": row["olive"],
42 | "viburnum": row["viburnum"],
43 | "bamboo": row["bamboo"],
44 | "conifer": row["conifer"],
45 | }
46 | for row in reader]
47 |
48 | keys = out[0].keys()
49 | ref_out = {key: [float(i[key]) for i in out] for key in keys}
50 |
51 | data = ref_out
52 |
53 | with open(JSON_PATH, "w") as fp:
54 | json.dump(data, fp, indent=4, encoding="utf8")
55 |
56 | print("Done. Saved at {0}".format(JSON_PATH))
57 |
58 | if __name__ == '__main__':
59 | compile_tree_schedules_to_json()
60 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/GhValueLists/GhPerformanceRatioList.cs:
--------------------------------------------------------------------------------
1 | using Grasshopper.Kernel.Special;
2 | using System;
3 | using Hive.IO.Util;
4 | using System.Collections.Generic;
5 | using Grasshopper.Kernel;
6 |
7 | namespace Hive.IO.GhValueLists
8 | {
9 | public class GhPerformanceRatioList : GH_ValueList
10 | {
11 | public GhPerformanceRatioList()
12 | {
13 | this.Name = "Solar Performance Ratio";
14 | this.NickName = "PerformanceRatio";
15 | this.Description = "A list of solar performance ratios";
16 | this.Category = "[hive]";
17 | this.SubCategory = "Solar";
18 | Load();
19 | }
20 |
21 | public override GH_Exposure Exposure => GH_Exposure.secondary;
22 |
23 | public struct PerformanceRatioListItem
24 | {
25 | public string Scenario;
26 | public string PerformanceRatio;
27 | }
28 |
29 | private static List performanceRatios_; //JsonResource backing field
30 |
31 | public static string ResourceName = "Hive.IO.GhValueLists.performance_ratios.json";
32 |
33 | List performanceRatios => JsonResource.ReadRecords(ResourceName, ref performanceRatios_);
34 |
35 | private void Load()
36 | {
37 | this.ListItems.Clear();
38 | foreach(var item in performanceRatios)
39 | {
40 | this.ListItems.Add(new GH_ValueListItem(item.Scenario, item.PerformanceRatio));
41 | }
42 | }
43 |
44 | public override Guid ComponentGuid => new Guid("882c3d9f-af08-4577-b945-68bcc77cb9df");
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/GhValueLists/GhSia2024RoomList_Standard.cs:
--------------------------------------------------------------------------------
1 | using Grasshopper.Kernel.Special;
2 | using System;
3 | using Hive.IO.Util;
4 | using Hive.IO.Building;
5 | using System.Collections.Generic;
6 | using Grasshopper.Kernel;
7 |
8 | namespace Hive.IO.GhValueLists
9 | {
10 | public class GHSia2024RoomList_Standard : GH_ValueList
11 | {
12 | public GHSia2024RoomList_Standard()
13 | {
14 | this.Name = "SIA 2024 Rooms";
15 | this.NickName = "Sia2024Rooms";
16 | this.Description = "A list of SIA 2024 rooms";
17 | this.Category = "[hive]";
18 | this.SubCategory = "Demand";
19 | Load();
20 | }
21 |
22 | public override GH_Exposure Exposure => GH_Exposure.tertiary;
23 |
24 | public struct SIA2024RoomListItem
25 | {
26 | public string description;
27 |
28 | }
29 |
30 | private static List roomList_; //JsonResource backing field
31 |
32 | public static string ResourceName = "Hive.IO.GhValueLists.SIA2024_rooms_data.json";
33 |
34 | List roomList => JsonResource.ReadRecords(ResourceName, ref roomList_);
35 |
36 | private void Load()
37 | {
38 | this.ListItems.Clear();
39 | foreach (var item in roomList)
40 | {
41 | this.ListItems.Add(new GH_ValueListItem(item.description, String.Format("\"{0}\"", item.description)));
42 | }
43 | }
44 |
45 | public override Guid ComponentGuid => new Guid("8360f734-0ec9-4a71-8068-eb00ce15d96a");
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/GhValueLists/SIA2024_rooms_data.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "description": "1.1 Wohnen Mehrfamilienhaus"
4 | },
5 | {
6 | "description": "1.2 Wohnen Einfamilienhaus"
7 | },
8 | {
9 | "description": "2.1 Hotelzimmer"
10 | },
11 | {
12 | "description": "2.2 Empfang, Lobby"
13 | },
14 | {
15 | "description": "3.1 Einzel-, Gruppenbuero"
16 | },
17 | {
18 | "description": "3.2 Grossraumbuero"
19 | },
20 | {
21 | "description": "3.3 Sitzungszimmer"
22 | },
23 | {
24 | "description": "3.4 Schalterhalle, Empfang"
25 | },
26 | {
27 | "description": "4.1 Schulzimmer"
28 | },
29 | {
30 | "description": "4.2 Lehrerzimmer"
31 | },
32 | {
33 | "description": "4.3 Bibliothek"
34 | },
35 | {
36 | "description": "4.4 Hoehrsaal"
37 | },
38 | {
39 | "description": "4.5 Schulfachraum"
40 | },
41 | {
42 | "description": "5.1 Lebensmittelverkauf"
43 | },
44 | {
45 | "description": "5.2 Fachgeschaeft"
46 | },
47 | {
48 | "description": "5.3 Verkauf Moebel, Bau, Garten"
49 | },
50 | {
51 | "description": "6.1 Restaurant"
52 | },
53 | {
54 | "description": "6.2 Selbstbedienungsrestaurant"
55 | },
56 | {
57 | "description": "6.3 Kueche zu Restaurant"
58 | },
59 | {
60 | "description": "6.4 Kueche zu Selbstbedienungsrestaurant"
61 | },
62 | {
63 | "description": "7.1 Vorstellungsraum"
64 | },
65 | {
66 | "description": "7.2 Mehrzweckhalle"
67 | },
68 | {
69 | "description": "7.3 Ausstellungshalle"
70 | },
71 | {
72 | "description": "8.1 Bettenzimmer"
73 | },
74 | {
75 | "description": "8.2 Stationszimmer"
76 | },
77 | {
78 | "description": "8.3 Behandlungsraum"
79 | },
80 | {
81 | "description": "9.1 Produktion (grobe Arbeit)"
82 | },
83 | {
84 | "description": "9.2 Produktion (feine Arbeit)"
85 | },
86 | {
87 | "description": "9.3 Laborraum"
88 | },
89 | {
90 | "description": "10.1 Lagerhalle"
91 | },
92 | {
93 | "description": "11.1 Turnhalle"
94 | },
95 | {
96 | "description": "11.2 Fitnessraum"
97 | },
98 | {
99 | "description": "11.3 Schwimmhalle"
100 | },
101 | {
102 | "description": "12.1 Verkehrsflaeche"
103 | },
104 | {
105 | "description": "12.2 Verkehrsflaeche 24 h"
106 | },
107 | {
108 | "description": "12.3 Treppenhaus"
109 | },
110 | {
111 | "description": "12.4 Nebenraum"
112 | },
113 | {
114 | "description": "12.5 Kueche, Teekueche"
115 | },
116 | {
117 | "description": "12.6 WC, Bad, Dusche"
118 | },
119 | {
120 | "description": "12.7 WC"
121 | },
122 | {
123 | "description": "12.8 Garderobe, Dusche"
124 | },
125 | {
126 | "description": "12.9 Parkhaus"
127 | },
128 | {
129 | "description": "12.10 Wasch- und Trockenraum"
130 | },
131 | {
132 | "description": "12.11 Kuehlraum"
133 | },
134 | {
135 | "description": "12.12 Serverraum"
136 | }
137 | ]
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/GhValueLists/compile_performance_ratios_json.py:
--------------------------------------------------------------------------------
1 | import os
2 | import csv
3 | import json
4 |
5 | RESOURCES_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "Resources"))
6 | OUT_DIR = os.path.dirname(__file__)
7 |
8 | def compile_performace_ratios_to_json():
9 | """
10 | Read in csv files with data about performance ratios (located in hive/src/Hive.IO/Hive.IO/Resources)
11 | and save them to a json format.
12 | """
13 |
14 | JSON_OUT = "performance_ratios.json"
15 | JSON_PATH = os.path.join(OUT_DIR, JSON_OUT)
16 |
17 | filename = "performance_ratio.csv"
18 |
19 | HEADERS = {
20 | "Scenario": str,
21 | "performance ratio": float
22 | }
23 |
24 | HEADERS_MAP = {
25 | "Scenario": "Scenario",
26 | "performance ratio": "PerformanceRatio"
27 | }
28 |
29 | print("Compiling Performance Ratios...")
30 | data = dict()
31 |
32 | file_path = os.path.join(RESOURCES_DIR, filename)
33 | assert os.path.exists(file_path), "File does not exist: " + file_path
34 |
35 | records = []
36 | with open(file_path, "r") as fp:
37 | reader = csv.DictReader(fp)
38 | csv_headers = set(reader.fieldnames)
39 | assert (all(h in csv_headers for h in HEADERS.keys())), "Missing headers in '" + filename + "' : " + str(set(HEADERS.keys()) - csv_headers)
40 | for row in reader:
41 | record = dict()
42 | for csv_header, json_header in HEADERS_MAP.items():
43 | if not json_header: continue
44 | try:
45 | record[json_header] = HEADERS[csv_header](row[csv_header])
46 | except ValueError:
47 | record[json_header] = 0.0
48 |
49 | records.append(record)
50 | data = records
51 |
52 | with open(JSON_PATH, "w") as fp:
53 | json.dump(data, fp, indent=4, encoding="utf8")
54 |
55 | print("Done. Saved at {0}".format(JSON_PATH))
56 |
57 | if __name__ == '__main__':
58 | compile_performace_ratios_to_json()
59 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/GhValueLists/performance_ratios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "Scenario": "Roof perfect",
4 | "PerformanceRatio": 0.85
5 | },
6 | {
7 | "Scenario": "Roof normal",
8 | "PerformanceRatio": 0.75
9 | },
10 | {
11 | "Scenario": "Roof dirty",
12 | "PerformanceRatio": 0.7
13 | },
14 | {
15 | "Scenario": "Facade perfect",
16 | "PerformanceRatio": 0.75
17 | },
18 | {
19 | "Scenario": "Facade normal",
20 | "PerformanceRatio": 0.7
21 | },
22 | {
23 | "Scenario": "Facade shaded",
24 | "PerformanceRatio": 0.6
25 | }
26 | ]
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Plots/AmrPlotConstants.cs:
--------------------------------------------------------------------------------
1 |
2 | namespace Hive.IO.Plots
3 | {
4 | public static class AmrPlotConstants
5 | {
6 | // Energy Plots
7 | public static readonly string EnergyTitle = "Energy";
8 | public static readonly string EnergyDescription =
9 | $"Building Lifetime = {Misc.DefaultBuildingLifetime} year\n"
10 | + "Operational Building = total demand\n"
11 | + "Operational Systems = non-renewable primary energy (all imported energy)";
12 |
13 | // Emissions Plots
14 | public static readonly string EmissionsTitle = "CO₂ Emissions";
15 | public static readonly string EmissionsDescription = $"Building Lifetime = {Misc.DefaultBuildingLifetime} years";
16 |
17 | // Cost Plots
18 | public static readonly string CostTitle = "Cost";
19 | public static readonly string CostDescription =
20 | $"Building Lifetime = {Misc.DefaultBuildingLifetime} years\n"
21 | + "Interest Rate = {Misc.DefaultInterestRate * 100} %";
22 |
23 | // Tooltips
24 |
25 | public static readonly string EnergyEmbodiedBuildingsTooltip = "";
26 | public static readonly string EnergyEmbodiedSystemsTooltip = "";
27 | public static readonly string EnergyOperationBuildingsTooltip = "";
28 | public static readonly string EnergyOperationSystemsTooltip = "";
29 |
30 | public static readonly string EmissionsEmbodiedBuildingsTooltip = "Embodied greenhouse gas emissions for the fabrication and construction of the building structure, in kgCO2-equivalent.";
31 | public static readonly string EmissionsEmbodiedSystemsTooltip = "Embodied greenhouse gas emissions for the creation and installation of the systems, in kgCO2-equivalent.";
32 | public static readonly string EmissionsOperationBuildingsTooltip = "Greenhouse gas emissions related to maintenance and parts replacement of the building structure, in kgCO2-equivalent.";
33 | public static readonly string EmissionsOperationSystemsTooltip = "Greenhouse gas emissions related to running the systems (including from imported energy like electricity or gas), in kgCO2-equivalent.";
34 |
35 | public static readonly string CostEmbodiedBuildingsTooltip = "Levelised capital cost of constructing the building, given an interest rate and expected building lifetime.";
36 | public static readonly string CostEmbodiedSystemsTooltip = "Levelised capital cost of constructing the systems, given an interest rate and expected building lifetime.";
37 | public static readonly string CostOperationBuildingsTooltip = "Levelised operating costs for maintenance of the building (cleaning, replacing windows, ...), insurance, taxes, etc.";
38 | public static readonly string CostOperationSystemsTooltip = "Levelised operating costs for running the systems, including energy costs and maintenance.";
39 |
40 |
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Plots/AmrPlotStyle.cs:
--------------------------------------------------------------------------------
1 | using System.Drawing;
2 |
3 | namespace Hive.IO.Plots
4 | {
5 | public abstract class AmrPlotStyle
6 | {
7 | public AmrPlotStyle()
8 | {
9 | }
10 |
11 | public abstract SolidBrush BuildingsBrush { get; }
12 | public abstract SolidBrush SystemsBrush { get; }
13 | }
14 |
15 | public class EnergyPlotStyle : AmrPlotStyle
16 | {
17 | public override SolidBrush BuildingsBrush => new SolidBrush(Color.FromArgb(221, 229, 124));
18 | public override SolidBrush SystemsBrush => new SolidBrush(Color.FromArgb(145, 153, 48));
19 | }
20 |
21 | public class CostsPlotStyle : AmrPlotStyle
22 | {
23 | public override SolidBrush BuildingsBrush => new SolidBrush(Color.FromArgb(219, 198, 163));
24 | public override SolidBrush SystemsBrush => new SolidBrush(Color.FromArgb(143, 122, 87));
25 | }
26 |
27 | public class EmissionsPlotStyle : AmrPlotStyle
28 | {
29 | public override SolidBrush BuildingsBrush => new SolidBrush(Color.FromArgb(177, 218, 143));
30 | public override SolidBrush SystemsBrush => new SolidBrush(Color.FromArgb(100, 141, 66));
31 | }
32 | }
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Plots/DemandMonthlyPlot.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Linq;
3 | using Hive.IO.Results;
4 | using OxyPlot;
5 | using OxyPlot.Axes;
6 | using OxyPlot.Series;
7 |
8 | namespace Hive.IO.Plots
9 | {
10 | public class DemandMonthlyPlot : OxyPlotBase
11 | {
12 | protected override PlotModel CreatePlotModel(ResultsPlotting results, Dictionary plotParameters)
13 | {
14 | var model = new PlotModel { Title = "Energy demand (Total Monthly)" };
15 |
16 | var demandHeating = new ColumnSeries
17 | {
18 | ItemsSource = results.TotalHeatingMonthly.Select(demand => new ColumnItem { Value = demand }),
19 | Title = " Space Heating",
20 | FillColor = SpaceHeatingColor
21 | };
22 | model.Series.Add(demandHeating);
23 |
24 | var demandCooling = new ColumnSeries
25 | {
26 | ItemsSource = results.TotalCoolingMonthly.Select(demand => new ColumnItem { Value = demand }),
27 | Title = " Space Cooling",
28 | FillColor = SpaceCoolingColor
29 | };
30 | model.Series.Add(demandCooling);
31 |
32 | var demandElectricity = new ColumnSeries
33 | {
34 | ItemsSource = results.TotalElectricityMonthly.Select(demand => new ColumnItem { Value = demand }),
35 | Title = " Grid Electricity",
36 | FillColor = ElectricityColor
37 | };
38 | model.Series.Add(demandElectricity);
39 |
40 | var demandDhw = new ColumnSeries
41 | {
42 | ItemsSource = results.TotalDomesticHotWaterMonthly.Select(demand => new ColumnItem { Value = demand }),
43 | Title = " DHW",
44 | FillColor = DhwColor,
45 | };
46 | model.Series.Add(demandDhw);
47 |
48 | var axis = new LinearAxis
49 | {
50 | Position = AxisPosition.Left,
51 | Key = "Demand",
52 | Title = "kWh",
53 | };
54 | var axisMinimum = plotParameters.ReadDouble("EnergyDemandMonthly-Axis-Minimum");
55 | if (axisMinimum.HasValue)
56 | {
57 | axis.Minimum = axisMinimum.Value;
58 | }
59 |
60 | var axisMaximum = plotParameters.ReadDouble("EnergyDemandMonthly-Axis-Maximum");
61 | if (axisMaximum.HasValue)
62 | {
63 | axis.Maximum = axisMaximum.Value;
64 | }
65 | model.Axes.Add(axis);
66 |
67 | model.Axes.Add(new CategoryAxis
68 | {
69 | Position = AxisPosition.Bottom,
70 | Key = "Months",
71 | ItemsSource = Misc.MonthNames
72 | });
73 | return model;
74 | }
75 | }
76 | }
77 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Plots/IVisualizerPlot.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Drawing;
3 | using Grasshopper.GUI;
4 | using Grasshopper.GUI.Canvas;
5 | using Hive.IO.Results;
6 |
7 | namespace Hive.IO.Plots
8 | {
9 | public interface IVisualizerControl
10 | {
11 | ///
12 | /// Called when the control is to be drawn.
13 | ///
14 | ///
15 | ///
16 | ///
17 | void Render(ResultsPlotting results, Dictionary plotProperties, Graphics graphics,
18 | RectangleF bounds);
19 |
20 | bool Contains(PointF location);
21 |
22 | void Clicked(GH_Canvas sender, GH_CanvasMouseEvent e);
23 | }
24 |
25 | ///
26 | /// Defines the interface for being a plot in the GHVisualizer component.
27 | ///
28 | public interface IVisualizerPlot : IVisualizerControl
29 | {
30 | ///
31 | /// Called by the GHVisualizer every time new data is collected. Implementations that
32 | /// are caching their render output can use this to invalidate the cache.
33 | ///
34 | ///
35 | void NewData(ResultsPlotting results);
36 | }
37 | }
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Plots/MenuButton.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Drawing;
4 | using Grasshopper.GUI;
5 | using Grasshopper.GUI.Canvas;
6 | using Grasshopper.Kernel;
7 | using Hive.IO.Results;
8 |
9 | namespace Hive.IO.Plots
10 | {
11 | ///
12 | /// MenuButtons are clickable regions that can render themselves to to a canvas.
13 | /// They are managed by the PlotSelector class.
14 | ///
15 | public class MenuButton : IVisualizerControl
16 | {
17 | private readonly Brush _backgroundBrush;
18 |
19 | private readonly Pen _borderPen = new Pen(Color.FromArgb(217, 217, 217));
20 | private readonly Font _font;
21 | private readonly Brush _textBrush;
22 | private RectangleF _bounds = RectangleF.Empty;
23 |
24 | public MenuButton(string text) : this(text, GH_FontServer.Standard, new SolidBrush(Color.Black),
25 | new SolidBrush(Color.Transparent))
26 | {
27 | }
28 |
29 | public MenuButton(string text, Font font, Brush textBrush, Brush backgroundBrush)
30 | {
31 | Text = text;
32 | _font = font;
33 | _textBrush = textBrush;
34 | _backgroundBrush = backgroundBrush;
35 | }
36 |
37 | public string Text { get; }
38 |
39 | public void Render(ResultsPlotting results, Dictionary plotParameters, Graphics graphics, RectangleF bounds)
40 | {
41 | _bounds = bounds;
42 |
43 | var format = StringFormat.GenericTypographic;
44 | format.Alignment = StringAlignment.Center;
45 | format.LineAlignment = StringAlignment.Center;
46 |
47 | graphics.FillRectangle(_backgroundBrush, bounds);
48 | graphics.DrawString(Text, _font, _textBrush, bounds, format);
49 | graphics.DrawRectangleF(_borderPen, bounds);
50 | }
51 |
52 | public bool Contains(PointF location)
53 | {
54 | return _bounds.Contains(location);
55 | }
56 |
57 | public void Clicked(GH_Canvas sender, GH_CanvasMouseEvent e)
58 | {
59 | OnClicked?.Invoke(this, e);
60 | }
61 |
62 | public event EventHandler OnClicked;
63 | }
64 |
65 | public class CategoryMenuButton : MenuButton
66 | {
67 | public CategoryMenuButton(string text) : base(text, GH_FontServer.StandardBold, new SolidBrush(Color.Black),
68 | new SolidBrush(Color.FromArgb(217, 217, 217)))
69 | {
70 | }
71 | }
72 |
73 | public class BlackMenuButton : MenuButton
74 | {
75 | public BlackMenuButton(string text) : base(text, GH_FontServer.Standard, new SolidBrush(Color.White),
76 | new SolidBrush(Color.Black))
77 | {
78 | }
79 | }
80 | }
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Plots/MenuButtonPanel.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Drawing;
3 | using System.Linq;
4 | using Grasshopper.GUI;
5 | using Grasshopper.GUI.Canvas;
6 | using Grasshopper.Kernel;
7 | using Hive.IO.Results;
8 |
9 | namespace Hive.IO.Plots
10 | {
11 | ///
12 | /// A MenuButtonPanel contains a list of MenuButtons.
13 | ///
14 | public class MenuButtonPanel : IVisualizerControl
15 | {
16 | public const float Spacer = 25; // space between menu buttons
17 | private readonly MenuButton[] _menuButtons;
18 |
19 | public MenuButtonPanel(MenuButton[] menuButtons)
20 | {
21 | _menuButtons = menuButtons;
22 | }
23 |
24 | public static float SideLength => 3 * GH_FontServer.MeasureString("ABC", GH_FontServer.StandardBold).Height;
25 |
26 | public string Category => _menuButtons.First().Text.Substring(0, 1);
27 |
28 | public void Render(ResultsPlotting results, Dictionary plotParameters, Graphics graphics,
29 | RectangleF bounds)
30 | {
31 | var x = bounds.X + Spacer;
32 | var y = bounds.Y + bounds.Height / 2 - SideLength / 2;
33 |
34 | foreach (var mb in _menuButtons)
35 | {
36 | mb.Render(results, plotParameters, graphics, new RectangleF(x, y, SideLength, SideLength));
37 | x += SideLength + Spacer;
38 | }
39 | }
40 |
41 | public bool Contains(PointF location)
42 | {
43 | return _menuButtons.Any(mb => mb.Contains(location));
44 | }
45 |
46 | public void Clicked(GH_Canvas sender, GH_CanvasMouseEvent e)
47 | {
48 | // figure out which menu button got clicked and pass it on
49 | _menuButtons.First(mb => mb.Contains(e.CanvasLocation)).Clicked(sender, e);
50 | }
51 |
52 | ///
53 | /// Return a new MenuButtonPanel, with a (single) menu button replaced with a new one.
54 | ///
55 | /// the text of the menu button to replace
56 | ///
57 | ///
58 | public MenuButtonPanel Replace(string select, MenuButton replacement)
59 | {
60 | var menuButtons = _menuButtons.Select(mb => mb.Text == select ? replacement : mb);
61 | return new MenuButtonPanel(menuButtons.ToArray());
62 | }
63 | }
64 | }
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("Hive.IO")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("ETH Zurich")]
12 | [assembly: AssemblyProduct("Hive.IO")]
13 | [assembly: AssemblyCopyright("Copyright © ETH Zurich 2019")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("1747808e-543c-4da4-8fb1-b5ebc8b80c77")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 | [assembly: AssemblyInformationalVersion("1.18")]
38 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/CdTe.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/CdTe.jpg
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/asi.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/asi.jpg
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/asi_grey_panel.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/asi_grey_panel.jpg
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/cigs.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/cigs.jpeg
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/cigs_integrated.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/cigs_integrated.jpg
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/flat_plate.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/flat_plate.jpg
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/flexible_cigs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/flexible_cigs.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/hjt.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/hjt.jpg
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/lof_golden.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/lof_golden.jpg
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/lof_green.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/lof_green.jpg
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/lof_lavender.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/lof_lavender.jpg
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/lof_red.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/lof_red.jpg
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/lof_steel.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/lof_steel.jpg
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/lof_terracotta.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/lof_terracotta.jpg
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/mono_facade.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/mono_facade.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/mono_facade_blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/mono_facade_blue.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/mono_roof.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/mono_roof.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/monocrystalline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/monocrystalline.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/polycrystalline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/polycrystalline.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_cigs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_cigs.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_cigs.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_cigs.psd
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_grey_thin_film.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_grey_thin_film.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_grey_thin_film.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_grey_thin_film.psd
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_monocrystalline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_monocrystalline.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_monocrystalline.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_monocrystalline.psd
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_monocrystalline_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_monocrystalline_white.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_polycrystalline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_polycrystalline.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_polycrystalline.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_polycrystalline.psd
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_polycrystalline_brown.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_polycrystalline_brown.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_polycrystalline_green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_polycrystalline_green.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_polycrystalline_lavender.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_polycrystalline_lavender.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_polycrystalline_red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_polycrystalline_red.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_polycrystalline_steel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_polycrystalline_steel.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_polycrystalline_terracotta.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_polycrystalline_terracotta.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_vacuum_tube.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/public_domain/hive_vacuum_tube.jpg
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/solaxess_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/solaxess_white.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems/vacuum_tube.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems/vacuum_tube.jpg
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/EnergySystems_Chiller_Simple.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/EnergySystems_Chiller_Simple.bmp
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/IOCore_DistConduit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/IOCore_DistConduit.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/Core_Solar_Potentials_Unobstructed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/Core_Solar_Potentials_Unobstructed.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/Demand_AdaptiveComfort.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/Demand_AdaptiveComfort.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/Demand_SIA380.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/Demand_SIA380.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/EnergySystems_Boiler_Simple.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/EnergySystems_Boiler_Simple.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/EnergySystems_Boiler_TimeResult.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/EnergySystems_Boiler_TimeResult.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/EnergySystems_Combined.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/EnergySystems_Combined.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/EnergySystems_Combined_TimeResult.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/EnergySystems_Combined_TimeResult.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/Hive_Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/Hive_Logo.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/IOCore_DistEmitter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/IOCore_DistEmitter.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/IOCore_DistSIAroom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/IOCore_DistSIAroom.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/IOCore_DistSolarsim.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/IOCore_DistSolarsim.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/IOCore_Distconvtech.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/IOCore_Distconvtech.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/IOCore_Distenergysystems.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/IOCore_Distenergysystems.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/IOCore_Distenv.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/IOCore_Distenv.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/IOCore_Distsolartech.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/IOCore_Distsolartech.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/IOCore_Merger_Gasboiler.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/IOCore_Merger_Gasboiler.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/IOCore_Mergerchiller.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/IOCore_Mergerchiller.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/IOCore_Mergercombinedheatpower.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/IOCore_Mergercombinedheatpower.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/IOCore_Mergercoolingexchanger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/IOCore_Mergercoolingexchanger.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/IOCore_Mergerelectricalstation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/IOCore_Mergerelectricalstation.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/IOCore_Mergerheatpump.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/IOCore_Mergerheatpump.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/IOCore_Mergersolartech.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/IOCore_Mergersolartech.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/IO_Building.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/IO_Building.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/IO_CoreDistributor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/IO_CoreDistributor.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/IO_CoreMerger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/IO_CoreMerger.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/IO_Energysytems.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/IO_Energysytems.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/IO_Environment.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/IO_Environment.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/IO_Para_InputSIAroom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/IO_Para_InputSIAroom.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/IO_Para_InputSolarTech.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/IO_Para_InputSolarTech.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/IO_Para_Inputen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/IO_Para_Inputen.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/IO_Para_Inputenergyemitter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/IO_Para_Inputenergyemitter.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/IO_Para_Inputenvpot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/IO_Para_Inputenvpot.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/IO_Results_Param.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/IO_Results_Param.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/IO_Visualizer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/IO_Visualizer.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/Icons_Hive.xar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/Icons_Hive.xar
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Icons/Weather_EPW_reader.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Icons/Weather_EPW_reader.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/Sources.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/Sources.docx
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/de_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/de_icon.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/demand_SIAroomreader.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/demand_SIAroomreader.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/en_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/en_icon.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/energysystems_chiller.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/energysystems_chiller.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/energysystems_chiller_timeresult.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/energysystems_chiller_timeresult.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/energysystems_heatpump_COP.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/energysystems_heatpump_COP.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/energysystems_heatpump_airsource.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/energysystems_heatpump_airsource.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/energysystems_heatpump_airsource_timeresult.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/energysystems_heatpump_airsource_timeresult.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/gc_efficiency.csv:
--------------------------------------------------------------------------------
1 | GC tech,electric efficiency,thermal efficiency,cost per m2,life cycle GHG factor kgCO2eq per m2
2 | GC_cheap,0.0,0.1,300.0,1.0
3 | GC_normal,0.0,0.2,400.0,2.0
4 | GC_high_tech,0.0,0.3,500.0,3.0
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/performance_ratio.csv:
--------------------------------------------------------------------------------
1 | Scenario,performance ratio
2 | Roof perfect,0.85
3 | Roof normal,0.75
4 | Roof dirty,0.7
5 | Facade perfect,0.75
6 | Facade normal,0.7
7 | Facade shaded,0.6
8 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/pvt_efficiency.csv:
--------------------------------------------------------------------------------
1 | Type,electric efficiency,thermal efficiency,cost per m2,life cycle GHG factor kgCO2eq per m2, Descripton
2 | PVT_cheap,NaN,NaN,NaN,NaN,
3 | PVT_normal,NaN,NaN,NaN,NaN,
4 | PVT_high_tech,NaN,NaN,NaN,NaN,
5 | PVT,0.17,0.3,NaN,400,
6 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/signal-2023-04-11-213625_002 (Benutzerdefiniert).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/signal-2023-04-11-213625_002 (Benutzerdefiniert).png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/signal-2023-04-11-221004_002 (Benutzerdefiniert).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/signal-2023-04-11-221004_002 (Benutzerdefiniert).png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/signal-2023-04-11-230143_002 (Benutzerdefiniert).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/signal-2023-04-11-230143_002 (Benutzerdefiniert).png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/signal-2023-04-11-230325_002 (Benutzerdefiniert).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/signal-2023-04-11-230325_002 (Benutzerdefiniert).png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/solar_OrientationFactor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/solar_OrientationFactor.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/solar_PV.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/solar_PV.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/solar_PVtimeresult.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/solar_PVtimeresult.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/solar_PerformanceRatio.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/solar_PerformanceRatio.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/solar_Solarthermaltimeresult.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/solar_Solarthermaltimeresult.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/solar_SumTimeSeries.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/solar_SumTimeSeries.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/solar_solarthermal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/Hive.IO/Hive.IO/Resources/solar_solarthermal.png
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Resources/st_efficiency.csv:
--------------------------------------------------------------------------------
1 | Type,electric efficiency,thermal efficiency,cost per kWp,cost per m2,life cycle GHG factor kgCO2eq per kWp,life cycle GHG factor kgCO2eq per m2,Lifetime,Description,Image
2 | Vacuum Tube,0,0.45,4444.444444,2000,462.2222222,208,30,Evacuated tube collectors are used when high water temperatures are required. They can reach temperature levels of over 100\u00b0C. Several tubes are installed next to each other. The appearance is not a homogeneous surface. Fa\u00e7ade integration is possible to some extent.,vacuum_tube
3 | Flat Plate,0,0.45,4444.444444,2000,408.8888889,184,30,"Flat plate collectors are the most commonly used technology. They reach temperature levels of typically <100\u00b0C before the fluid evaporates. They appear as a homogenous black surface and are usually not spread over a whole roof. Fa\u00e7ade integration is possible. Customized designs (size, shape and colors) are possible at the expense of efficiency losses and increased costs.",flat_plate
4 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Results/ResultsExposeForGhListAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Hive.IO.Results
4 | {
5 | ///
6 | /// Base interface for attributes for results. Name is the name ot be used for display,
7 | /// Rank indicates the ordering of each word for the displayed word on the Grasshopper ValueList.
8 | ///
9 | public interface IResultAttribute
10 | {
11 | int Rank { get; }
12 | string Name { get; }
13 | }
14 |
15 |
16 | // KPI Attributes
17 |
18 | [AttributeUsage(AttributeTargets.Property)]
19 | public class EnergyAttribute : Attribute, IResultAttribute
20 | {
21 | public int Rank => 1;
22 | public string Name => "Energy";
23 | }
24 |
25 | [AttributeUsage(AttributeTargets.Property)]
26 | public class EmissionsAttribute : Attribute, IResultAttribute
27 | {
28 | public int Rank => 1;
29 | public string Name => "Emissions";
30 | }
31 |
32 | [AttributeUsage(AttributeTargets.Property)]
33 | internal class CostAttribute : Attribute, IResultAttribute
34 | {
35 | public int Rank => 1;
36 | public string Name => "Cost";
37 | }
38 |
39 | // Time Resolution Attributes
40 |
41 | [AttributeUsage(AttributeTargets.Property)]
42 | internal class LifetimeAttribute : Attribute, IResultAttribute
43 | {
44 | public int Rank => 2;
45 | public string Name => "Lifetime";
46 | }
47 |
48 | [AttributeUsage(AttributeTargets.Property)]
49 | internal class YearlyAttribute : Attribute, IResultAttribute
50 | {
51 | public int Rank => 2;
52 | public string Name => "Yearly";
53 | }
54 |
55 | [AttributeUsage(AttributeTargets.Property)]
56 | internal class MonthlyAttribute : Attribute, IResultAttribute
57 | {
58 | public int Rank => 2;
59 | public string Name => "Monthly";
60 | }
61 |
62 | [AttributeUsage(AttributeTargets.Property)]
63 | internal class LevelisedAttribute : Attribute, IResultAttribute
64 | {
65 | public int Rank => 3;
66 | public string Name => "Levelized";
67 | }
68 |
69 | // Embodied / Operational Attributes
70 |
71 | [AttributeUsage(AttributeTargets.Property)]
72 | internal class EmbodiedAttribute : Attribute, IResultAttribute
73 | {
74 | public int Rank => 4;
75 | public string Name => "Embodied";
76 | }
77 |
78 | [AttributeUsage(AttributeTargets.Property)]
79 | internal class OperationalAttribute : Attribute, IResultAttribute
80 | {
81 | public int Rank => 4;
82 | public string Name => "Operational";
83 | }
84 |
85 |
86 | // Construction / Systems Attributes
87 |
88 | [AttributeUsage(AttributeTargets.Property)]
89 | internal class ConstructionAttribute : Attribute, IResultAttribute
90 | {
91 | public int Rank => 5;
92 | public string Name => "Construction";
93 | }
94 |
95 | [AttributeUsage(AttributeTargets.Property)]
96 | internal class SystemsAttribute : Attribute, IResultAttribute
97 | {
98 | public int Rank => 5;
99 | public string Name => "Systems";
100 | }
101 | }
102 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Schemas/sia2024_schedules_schema.yaml:
--------------------------------------------------------------------------------
1 | $id: http://example.com/example.json
2 | $schema: http://json-schema.org/draft-07/schema
3 | description: The root schema comprises the entire JSON document.
4 |
5 | definitions:
6 | Multiplier:
7 | type: number
8 | minimum: 0.0
9 | maximum: 1.0
10 | DailyProfile:
11 | description: Tagesprofil.
12 | type: array
13 | items:
14 | $ref: "#/definitions/Multiplier"
15 | maxItems: 24
16 | minItems: 24
17 | type: array
18 | items:
19 | type: object
20 | anyOf:
21 | - type: object
22 | properties:
23 | DeviceSchedule:
24 | description: Geraete
25 | properties:
26 | DailyProfile:
27 | $ref: "#/definitions/DailyProfile"
28 | LoadWhenUnoccupied:
29 | $ref: "#/definitions/Multiplier"
30 | required:
31 | - DailyProfile
32 | - LoadWhenUnoccupied
33 | type: object
34 | OccupancySchedule:
35 | properties:
36 | DailyProfile:
37 | $ref: "#/definitions/DailyProfile"
38 | YearlyProfile:
39 | description: Monthly indication of how often schedule applies. SIA 2024 - Jahresprofil.
40 | items:
41 | $ref: "#/definitions/Multiplier"
42 | maxItems: 12
43 | minItems: 12
44 | type: array
45 | DaysUsedPerYear:
46 | description: Nutzungstage pro Jahr
47 | maximum: 365
48 | minimum: 0
49 | type: integer
50 | DaysOffPerWeek:
51 | description: Ruhetage pro Woche
52 | maximum: 7
53 | minimum: 0
54 | type: integer
55 | required:
56 | - DaysOffPerWeek
57 | - DaysUsedPerYear
58 | - DailyProfile
59 | - YearlyProfile
60 | type: object
61 | LightingSchedule:
62 | description: Beleuchtung
63 | properties:
64 | HoursPerDay:
65 | description: Nutzungsstunden pro Tag
66 | type: number
67 | minimum: 0
68 | maximum: 11
69 | HoursPerNight:
70 | description: Nutzungsstunden pro Nacht
71 | type: number
72 | minimum: 0
73 | maximum: 13
74 | required:
75 | - HoursPerDay
76 | - HoursPerNight
77 | RoomType:
78 | type:
79 | - string
80 | - array
81 | items:
82 | type: string
83 |
84 | required:
85 | - RoomType
86 | - OccupancySchedule
87 | - DeviceSchedule
88 | - LightingSchedule
89 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Util/HiveCategoryIcon.cs:
--------------------------------------------------------------------------------
1 | using Grasshopper.Kernel;
2 |
3 | namespace Hive.IO
4 | {
5 | public class HiveCategoryIcon : GH_AssemblyPriority
6 | {
7 | public override GH_LoadingInstruction PriorityLoad()
8 | {
9 | Grasshopper.Instances.ComponentServer.AddCategoryIcon("[hive]", Hive.IO.Properties.Resources.Hive_Logo);
10 | Grasshopper.Instances.ComponentServer.AddCategorySymbolName("[hive]", 'H');
11 | return GH_LoadingInstruction.Proceed;
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Util/HiveIOInfo.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Drawing;
3 | using Grasshopper.Kernel;
4 |
5 | namespace Hive.IO
6 | {
7 | public class HiveIOInfo : GH_AssemblyInfo
8 | {
9 | public HiveIOInfo(){}
10 |
11 | public override string Name
12 | {
13 | get
14 | {
15 | return "HiveIO";
16 | }
17 | }
18 | public override Bitmap Icon
19 | {
20 | get
21 | {
22 | //Return a 24x24 pixel bitmap to represent this GHA library.
23 | return null;
24 | }
25 | }
26 | public override string Description
27 | {
28 | get
29 | {
30 | //Return a short string describing the purpose of this GHA library.
31 | return "";
32 | }
33 | }
34 | public override Guid Id
35 | {
36 | get
37 | {
38 | return new Guid("1da9c6d0-f813-4e78-8c56-fc2672430613");
39 | }
40 | }
41 |
42 | public override string AuthorName
43 | {
44 | get
45 | {
46 | //Return a string identifying you or your company.
47 | return "ETH Zurich";
48 | }
49 | }
50 | public override string AuthorContact
51 | {
52 | get
53 | {
54 | //Return a string representing your preferred contact details.
55 | return "";
56 | }
57 | }
58 | }
59 | }
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/Util/JsonResource.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 | using System.Reflection;
4 | using Newtonsoft.Json;
5 |
6 | namespace Hive.IO.Util
7 | {
8 | ///
9 | /// A helper class for de-serializing JSON resource files from the assembly.
10 | ///
11 | public static class JsonResource
12 | {
13 | public static T ReadRecords(string resourceName, ref T result)
14 | {
15 | if (result == null)
16 | {
17 | var assembly = Assembly.GetExecutingAssembly();
18 | var serializer = new JsonSerializer();
19 | using (var stream = assembly.GetManifestResourceStream(resourceName))
20 | {
21 | using (var streamReader =
22 | new StreamReader(
23 | stream ?? throw new InvalidOperationException(
24 | $"Could not find manifest resource '{resourceName}'")))
25 | {
26 | using (var jsonTextReader = new JsonTextReader(streamReader))
27 | {
28 | result = serializer.Deserialize(jsonTextReader);
29 | }
30 | }
31 | }
32 | }
33 |
34 | return result;
35 | }
36 | }
37 | }
--------------------------------------------------------------------------------
/src/Hive.IO/Hive.IO/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/Hive.IO/TestVisualizer/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/src/Hive.IO/TestVisualizer/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 | using System.Reflection;
4 | using Hive.IO.Building;
5 | using Hive.IO.EnergySystems;
6 | using Hive.IO.Forms;
7 |
8 | namespace TestVisualizer
9 | {
10 | internal static class Program
11 | {
12 | ///
13 | /// The main entry point for the application.
14 | ///
15 | [STAThread]
16 | private static void Main()
17 | {
18 | var currentDomain = AppDomain.CurrentDomain;
19 | currentDomain.AssemblyResolve += LoadRhinoLibraries;
20 |
21 | //ShowBuildingInputDialog();
22 | ShowEnergySystemsDialog();
23 | }
24 |
25 | private static void ShowEnergySystemsDialog()
26 | {
27 | var state = new EnergySystemsInputViewModel();
28 | var boiler = new ConversionTechPropertiesViewModel()
29 | {
30 | Name = "Boiler (Gas)",
31 | };
32 | boiler.SetProperties(new GasBoiler(20.0, 20.0, 20.0, 20.0, 20.0));
33 | state.ConversionTechnologies.Add(boiler);
34 |
35 | var radiator = new EmitterPropertiesViewModel()
36 | {
37 | Name = "Radiator",
38 | };
39 | radiator.SetProperties(new Radiator(12, 13, 20.0, true, false, 45, 50));
40 | state.Emitters.Add(radiator);
41 |
42 |
43 | var form = new EnergySystemsInputForm();
44 | form.ShowDialog(state);
45 | }
46 |
47 | private static void ShowBuildingInputDialog()
48 | {
49 | var state = new BuildingInputState(Sia2024Record.First(), null, true);
50 | var form = new BuildingInputForm();
51 | form.ShowDialog(state);
52 | }
53 |
54 |
55 | private static Assembly LoadRhinoLibraries(object sender, ResolveEventArgs args)
56 | {
57 | var folderPath = @"C:\Program Files\Rhino 6\System";
58 | var assemblyPath = Path.Combine(folderPath, new AssemblyName(args.Name).Name + ".dll");
59 | if (!File.Exists(assemblyPath)) return null;
60 | var assembly = Assembly.LoadFrom(assemblyPath);
61 | return assembly;
62 | }
63 | }
64 | }
--------------------------------------------------------------------------------
/src/Hive.IO/TestVisualizer/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("TestVisualizer")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("TestVisualizer")]
13 | [assembly: AssemblyCopyright("Copyright © 2020")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("ce013650-1f89-43fd-bb23-6dd17c1b63b7")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/src/Hive.IO/TestVisualizer/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // Dieser Code wurde von einem Tool generiert.
4 | // Laufzeitversion:4.0.30319.42000
5 | //
6 | // Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
7 | // der Code erneut generiert wird.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace TestVisualizer.Properties {
12 | using System;
13 |
14 |
15 | ///
16 | /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
17 | ///
18 | // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
19 | // -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
20 | // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
21 | // mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class Resources {
26 |
27 | private static global::System.Resources.ResourceManager resourceMan;
28 |
29 | private static global::System.Globalization.CultureInfo resourceCulture;
30 |
31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32 | internal Resources() {
33 | }
34 |
35 | ///
36 | /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
37 | ///
38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
39 | internal static global::System.Resources.ResourceManager ResourceManager {
40 | get {
41 | if (object.ReferenceEquals(resourceMan, null)) {
42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("TestVisualizer.Properties.Resources", typeof(Resources).Assembly);
43 | resourceMan = temp;
44 | }
45 | return resourceMan;
46 | }
47 | }
48 |
49 | ///
50 | /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
51 | /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
52 | ///
53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
54 | internal static global::System.Globalization.CultureInfo Culture {
55 | get {
56 | return resourceCulture;
57 | }
58 | set {
59 | resourceCulture = value;
60 | }
61 | }
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/src/Hive.IO/TestVisualizer/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // Dieser Code wurde von einem Tool generiert.
4 | // Laufzeitversion:4.0.30319.42000
5 | //
6 | // Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
7 | // der Code erneut generiert wird.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace TestVisualizer.Properties {
12 |
13 |
14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.3.0.0")]
16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
17 |
18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
19 |
20 | public static Settings Default {
21 | get {
22 | return defaultInstance;
23 | }
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/Hive.IO/TestVisualizer/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/Hive.IO/TestVisualizer/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/Hive.IO/UnitTests/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | [assembly: AssemblyTitle("UnitTests")]
6 | [assembly: AssemblyDescription("")]
7 | [assembly: AssemblyConfiguration("")]
8 | [assembly: AssemblyCompany("")]
9 | [assembly: AssemblyProduct("UnitTests")]
10 | [assembly: AssemblyCopyright("Copyright © 2020")]
11 | [assembly: AssemblyTrademark("")]
12 | [assembly: AssemblyCulture("")]
13 |
14 | [assembly: ComVisible(false)]
15 |
16 | [assembly: Guid("f428c773-38a5-45e6-bdcf-130706d3c826")]
17 |
18 | // [assembly: AssemblyVersion("1.0.*")]
19 | [assembly: AssemblyVersion("1.0.0.0")]
20 | [assembly: AssemblyFileVersion("1.0.0.0")]
21 |
--------------------------------------------------------------------------------
/src/Hive.IO/UnitTests/TestConversionTechProperties.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using Hive.IO.Forms;
3 | using Hive.IO.Util;
4 | using Microsoft.VisualStudio.TestTools.UnitTesting;
5 |
6 | namespace UnitTests
7 | {
8 | ///
9 | /// Test loading the data from conversion_technology_defaults...
10 | ///
11 | [TestClass]
12 | public class TestConversionTechProperties
13 | {
14 | [TestMethod]
15 | public void TestLoadingConversionTechnologyDefaults()
16 | {
17 | Dictionary defaults = null;
18 | var records = JsonResource.ReadRecords(ConversionTechDefaults.ResourceName, ref defaults);
19 | Assert.IsTrue(records.Count > 0);
20 | }
21 | }
22 | }
--------------------------------------------------------------------------------
/src/Hive.IO/UnitTests/TestSia2024Record.cs:
--------------------------------------------------------------------------------
1 | using System.Linq;
2 | using Hive.IO.Building;
3 | using Microsoft.VisualStudio.TestTools.UnitTesting;
4 |
5 | namespace UnitTests
6 | {
7 | [TestClass]
8 | public class Tests
9 | {
10 | [TestMethod]
11 | public void TestReadRecords()
12 | {
13 | var records = Sia2024Record.All();
14 | Assert.IsTrue(records.Count() > 0);
15 | Assert.AreEqual(records.First().RoomType, "1.1 Wohnen Mehrfamilienhaus");
16 | }
17 |
18 | [TestMethod]
19 | public void TestBuildingUseTypes()
20 | {
21 | var useTypes = Sia2024Record.BuildingUseTypes();
22 | Assert.AreEqual(useTypes.Count(), 12);
23 | }
24 |
25 | [TestMethod]
26 | public void TestQualities()
27 | {
28 | Assert.AreEqual(Sia2024Record.Qualities().Count(), 3);
29 | }
30 |
31 | [TestMethod]
32 | public void TestQualitiesZielwert()
33 | {
34 | var useType = Sia2024Record.BuildingUseTypes().First();
35 | var roomType = Sia2024Record.RoomTypes(useType).First();
36 | var quality = Sia2024Record.Qualities().Last();
37 | Assert.AreEqual(quality, "Zielwert");
38 | var record = Sia2024Record.Lookup(useType, roomType, quality);
39 | Assert.AreEqual(record.UValueOpaque, 0.1, 0.0000001);
40 | }
41 |
42 | [TestMethod]
43 | public void TestJson()
44 | {
45 | var record = Sia2024Record.All().First();
46 | var json = record.ToJson();
47 | Assert.IsInstanceOfType(json, typeof(string));
48 | var record2 = Sia2024Record.FromJson(json);
49 | Assert.IsNotNull(record2);
50 | }
51 | }
52 | }
--------------------------------------------------------------------------------
/src/Hive.IO/UnitTests/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/README.md:
--------------------------------------------------------------------------------
1 | # Code Architecture
2 |
3 | The HIVE project is designed in two layers: (i) the input-output components that a beginner user is exposed to, and (ii) the simulation core with all kinds of grasshopper components for the interested expert user.
4 |
5 | In older Hive versions, we had split it into separate projects (`Hive.IO` in `C#.Net` and `Hive.Core` in `Honeybadger`/`IronPython`). Now, we only have the `.Net` for compatibility reasons.
6 |
7 | Some old prosa below that needs to be updated...
8 |
9 |
10 | ## MOTHERCELL
11 |
12 | The Mothercell is the main Grasshopper component of Hive.
13 |
14 | It shall be a cluster of Hive components.
15 | It shall serve as a GUI.
16 | It shall be the main interface for inputs and outputs.
17 |
18 | It shall be...
19 |
20 | ...the Mothercell.
21 |
22 |
23 | ## GUI and IO
24 | GUI is the GHCluster, which can be opened to fiddle with the individual grasshopper components.
25 |
26 | In order to get Rhino information into the Mothercell, we build some IO grassshopper components. They create Hive.IO objects, like Hive.IO.EnergySystems.PV, that are all fed into the Mothercell. The idea here is that the inputs are flexible, i.e. just throw in as many .IO objects as you want. The Mothercell should then take care of identifying the objects (easy, because they all have specific classes) and feed them into the right components inside the cluster. So much for the idea...
27 |
28 | Input: Will only have geometry, and parameters (reference efficiencies, constructions, ...), but no simulations/calculations (irradiance and time resolved efficiencies etc happen inside the Mothercell).
29 |
30 | 
31 |
--------------------------------------------------------------------------------
/src/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/src/__init__.py
--------------------------------------------------------------------------------
/tests/BombyxComparison/Validation & Comparison.3dm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/tests/BombyxComparison/Validation & Comparison.3dm
--------------------------------------------------------------------------------
/tests/BombyxComparison/Validation & Comparison.gh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/tests/BombyxComparison/Validation & Comparison.gh
--------------------------------------------------------------------------------
/tests/Hive.Core/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/tests/Hive.Core/__init__.py
--------------------------------------------------------------------------------
/tests/Hive.Core/sia380/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/tests/Hive.Core/sia380/__init__.py
--------------------------------------------------------------------------------
/tests/Hive.Core/sia380/sia380_test.py:
--------------------------------------------------------------------------------
1 | import pytest
2 | import json
3 |
4 | import sia380
5 |
6 | def test_main(**args):
7 |
8 | ## NOT WORKING YET
9 |
10 | # Arrange
11 | with open("testdata.json", 'r') as f:
12 | kwargs = json.loads(f.read(), encoding='utf-8')
13 |
14 | import sia380.datatree as dt
15 | kwargs['srf_irrad_obstr_tree'] = dt.DataTree([[0.0]*8760])
16 | kwargs['srf_irrad_unobstr_tree'] = dt.DataTree(kwargs['srf_irrad_unobstr_tree'])
17 |
18 | # Act
19 | results = sia380.main(**kwargs)
20 |
21 | # Assert
22 | Q_Heat, Q_Cool, Q_Elec, Q_T, Q_V, Q_i, Q_s, Q_T_op, Q_T_tr, Q_s_tr_tree = results
23 | results_no_solar = [Q_Heat, Q_Cool, Q_Elec, Q_T, Q_V, Q_i, Q_T_op, Q_T_tr]
24 |
25 | # TODO
26 | assert True
27 |
28 | def visualise_results():
29 |
30 | t_start = 0
31 | t_end = 8760
--------------------------------------------------------------------------------
/tests/README.md:
--------------------------------------------------------------------------------
1 | # Testing
2 |
3 | WIP at the moment.
4 |
5 | Eventually should be able to run via pytest.
6 |
7 | For now, good place to store test data that are often used to test python components.
--------------------------------------------------------------------------------
/tests/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/architecture-building-systems/hive/f0b9416447681531f640514cc110ec775b288a76/tests/__init__.py
--------------------------------------------------------------------------------