Versions
1.0.4.827 (Jul. 7, 2026)
Compatibility
Tested with Rhino 8.27 (RhinoCommon/Grasshopper 8.27.26019.16021). It might work with newer Rhino versions but they are untested. It does not work with Rhino 7 due to incompatibility issues introduced by McNeel (see below). If you need to downgrade or upgrade, please check the bottom of this page for specific Rhino download links.
Known Issues
Eddy3D-Dev Discussions - GitHub
Changelog
1.0.6-beta.827 (July 12, 2026)
Pre-release — install by ticking Include pre-releases in the Rhino Package Manager.
-
Added:
- blueCFD install-path check: if blueCFD-Core 2024 is installed in a folder with spaces in the name (e.g.
C:\Program Files\...), Eddy3D now warns everywhere the engine is used — the Install Engines component flags it directly in its callout (BlueCFD ⚠ spaces in path), in its status log, and on the Run components. Spaces break the OpenFOAM toolchain, so the UMF solver could never be built; previously this failed silently with "UMF Solver: Not Found". Install to a path likeC:\blueCFD-Core\2024instead.
- blueCFD install-path check: if blueCFD-Core 2024 is installed in a folder with spaces in the name (e.g.
-
Improved:
- Check Geometry preview: display materials are cached per status color and mesh buffers are bulk-marshalled — smoother canvas on large models.
Changes since v1.0.5-beta.827: compare on GitHub
1.0.4.827 (July 7, 2026)
- Fixed:
- Outdoor / WSL: After a simulation on a machine without the Windows symbolic-link privilege (no admin rights / Developer Mode), the mesh link
constant/polyMeshwas unreadable from Windows — Explorer showed "The file cannot be accessed by the system" and ParaView reported the case "contains no meshes". Direction cases now provision the mesh as an NTFS directory junction (works without any privilege), and the Open In ParaView component repairs existing broken cases automatically. - Headless-safe BlueCFD environment setup and distro-aware WSL engine installation (Install Engines no longer assumes a hardcoded WSL distribution).
- BlueCFD/UMF build environment on newer Windows 11 builds.
- Outdoor / WSL: After a simulation on a machine without the Windows symbolic-link privilege (no admin rights / Developer Mode), the mesh link
- Improved:
- Faster terrain vertex projection (batched into a single interop call).
- Cached wind-comfort threshold tables to cut per-probe allocations, plus string/allocation optimizations across UTCI/PET, thermal comfort, and WSL command generation.
- Progress dialogs: tooltips, word wrap, interactive hand cursor, and larger clickable areas for toggles and dropdowns.
Distributed via Yak: https://yak.rhino3d.com/packages/Eddy3D Changes since v1.0.2.827: compare on GitHub
1.0.2.827 (July 4, 2026)
First unified stable release of Eddy3D.
The previously separate plugins — wind (Outdoor), microclimate (Outdoor+ / urbanMicroclimateFoam), Indoor, MRT (Radiance/UTCI), and FluidX3D — are merged into a single Eddy3D package, available cross-platform on Windows and macOS (Rhino 8.27).
Install: via the Rhino Package Manager — run PackageManager in Rhino and search for Eddy3D. The standalone UMCF package has been retired.
-
Improved:
- Show both OpenFOAM 12 and UMF install/reinstall toggles simultaneously in WSL mode.
- Fetch and display accurate publish dates in the Yak version update prompt dialog.
- Clean up custom Label UI intercept hacks to restore native GH component messages.
-
Fixed:
- WSL OpenFOAM 12 repository URL (HTTPS to HTTP downgrade issue).
- WSL bash grouping bug that falsely reported success on failed OpenFOAM installs.
- UI logic bug in OpenFOAM 12 installation detection.
- Generated Docker/shell scripts (e.g.
run_docker.sh) shipped with Windows (CRLF) line endings, causingbad interpreter: /bin/bash^Mon macOS. Scripts are now written with LF line endings. - The Select Template component now loads examples from the correct
Eddy3D-Templatesrepository.
Distributed via Yak: https://yak.rhino3d.com/packages/Eddy3D Changes since v0.7.1-beta.827: compare on GitHub
0.7.0-beta.827 (March 24, 2026)
-
Added:
- Template Sync CLI tooling for synchronizing templates.
- Async loading feedback while component templates are downloading.
-
Improved:
- Simulation progress dialogs with elapsed time, numeric percentages, copy-log support, keyboard shortcuts, confirmations, accessibility updates, and better theme support.
- Performance across Sky View Factor, NVAnalysis, OpenFOAM probe/log parsing, Radiance parsing and file writing, wind processing, CSV generation, and UTCI/PET calculations.
- Hover feedback for Grasshopper component buttons and the Live Residuals empty state.
-
Fixed:
- Command injection in the
Probecomponent. - Cylindrical domain handling when geometry is not located at
Z=0. - General bug fixes, cleanup, and internal robustness updates.
- Tested:
- Added test coverage for
JsonHelper,Deg2Rad, and UTCI legacy regression baselines.
- Command injection in the
Changes since v0.6.2.821: compare on GitHub
0.6.2.821 (February 11, 2026)
- Fixed:
- Docker logs
- General fixes
0.6.1.821 (February 10, 2026)
-
Added:
- Cross-platform Docker execution support for OpenFOAM workflows.
- A Live Residuals component and icon for improved simulation monitoring.
- Installer/build automation updates, including a PowerShell-based installer build script.
-
Improved:
- Path and working-directory handling across Windows and macOS.
- OpenFOAM run command generation and case portability behavior.
- Template, run settings, and simulation component robustness.
-
Fixed:
- ParaView pipeline loading behavior on macOS.
- Installer version propagation and build metadata consistency.
- Multiple edge cases in wind/radiation execution paths and related tests.
Changes since v0.5.8.815: compare on GitHub
0.5.8.815 (February 4, 2026)
-
Added:
- GNU GPL v3 license.
- EPW downloader for streamlined weather file handling.
- OpenFOAM log parsing and status reporting utilities.
-
Improved:
- Centralized UI strings using
GH_Stringsfor consistency and easier localization. - Updated simulation component robustness and input handling.
- Centralized UI strings using
0.5.7.815 (January 29, 2026)
-
Improved:
- Renamed "Templates" component to "Select Template" for better clarity.
- Enabled left-click interaction for the "Select Template" component to trigger the selection menu directly.
- Updated the component button text to "Select Template".
-
Fixed:
- Resolved build issues and dependency conflicts in
EddyLib. - Optimized the plugin's loading process by making
.ghlinkdynamic and removing redundant AppData copies.
- Resolved build issues and dependency conflicts in
0.5.6.815 (January 27, 2026)
-
Added:
- New utility to delete
processor*folders from cases to save disk space.
- New utility to delete
-
Improved:
- Replaced
pausewithtimeoutin batch files for a smoother user experience. - Refined
9_ML_basicand9_ML_FormFluxtemplates. - General code cleanup and removal of unused utilities.
- Replaced
-
Fixed:
- Resolved a bug in the
Wind Factorscomponent where the "No interpolation" option incorrectly reverted to wind direction 0. - Fixed a "Solution exception: Input parameter index [-1] too low" error in the
Wind Simulationcomponent. Dataset Curatorcomponent now correctly handles complex geometry without requiring bounding box simplification.
- Resolved a bug in the
0.5.5.815 (January 23, 2026)
- Improved:
- Dataset Curator component can handle complex urban geometries more accurate and quick, now.
0.5.4.815 (January 15, 2026)
- Improved:
- Some of the batch files are renamed for better clarity.
0.5.3.815 (January 15, 2026)
-
Added:
- Ability to change number of cores for both meshing and simulation without grasshopper dependency over update_cores.bat file.
- Ability to run the simulation with all available cores without grasshopper dependency over use_all_cores.bat file.
- Ability to run the cases in any directory then they have created for the first time. There is no hardcoded paths, anymore.
-
Improved:
- Several improvements including better handling of batch files, and more straightforward machine learning workflow.
- All the batch files are being stored in the case folder for more clear case folder organization.
- The template component and the probe component is improved.
- The 9_ML_Basic template is redesigned.
0.5.1.815 (January 14, 2026)
-
Added:
- Ability to specify custom installation paths for simulation engines (Radiance, EnergyPlus, BlueCFD).
-
Fixed:
- Fixed Log Parser button behavior and added explicit 'Run' toggle.
- Resolved Radiance pathing issues for more robust installation detection.
- Fixed various OpenFOAM simulation crashes and boundary condition errors.
- Restored functionality for multi-region simulations including vegetation (LAD).
0.5.0.815 (January 12, 2026)
-
Added:
- New indoor test cases and examples; Install Engines icon.
-
Improved:
- Templates updated; Outdoor Comfort tests and Indoor setup restored.
- Consistent naming and general refactoring.
-
Fixed:
- Installer now uses user profile paths; fixed path formatting in TwoPhaseDDS.
0.4.17.815 (December 27, 2025)
-
Added:
- A new visualiser interface at Eddy3D Visualizer
-
Improved:
- Better output handling for more reliable exports and processing for DatasetCurator component.
- Introduces a 'Run' boolean parameter to BrepGridPoints component to control execution and sets output to idle when not running. Updates DatasetCuratorCMP to check bounding boxes using only XY coordinates, improving handling of stacked geometries.
0.4.16.815 (December 19, 2025)
-
Added:
- DatasetReaderCMP component to read processed CSV datasets into Grasshopper
- Supports all spatial features and simulated wind speed
- New resources, icons, and Python post-processing scripts
- Mesh settings updated to support nCellsBetweenLevels
- Project + resource files updated to include new components and assets
-
Improved:
- DatasetCuratorCMP now supports multiple wind directions
- Added CSV / batch / script generation workflows
- Improved output handling for more reliable exports and processing
0.4.15.14 (December 13, 2025)
-
Added:
- New template files added.
-
Improved:
- Cylindrical computational domain is enhanced.
0.4.15.13 (November 9, 2025)
-
Added:
- DatasetCurator component creates datasets ready to use by Fourier Neural Operator models. Please check the 3_SimpleWindAnalysisCylDomain_ML template file to quick start.
-
Improved:
- Most of the template files renewed.
0.4.15.12 (November 6, 2025)
-
Added:
- Brep to Grid Points component for fast generation of probe points from building Breps (has spacing option to better define the distances between probe points).
- _AccBuildingMax input on Mesh Settings component to control the maximum target cell size over/around buildings for local mesh refinement.
-
Improved:
- 3_SimpleWindAnalysis template wired to use Brep2points for sensors and passes _buildingsMax to meshing by @karadagi.
0.4.15.11 (October 19, 2025)
- Added:
- Additional inputs for finer control of cylindrical domain by @karadagi.
0.4.15.10 (October 4, 2025)
- Improved:
- Stability of cylindrical domain by @karadagi.
0.4.15.8 (September 14, 2025)
0.4.15.7 (September 12, 2025)
- Fixed:
- CellSize component in wrong tab
- IndoorDomain not respecting CPUs input
0.4.15.6 (August 18, 2025)
- Refactored and cleaned up code for function object handling in the indoor domain, including removal of obsolete and commented-out code.
- Updated scalar transport configuration generation in ControlDict to use a new helper method.
- Standardized solver settings for AoA and Covid19 in FvSolutionDict.
- Fixed property naming in ViralEmitter.
- Updated parameter descriptions in CO2Emitter_Component and ViralEmitter_Component.
- Updated Grasshopper template metadata and viewport settings.
- Fixed:
0.4.15.6 (August 18, 2025)
- Refactored and cleaned up code for function object handling in the indoor domain, including removal of obsolete and commented-out code.
- Updated scalar transport configuration generation in ControlDict to use a new helper method.
- Standardized solver settings for AoA and Covid19 in FvSolutionDict.
- Fixed property naming in ViralEmitter.
- Updated parameter descriptions in CO2Emitter_Component and ViralEmitter_Component.
- Updated Grasshopper template metadata and viewport settings.
- Fixed:
0.4.15.5 (August 13, 2025)
- Refactor cell size component and improve Weibull comfort logic
- Refactored the Cell Size Grasshopper component for clarity, improved input validation, and updated parameter descriptions.
- Enhanced the wind comfort Weibull metric logic to handle edge cases, filter invalid data, and robustly select comfort thresholds.
- Updated Eddy version to 0.4.15.5, increased CPUs in test settings, and made minor template and Grasshopper document adjustments.
- Fixed:
0.4.15.3 (Mar 27, 2025)
- Fixed bug in:
3_SimpleWindAnalysis.ghxTemplate. Thank you@YanivHatiel
0.4.15.2 (Mar 10, 2025)
- Fixed:
5_PressureOnBuildingFacade.ghxTemplate
0.4.15.1 (Jan 28, 2025)
- Fixed:
- Indoor probing issue
0.4.15.0 (Jan 21, 2025)
- Fixed:
- In Rhino 8.9 McNeel introduced a breaking change, see the discussion on curve extension methods. If you upgraded to Rhino 8.9 already, below are links to downgrade to various versions Rhino 8.8:
- Download Rhino 8.8.24170.13001
- Download Rhino 8.8.24163.12481
0.4.8.0 (Mar 4, 2024)
0.4.2.1 (Jan 21, 2024)
- Recompiled for Rhino 7, due to Rhino 8 introducing breaking changes in the UI, see below.
0.4.2.0 (Dec 23, 2023)
- Added:
- custom boundary conditions per individual wind direction.
- Added alpha/experimental Rhino 8 compatibility. R8 introduces breaking changes, see issue #9 on GitHub.
0.4.1.4 (Nov 23, 2023)
- Fixed issue with "covid19" function object for the indoor module.
0.4.1.1 (Apr 29, 2022)
- New installer to fix BlueCFD 2017 issue with Indoor module.
0.4.1.0 (Apr 17, 2022)
- Updated both outdoor and indoor module to BlueCFD 2020.
- Updated MRT calculation, still experimental.
0.4.0.10 (Apr 6, 2022)
- Update to BlueCFD 2020.
- Indoor Module
- Updated MRT calculation.
- Improved numerical robustness by Tobias Holzmann.
0.3.8.0 (Feb 17, 2021)
- Age of air in simulation domain can be evaluated.
- Simulation of trees modeled as porous media is supported.
- MRT component was updated with the TwoPhase method, see the publication on predicting space usage by multi-objective assessment.
- General stability has been improved.
- Culling of probing points outside of domain is now robust.
Known issues
- Probing on decomposed cases doesn't work for now (need to reconstruct first).
- The latest release of Eddy3D (v0.3.8.0) currently only works with Rhino 6. McNeel made changes to the SDK in Rhino 7 which renders the box-shaped simulation domain incompatible with v0.3.8.0. Fixed on beta branch.
0.3.6.3 (June 28, 2020)
- Fix for problem with cp probing.
- Added switch for potentialFoam initialization and mesh renumbering.
- Added Lawson, Davenport, and NEN8100 pedestrian comfort indices.
0.3.5 (November 27, 2019)
- Fix for change in latest Rhino release.
- Probing component automatically refreshes after probing has finished.
0.3.0 (July 16, 2019)
- Added:
- cellPoint interpolation instead of cellPointFace
- Fix: WindFactors, MRT, UTCI running
- Fix: Many bug fixes
- Paraview/Residual component now select from executable of choice
- Template engine implemented
0.2.3 (April 11, 2019)
- Fix: turbulentEpsilon was 0 if the ABL BC was in use
0.2.2 (April 7, 2019)
- Fix: Both Box and Cylinder are converging properly when terrain is in use
- Fix: Alwas load the residuals for the first wind direction instead of wind direction "0" if the selection is empty
- Fix: locationInMesh works with Terrain for BoxDomain
- Change: fvSchemes according to SimScale
- Change: New mesh settings
- Change: Slip BC for all symmetry patches instead of symmetry
- Fix: Domain has correct size if TerrainMesh is being used
- Fix: Perim .stls were written in snappyHexMeshDict if TerrainMesh was connected
- Added:
- Option to adapt dimensions of box domains
- Fix: Erroneous case decomposition with BlueCFD
- Change: Renamed output of settings components
- div(U) batch files
0.2.1 (March 25, 2019)
- New component: ParaView can now be opened from the canvas
- Fixes:
- The ParaView are now called as their respective wind directions which helps to distinguish them if more than one if opened in ParaView
0.1.0 (March 21, 2019)
- First release