Optimization with Butterfly: Re-meshing required at every step?

I’m using Butterfly for optimization using Galapagos and Opossum.

I’ve noticed that, with Galapagos, the meshing components (wind tunnel, basic mesh, snappyHexMesh) are not recalculated at each optimization step. I.e., only the solution itself is recalculated (with _interval set to -1).

Opossum, on the other hand, recalculates also the meshing components. This naturally takes much longer, but also makes more sense to me: I assume that, if the geometry in the wind tunnel is changed, then the meshing SHOULD be rerun. (I.e., the results from Galapagos make no sense in that case.)

In short, is it necessary to recalculate the meshing components when parametrically changing geometry? @mostapha, the answer has important implications for how optimization components in Grasshopper interact with Butterfly.

(Btw, I also recall a similar issue with Honeybee. I think that components in the Ladybug universe are not always expired, even when they should be. That’s why Opossum always expires everything.)


1 Like

That is correct.


That shouldn’t be the case. Ladybug Tools components are GHPython components. Their behavior is identical to other GHPython components in Grasshopper.