Simulating Trees
Why Simulate Trees?
Trees take up carbon dioxide and can capture some airborne pollutants. They also significantly influence wind patterns as air passes through their foliage, which can affect pedestrian wind comfort in urban areas. Key considerations include:
- Windbreak Effect: Trees can act as natural windbreaks, reducing wind speeds at ground level. Their effect depends on the species, canopy geometry, placement, and wind direction; removing vegetation can materially increase local wind speeds and reduce pedestrian comfort.
- Canopy Density and Shape: The shape and density of tree canopies are important. Denser canopies with lower porosity provide better wind sheltering.
- Aspect Ratio: The aspect ratio (height to width ratio) of a tree canopy affects the size of the sheltered zone behind the tree and the distance required for wind speeds to recover.
- Bare Branches in Winter: Even the bare branches of deciduous trees in winter can moderate airflow and reduce wind pressure on buildings.
- Sheltering Effect Distance: The extent of shelter downwind depends on the tree’s height, porosity, geometry, and the incoming wind conditions.
Urban planners and designers should consider tree planting and species selection to maximize pedestrian wind comfort. Strategic placement of trees can serve as effective windbreaks, significantly enhancing outdoor spaces.
Different tree species, characterized by varying shapes, sizes, and leaf types, affect wind velocity to different extents. While wind is not completely stopped by trees, its speed is reduced as it moves through their branches. The key factor here is leaf density: trees with denser foliage offer greater resistance to airflow. For instance, a Silver Birch tree has less air resistance compared to a Chestnut tree due to its lower leaf density.
The ability of a tree canopy to allow air to pass through is known as porosity. Leaf Area Index (LAI) is a related measure of foliage area; together with canopy geometry and drag coefficient, it is used to estimate the aerodynamic resistance of vegetation. LAI values are determined through measurements or derived from published data.
When trees with high LAI values—and therefore generally greater wind resistance—are strategically placed in areas with fast airflow and strong winds, they can improve wind comfort and safety for pedestrians.
How Do You Simulate a Tree?
Introduction
In Computational Fluid Dynamics (CFD), trees can be modeled as porous media to accurately represent their impact on airflow. This approach considers trees as objects that allow air to pass through while imposing resistance, thus affecting wind speed and turbulence. Modeling trees as porous media is essential for understanding environmental phenomena like windbreaks, pollution dispersion, and microclimate regulation.
Concept of Porous Media
Porous media are materials containing pores (voids). The flow through porous media is characterized by the interaction between the fluid and the solid matrix. In the context of trees:
- The foliage and branches constitute the solid matrix.
- The spaces between leaves and branches act as the pores through which air flows.
Key Parameters in Porous Media Modeling
ArchiWind represents plant canopy regions using a uniform Leaf Area Density (LAD) and a fixed plant drag coefficient. The canopy-density choice in the interface is qualitative; it is not a direct numerical porosity input.
- Leaf Area Density (LAD):
- Definition: LAD is the leaf area per unit volume of foliage.
- Role: Together with the drag coefficient, it determines the aerodynamic resistance provided by the foliage.
The current implementation assumes LAD is uniform throughout the canopy volume. It derives LAD from the global Leaf Area Index (LAI) and measured vegetation height. LAI values can be found in the literature.
$$ LAD = \frac{LAI}{H_{measured}} $$
Here are some of the values for the most common species of trees in Europe:
| Tree Species | LAI |
|---|---|
| Sycamore | 2.97 |
| Silver Birch | 3.24 |
| Quercus | 5.16 |
| Chestnut | 5.19 |
| Platanus | 5.28 |
- Drag Coefficient
C_d:- Definition: A dimensionless number representing the drag force exerted by the leaves and branches.
- Role: The current solver receives a fixed value of
plantCd = 0.2to calculate the resistance offered by the tree to the airflow.
Equations for Modeling Trees as Porous Media
Our tree model is based on the OpenFOAM atmPlantCanopy sources. The solver receives the fixed plantCd = 0.2 value and the capped LAD calculated from the uploaded vegetation geometry.
The following relation applies the uniform LAD approximation across the tree volume:
$$ LAD = \frac{LAI}{H_{measured}} $$
Momentum Sink Term:
Represents the loss of momentum due to the drag force of the tree.
$$ S_p = - \alpha \rho C_d LAD |u_0| u $$
Where:
S_pis the source term applied to the momentum equationαis the phase fraction (1 for single-phase flows)ρis the fluid densityC_dis the plant canopy drag coefficient (plantCd = 0.2)LADis the capped leaf area density calculated from LAI and measured vegetation height|u_0|is the magnitude of the velocity field from the previous iterationuis the current velocity field
The source term S_p acts as a drag force opposing the flow velocity u within the plant canopy region. The magnitude of this drag force is proportional to the leaf area density LAD and the drag coefficient C_d, which characterize the plant canopy geometry and aerodynamic properties.
This source term is then incorporated into the momentum equation during the solution process, effectively reducing the velocity within the plant canopy regions to account for the drag induced by the vegetation.
- Turbulence Source Term:
For the turbulence kinetic energy dissipation rate (ε) equation:
$$ S_p = \alpha \rho \left( C_1 - C_2 \right) C_{\text{canopy}} ε $$
with:
$$ C_{canopy} = 12.0 \sqrt{C_\mu} C_d LAD |u_0| $$
Where:
S_p: Source termC₁,C₂: Model constantsC_μ: Empirical model constantε: Turbulent kinetic energy dissipation rateC_d: Drag coefficientLAD: Leaf area density|u₀|: Velocity magnitude (previous iteration)α: Phase fractionρ: Fluid density
The source terms S_p account for the production and dissipation of turbulence within the plant canopy region. The magnitudes of these source terms are proportional to the leaf area density LAD and the drag coefficient C_d, which characterize the plant canopy geometry and aerodynamic properties.
These source terms are then incorporated into the turbulence transport equations during the solution process, effectively modifying the turbulence levels within the plant canopy regions to account for the effects of vegetation.
Numerical Implementation: Dynamic Geometric Analysis and Raster-Column Analysis
The core of the methodology is a 0.1 m horizontal raster-column analysis. It calculates the measured vegetation height from the effective biological thickness of the vegetation, regardless of its placement in the digital domain. This is a raster-column analysis, not full 3D voxelization.
Slope-Invariant Height Extraction
The raster-column analysis addresses two critical geographical challenges:
Orography & Slopes: In the presence of inclined terrain, a standard height calculation would include the elevation gain of the ground, artificially inflating the canopy volume.
Multi-Altitude Assets: When a single STL file contains vegetation at different ground levels (e.g., trees in a valley and trees on a hill), a global evaluation fails to provide a consistent physical density.
To resolve this, the algorithm discretizes the STL mesh into a 2D horizontal grid:
Rasterization & Resolution: The mesh is analyzed using a horizontal grid with a spatial resolution of 0.1 m (10 cm). This dimension balances canopy structural detail with computational efficiency for the CFD solver.
Peak-to-Peak (PTP) Analysis: For each grid cell, the local height (H_i) is computed as: $$ H_i = Z_{\max,i} - Z_{\min,i} $$ This method eliminates the “elevation bias,” ensuring the height represents only the canopy thickness and not the ground altitude.
Equivalent Height (Heq): The mean of all local PTP heights provides the measured vegetation height used to calculate the base LAD, including for “hollow” meshes exported from Blender.
Numerical Stability and the K-Stability Factor
To prevent numerical divergence—a common issue when high-density vegetation zones interact with complex urban wind fields—a dynamic stability limiter (K_stability) was introduced.
The Stability Criterion: The K factor determines a dynamic stability limit for the maximum permissible LAD, based on the characteristic length scale of the vegetation volume (V1/3).
Technical Justification: This prevents the momentum source term from becoming disproportionately large relative to the cell size, which would otherwise lead to floating-point exceptions or unrealistic pressure gradients. The final applied LAD is defined as:
$$ LAD_{final} = \min\left(\frac{LAI}{H_{measured}}, LAD_{stability}, 2.5\ \mathrm{m}^{-1}\right) $$
where (H_{measured}) is the measured vegetation height and (LAD_{stability}) is the dynamic stability limit calculated by the K factor. Each term has units of (\mathrm{m}^{-1}).
Mathematical Justification of the Stability Criterion
The vegetation is represented in the Navier-Stokes equations by a source term S_p (momentum sink):
$$ S_p = - \alpha \rho C_d LAD |u_0| u $$
where (C_d) is the drag coefficient (set to 0.2).
From a numerical standpoint, when the LAD value is excessively high, the source term becomes nonlinearly dominant over the convective and diffusive terms. This leads to an “ill-conditioned” matrix in the linear solver. The K_stability factor acts as a diagonal-dominance enhancer. By limiting the LAD based on the characteristic length V1/3, the method avoids numerical oscillations and checkerboarding effects in the pressure field.
Scientific and Regulatory Context
The methodology is informed by the following standards and literature. Project-specific validation is still required; the statements below do not constitute certification of compliance.
VDI 3787 Part 1 & Part 2 (Environmental Meteorology): These standards provide useful context for environmental parameters and urban climate assessments. The vegetation parameterization should be reviewed against the applicable project requirements.
COST Action 732 (Quality Assurance of Microscale Meteorological Models): These guidelines inform the need to consider mesh resolution when parameterizing vegetation source terms. The suitability of the raster-column analysis should be assessed for each simulation setup.
Raster-Column Analysis: The method uses a 0.1 m (10 cm) horizontal resolution to balance canopy detail and computational cost. This value is a modelling choice, not a universal LiDAR, GIS, or forestry standard.
Aerodynamic Modeling: (LAD = LAI / H) is a common average-canopy approximation for translating vegetation geometry into a porous zone. Its suitability depends on the canopy geometry, available measurements, and solver configuration.
Numerical Stability & the K Factor: The K-stability factor uses the volumetric dimension (V1/3) when setting the stability limit. Its purpose is to prevent the vegetation source term from dominating the local numerical solution.
Impact on Local Turbulence Modeling
The LAD cap helps to avoid excessive production of turbulent kinetic energy (k) and dissipation (ε) at the vegetation interface. It supports stable use of the k−ε (standard or realizable) turbulence model, but does not by itself validate the turbulence model for every project.
Solver Configuration and Convergence
Vegetated zones can generate high turbulence and sharp gradients. Residual targets and convergence should be assessed for each simulation. Convergence alone does not establish the accuracy of a pedestrian-comfort assessment.
| Feature | Legacy Approach (Static) | Optimized Approach (Dynamic) |
|---|---|---|
| LAD Accuracy | Can overestimate drag when geometry is not represented | Accounts for measured vegetation height |
| Numerical Stability | High risk of divergence | Controlled via K_stability |
| Solver Convergence | May require additional stabilization | Uses the K-stability limit |
How to Upload Your Tree 3D Model?
ArchiWind lets you add vegetation under the Trees patch. Trees act as porous media and can reduce local wind exposure. You can use the comparison feature to assess their placement. Tree geometries must be expressed as volumetric shapes. Foliage represented only as surfaces, or as an aggregation of very small elements, may not be modeled correctly.

Choosing Canopy Density
Dissipation of wind’s kinetic energy depends heavily on foliage density and structure. In ArchiWind, the available qualitative canopy-density choices are Low Dense and Medium Dense. They help describe the intended density of the vegetation; they are not numerical porosity inputs to the CFD solver.
If you’re not sure which tree species will be planted, it’s recommended to choose the “Low Dense” option. This provides the most conservative estimate, ensuring that the simulation doesn’t unrealistically reduce wind speeds.
Use the choices as qualitative guidance. They do not map to fixed porosity percentages or to a particular tree species:
| Canopy-Density Choice | Guidance |
|---|---|
| Low Dense | Use for relatively open or sparse foliage. This is the conservative choice when the planted species is unknown. |
| Medium Dense | Use for fuller foliage that is expected to provide greater wind resistance than Low Dense. |