Passive design explorer
Description
A Python package and Grasshopper example files for running a pre-trained Mixture of Experts (MoE) surrogate model to predict building heating and cooling EUI in real time. The generalized and modular MoE model is developed to support complex, multi-zone office building designs under various climatic conditions. 1. Python Package: The dataset includes a snapshot of the initial release of the Python package and MoE model (v0.1.0), which is still under development. The package contains: - A pre-trained surrogate model file - A scaler object for input feature normalization - Source code for parametric model translation, features extraction, prediction, and integration with Grasshopper. Refer to the README.md file for full installation and usage instructions. 2. Grasshopper example files: These example files demonstrate a unified modeling and prediction platform. The parametric models follow the Honeybee modeling workflow and can be evaluated using either EnergyPlus or the surrogate model. Ladybug Tools and Hops plugins for Grasshopper are required. The final model is serialized into a '.hbpkl' file and passed to the 'hops' component for processing. Note: The parametric model is designed to predict a single building (comprising multiple zones) at a time. To enable batch prediction for multiple buildings (e.g., for evolutionary optimization), the Grasshopper definition and the server.py script can be modified accordingly. Refer to the README.md file for usage instructions.
Files
Steps to reproduce
- The MoE model was developed and trained in WSL 2 (Windows Subsystem for Linux) (https://learn.microsoft.com/en-us/windows/wsl/install) on Ubuntu 22.04 LTS, using TensorFlow 2.15.0 and Python 3.10.12. The training was based on simulated data of 100,000 samples to adequately represent variations in passive design and contextual parameters. - Testing and integration with Grasshopper (including the example files) were performed in Windows 10/11 with Rhino 7, using the Hops plugin (https://developer.rhino3d.com/guides/compute/hops-component/) for server communication.