Skip to content

Eddy3D - Outdoor+

A Grasshopper plugin for urban microclimate simulation with urbanMicroclimateFoam (uMFoam)

Overview

urbanMicroclimateFoam (uMFoam) is an open-source solver built on OpenFOAM for modeling urban microclimates. It simulates coupled physical processes including:

  • Turbulent airflow
  • Heat and moisture transport in air
  • Radiative heat exchange (shortwave and longwave)
  • Heat and moisture storage in building materials (HAM model)
  • Urban vegetation heat balance

Learn more at the official repository:
🔗 urbanMicroclimateFoam GitHub

Prerequisites

1. Install OpenFOAM with blueCFD-Core 2020 (Windows)

2. Install UMCF Plugin for Grasshopper (Rhino)

  • Open Rhinoceros
  • Run the PackageManager command
  • Search for UMCF
  • Enable "Include pre-releases"
  • Click Install and restart Rhino

Verify Installation

Use the Check Installation component in Grasshopper:

  • Set Check = True
  • Set Install UrbanMicroclimateFoam = True if it’s a new install

The console will automatically install the necessary files.

Run a Template Simulation

1. Load Template

  • Use the Templates component
  • Right-click > select UMCF.Templates.MicroclimateSimulation.gh

2. Add Weather File

  • Connect an EPW file to the Weather component
  • This enables time settings in the Timing component

Define the Simulation Domain

Air Region

Use the Air Region component to set:

  • ABL Conditions: Wind speed, height, direction
  • Domain Dimensions:
  • Cell Size
  • Front Add, Back Add, Sides Add, Top Add
  • Refinement Box Add

Solid Region (Buildings)

Inputs:

  • Building mesh geometry
  • Material (default: Hamstad5Brick)
  • Mesh refinement (optional)
  • Indoor temperature (°C)

Vegetation Region

Inputs:

  • Vegetation mesh
  • Leaf Area Density (LAD)
  • Vegetation properties
  • Mesh refinement (optional)

Default vegetation values are found in constant/air/vegetationProperties.

Simulation Settings

Configure with the Simulation Settings component:

  • Number of CPUs (e.g., 10 recommended)
  • maxFluidIteration (higher = better resolution)

Write and Run the Case

Use the UMCF Case component to prepare files and view logs.

  1. Prepare Simulation – generate mesh
  2. Run Simulation – execute solver

Run both steps with the same processor mode (single/parallel).

After simulation: - View results with .foam in ParaView - 0 folder = initial conditions - Output folders based on controlDict: - startTime = 0, endTime = 43200, deltaT = 3600 (i.e., 12 hours)

Visualize Results (in Rhino/Grasshopper)

Use a quad mesh plane at desired height in the Probing section.

Probe for: - Temperature (T) - Velocity (U) - Humidity (w)

Steps:

  1. Generate mesh plane
  2. Click Run
  3. Enable Probing to load results
  4. Use Hour Slider to view time-based results

Output Types

  • Velocity (U)
  • Temperature (T)
  • Humidity (w)

Visualizations are available both in Grasshopper and ParaView.

Need Help?

Visit the UMCF GitHub Issues page or reach out to your instructor/supervisor for support.