Integrating Tree Canopy via Butterfly


Hello all,

Can the OF people here give some guidance on the possibility of integrating trees/tree canopy in the cfd simulations via butterfly (A separate component in next release would be awesome!!!)
I had the impression that simple geometries (boxes) representing the trees/canopy which can strip off momentum or act as a sink along with creating the necessary turbulence would do the job. After reading some stuff I realized there are a lot of factors like leaf area density/index, drag coefficients, turbulent kinetic energy/dissipation, etc. (one of the reference)

Can someone shed some light on how can a momentum equation be integrated via butterfly…if possible. As I stated earlier, a separate component with inputs for all necessary parameters to model tree canopies would be great!!
Similarly, modelling louvers via butterfly would be another interesting topic of discussion.

Thank you very much.


Hi @SaketSarupria

The easiest way to do it would be using porousSimpleFoam and adding the tree canopy geometries as porous zones.

Precise values of porosity, across types of trees and species, are very hard to come by. You can imagine the complexity, if we consider movement of the canopy alone and porosity on 3dimensional space.

What you could do is play with the porosity coefficients until you achieve the % of reduction you expect from a tree you are including in your model.

We are hoping to be adding the porosity recipe in the next BF update. It is an idea in the works for some time now.

I also plan to share an example of simulating tree canopies in OF in the last of the 3 Butterfly webinars. I will share the case folder in the forum as soon as I have it prepared.

Kind regards,


Thanks a lot for the quick reply @TheodorosGalanos. Good to know the team has this topic into consideration and is in active development. In the meantime I will read about porousSimpleFoam and the % reduction of momentum for one or two typical tropical species.

Thanks a lot!!


hi @TheodorosGalanos

I’ve been trying to set the DarcyForchheimerCoeffs to model the effect of trees using simpleFoam + fvOptions + topoSet.

Would you have any reference to set:
d d [0 -2 0 0 0 0 0] (7.65e7 3e10 3e10);
f f [0 -1 0 0 0 0 0] (255 1e5 1e5);



@OlivierDambron Your share is so nice for everyone. I have studied this issue for 1-2 years.Would you share some detailed step about simpleFoam + fvOptions + topoSet?


Hi Olivier,

I’ll be honest I have no clue lol. I tried back then to find things about these but it seemed so obscure. In general there is no easy way to calculate these for a tree canopy and then every canopy is different.

An approach I ended up using is a simple box model with a static velocity inlet and a ‘tree’ box region inside it. I then went ahead and tried different coefficients until it got me the % of reduction I expected or wanted.

That said, for artificial constructions that can actually be modelled and meshed, there is a way to calculate the viscous and inertial coefficients by sampling at many different locations before and after the geometry, calculating pressure drop, and fitting a 2nd order polynomial to those. The coeffiecients of the polynomial are the coefficients you use after that.

I have an excel file somewhere for all that, I’ll try to find it.

Kind regards,