Creating obstructions and complex geometry for indoor Butterfly scenes

Hey all,
I’m working on some stack visualizations to show the usefulness of skylights and other windows in residential architecture.

I have used pretty complex polysurfaces that tend to run great for cross ventilation, but something seems to break anytime I add substantial height between the inlet and outlet.

I’ve been spending a couple hours simplifying the geometry and so far run about 5 different versions through but none of them seem to want to get past this point:

Not even this one, which is about as barebones as it gets:

I am quite certain that the geometry is the issue as I am able to get super simple simulations to run, including this one that uses the exact same grasshopper script as the other models that I have been trying.

I doublechecked that all of my test cases are closed, and the meshing seems to work fine. Any help or advice is extremely appreciated.

Sorry but I don‘t think your problem is about geometry that is too complex. It seems to be pretty straight forward as far as I can see.
There are so many other factors to consider in CFD that can mess the whole thing up.
Can you share your file? Or the OpenFOAM case?

Yeah, thanks for trying to help! I dumbed it down a little bit for simplicity but hopefully everything was internalized. (569.6 KB)

Ok, I’ve opened your case and ran blockMesh and snappyHexMesh and the first thing is with those setting in the gh-file, you’re meshing the outside, not the inside of the room as you’d have to do for your case (you’re not simulating stack ventilation that way either)

You have to set the location point in snappyHexMeshDict inside the room geometry:

Also you have to enable snap in snappyHexMesh to get the mesh to snap to your room surfaces:

And resolveFeature Ange to something smaller like 30:

You’d also have to check the mesh refinements as some feautures aren’t being recognized because your initial mesh is too coarse.
The geometry for your inlet and outlet must be cut out of the room geometry so there are no overlying surfaces while meshing.
Always check your mesh…

I didn’t even get to check the boundary conditions, but I would strongly suggest to learn the basic usage of OpenFOAM and CFD before you simulate and present your results to anyone.
There’s a lot of material on the internet.


Give the inner walls some thickness. Ideally around 6-9 cells around the edge of wall (the thickness). Or isolate to the one room in focus.
Make the stair like a ramp or make sure to have 6-9 cells in each step.

In general never model details smaller than 3 cells or you may have meshing issues. (And smaller than 15 cells may not show correct results)

Try running checkMesh and see if it passes the check. Never run a simulation on a failed mesh as it can cause explosions (unless you use some work arounds) Never. Instead export the skewed faces to vtk file and visualize bad areas in Paraview, fix them (by removing the detail or refining cells) and try again. A good mesh is an iterative process.

Also take a look at the answers here

1 Like