architecture-building-systems / hive Goto Github PK
View Code? Open in Web Editor NEWRhino Grasshopper plug-in for quick & dirty building simulation
Home Page: https://www.food4rhino.com/en/app/hive
License: GNU General Public License v3.0
Rhino Grasshopper plug-in for quick & dirty building simulation
Home Page: https://www.food4rhino.com/en/app/hive
License: GNU General Public License v3.0
If there is no specified guid in a badger-file, add it by generating a new one automatically.
Need to find a universal way to get to the clipper.dll address, both for saved and unsaved Rhino files (os.cwd is different for either of these cases)
Hi Daren
Please create a new component 'PV electricity generation - simplified calculations' as follows:
Inputs:
Gh - Global horizontal irradiation [kWh/m2]
OF - Orientation factor [%] (Default Value: 100%)
eta - PV module efficiency [%] (Default Value: 18%)
PR - Performance ratio [%] (Default Value: 75%)
A - PV area[m2] (Default Value: 100 m2)
Outputs:
E - PV electricity generation [kWh]
Component:
Calculate E = Gh * OF * eta * PR * A
At startup, the opaque element component sometimes returns a null value. When the component is tested, it works.
Lighting energy seems high, should check illuminance from window
The badger-files should have a "default" attribute on inputs that is used when the input is None
.
The sun altitude and azimuth were slightly different to the Ladybug values for a given HOY and location. This issue has been addressed in a recent commit within the private ASF_Control repository.
[edit: ASF_Control]
Calculation speed is critical to ensure feasibility with annual hourly simulation. Currently, the major bottleneck is still solar calculations, so once the major bugs are dealt with, it would be worth going through the functions and eliminating any useless bits of code.
Talk to Linus and ask him to contribute to PV, ST components and any other building system of interest in the future, e.g. boreholes, heat pumps...
I would recommend the following steps
This way only the simulation object exists within the "Simulation Catergory"
Every input which takes a default value must be stated in the text which appears when hovered over.
I would just simplify this to Hive_SimulateZone.
Then in the developer guide, you have a SimulateSingleTimeStep which makes sense.
occupancy
to occupancy_profile
custon_pattern
as the first input is a little scary. Can this be moved to the bottomCould you delete the unecessary outputs in the object 'Zone2'
Also, why is it called Zone2? As this is a first release, you might as well just call it something more intuitive like ConstructZone
I already implemented the unit tests in the main branch of RC_Buildingsimulator in grasshopper, where scenarios are described using dictionaries.
The dictionary system could be implemented in the original unit tests, which are hard to transfer.
The unit tests should be repeated for the 'zone2' component, which is a lightly modified version of the Building class in building_phyics.py
Some things that need to be done:
Since hive will be using honey-badger to compile (and install?) hive components, make using honey-badger easier by creating honey-badger.exe using ipyc.exe
from IronPython 2.7.8 (the version used by GH as of today).
See https://stackoverflow.com/a/52088830/2260 for more information on how to do this.
A script (make-honey-badger.bat
?) could be used to do this easier.
I would output a lighting demand of Null in this scenario
The shadow geometry is incorrectly calculated for certain hours
Try out different options for shadow display (eg. hourly shadows per day).
Alternatively, create a new component that just visualises shadows for a summer and winter day (perhaps two different colours)
Review WP 3 description on https://systems.sp.ethz.ch/_layouts/15/WopiFrame.aspx?sourcedoc={D45D458B-4E1E-4B85-802B-4D23F7FAE57C}&file=WP_Components.xlsx&action=default . Make the necessary edits if there are any. If no edits are needed, close issue.
Shadows are projected on the window even if the shading geometry is behind the window.
The choice should be based on the speed of the simulations. hive wants to move more towards real-time simulations.
Three Solar Irradiaiton models stand out:
___Solar Irradiation Model by Joan
___Solar Irradiation Model by Christoph Waibel https://github.com/christophwaibel/GH_Solar_V1 & https://github.com/christophwaibel/GH_Solar_V2
___Solar Irradiation model from ISO 52010 (2017) https://github.com/lukas-rokka/solarCalcISO52010
Motivation: Development of the components will be much faster if we don't need to close/restart rhino+gh every time we make a change to the components.
honey-badger includes an "-e" option for "editable", a bit like how pip does it. This would create a ".ghpy" file that delegates to the original source (by reloading?) instead of including it outright. This still needs to be implemented.
Update WP 6 description in Sharepoint
This way the user can just ignore everything within the 'Developer' catergory and just focus on the simulation
Examples include
___SIA 380-1 Simplified version by Illias Hischier.
___ISO 14N by Lukas Rokka https://github.com/lukas-rokka/ISO14N_example
___RC Model by Diego Incorporation
Currently, we're using honey-badger to create the .ghpy files used to ship hive. These still need to be manually copied to the appropriate GH folder.
I think honey-badger should have an "install" subcommand that would compile (?) and install the results in one step.
A simplified implementation of the SIA 380.1 norm as provided by @hillias 's Excel file.
To vary in the different models:
Something odd going on with the internal gains and occupancy component: it's returning the same value
Something is causing discrepancies between the results simulated using the python based RC model and the Grasshopper implementation. I have eliminated all heat gains, so the problem lies somewhere in the differential equations for temperature. Comparing the object variables for the two models after 24 hours reveals the following differences in values:
HIVE / Python
t_air 11.52827 7.307261
t_s 12.639506 8.079298
t_m 13.382062 8.595193
t_m_next 13.188142 8.460466
t_operative 12.306135 7.847687
energy_demand_unrestricted 2959.270369 4433.71616
c_m 6448126.62141 6448126.62141
Mass temperature for the first four hours of the year:
HIVE / Python
18.89154 18.891539548818383
18.557746 18.301341391880126
18.349682 17.839885544011455
18.226435 17.476863536182947
The first result is very close, so I suspect it might be something like a rounding error which somehow increases with each time step
Look into the norms to figure out the names. Start by filling in the German ones from the Excel sheet and then finding the appropriate translation to English.
is this a bug, or is the floor area not used in this component? I thought floor area is a critical component for the simulation
Direct normal and diffuse horizontal radiation do not correspond with ladybug results. I am still investigating the cause.
It should ideally have a separate warming message for each of the three missing inputs. Otherwise the user is confused as to what of the many inputs are insufficient
Update WP 5 description in Sharepoint
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.