Butterfly simulation is incomparably slow

Hello everyone.

I’m just getting started with Butterfly and I’m following @mostapha 's this YouTube Tutorial and using the same provided example file. @mostapha is running the simulation on a single CPU core, he’s achieving about 9 10 second per each “time”. When I try the same thing, with 4 CPU cores on an i7-8650U I’m getting about 700 seconds for each “time”.

What could be going wrong?

Thanks in advance.

I’m running blueCFD-Core-2017-2, Rhinoceros.6.29 and Butterfly 0.005 and this the blueCFD terminal:

I can’t remember how the example file is, but might it be the units in your file? If you set cell size and it somehow got x1000 cells in each direction then that definitely will take much longer.

Alternatively try to share your foam folder that BF generates and we can take a look at it. It might be a blue foam issue.

1 Like

Google Drive

I tried both the “Large Objects Metric - Meters” and “Small Objects Metric - Meters” in Rhino and they both resulted the same performance. I didn’t upload the “1.org” and “Constant” folder as they were more than 1.3 gb each.

Thank you for taking the time and helping me.

@Accretence The running time of butterfly depended on your meshing setting. Please check XYZ count of blockMesh, surface refine level.

1 Like

Hey @minggangyin, thank you for the response.


Sorry I’m a new user and I can’t upload files here, are these the settings you were referring to?

You should be able to see your cell count somewhere.

I’m not sure if BF shows it in grasshopper. Otherwise you can do a checkMesh which should output it in a logfile.

Maybe there’s also a logfile from the snappyHexMesh command.

If your mesh has millions of cells, then it would take a long time on a regular computer.

Also there’s a rule of thumb for ~1-2 gb ram per million cells as far as I remember. But don’t quote me on that :rofl:

Edit: another thing that can cause slow runs is if the solver is doing a lot of iterations per step. If you look at the logfile from simpleFoam, then no.steps should be less than 100, ideally less than 30 on a good mesh.

1 Like

I got my cell count down to about 400 and now I’m getting about 2 3 seconds per “time”. I’ve yet to get any meaningful simulations out of it but at least I’m iterating :smile: thank you for all of your help.

1gb mesh is a quite large task, usually something we only run on our 256 cpu cluster! I would stick to meshes less than 1-2M cells if you run it locally.

1 Like