Issue 118 – October 15, 2022

RIP simpleFoam

Hey there,

It’s Robin from CFD Engine and I just stumbled across the retirement notice for simpleFoam while digging in the Foundation codebase. Digging a bit deeper, it looks like most of our favourite solvers have been replaced in OpenFOAM v11.

This is part of a big ol’ change to the Foundation version which will make the two OpenFOAMs radically different to use. So here’s the question:

“Is it time for one of the OpenFOAMs to change their name?” 🫢

Let me explain the changes & you can decide if I’m over-reacting…

Sneak Preview

Neither the OpenFOAM Foundation, nor ESI/OpenCFD, publish a roadmap of where they’re going with their flavour of OpenFOAM. Instead, they let you dig around in the source code and get a sneak preview of what’s coming in the next release.

For ESI/OpenCFD, you’re viewing the latest codebase (the master branch) whenever you visit their code repository. They also have a number of other branches where you can see specific features being developed before they make it onto that master branch.

The OpenFOAM Foundation do it a little differently – instead of having a single repository with lots of different branches, they have several repositories. The OpenFOAM-dev repository is the one that represents the WIP codebase that will become their next release.

You can grab the latest code from the Foundation or ESI/OpenCFD, build it & use it today, but it’s probably a little “bleeding-edge” for most people. It’s worth having a poke around the code from time-to-time though, which is how I came across the following retirement notice.

simpleFoam has been superseded and replaced by the more general
fluid solver module executed by the foamRun application:

foamRun -solver incompressibleFluid

Retirement Notice

If you carry on digging you’ll find these two commit messages, which explain what’s going on.

The second one is the more instructive & you should check it out for yourself, but here’s my reading of it…

There’s a new modular solver framework coming in v11 which does away with the current crop of solvers, refactoring & modularising them to into four new core solvers, plus a host of pluggable modules that can be activated via the various fv files (fvModels & fvConstraints).

From a user perspective it seems like a great move. No-one ever looked at the list of standard OpenFOAM solvers & thought “I wish there was more choice” 😜

These new solvers are accessed via two new runners (foamRun & foamMultiRun). The latter is interesting as it makes it easier to run different solvers in different regions of your model, great for conjugate heat transfer, fluid-structure interaction or other tricky (multi)physics problems.

Point of difference

There’s not been that much to choose between the two OpenFOAMs recently. There certainly isn’t a one-size-fits-all winner, I prefer the ESI/OpenCFD versions, but your mileage may vary.

This change represents a highly-visible point of difference between the two camps. For simple simulations, it’s probably not much more than a semantic difference, but for complex physics this might be the OpenFOAM Foundation pulling ahead (or at least them laying the foundation for doing so) 😉

All in the name

Which brings me back to my question – “is it time for one of the OpenFOAMs to change their name?”

It’s confusing for users, especially new users, to have two open-source CFD codes, both called OpenFOAM, that are (increasingly) different beasts. Plus it’s not a great user experience to get half way through a tutorial/walkthrough/project only to discover that you’re using the wrong flavour.

It was a duff idea to let two projects share a trademark in the first place & it’s not aged well. Now there’s too much history, brand equity & ego involved for either party to give up the OpenFOAM name.

So, whilst I don’t expect to see a supaFoam, a nuFoam or a foamDirect anytime soon, I think it could be a good move in the long-run.

What about you?

Taking the name change & the new solver framework separately…

Are you excited to check out the new solvers when v11 is released? Perhaps, you’ve already tried the new framework? What did you reckon?

If you use a Foundation release, do you think the new framework will have a positive impact on your CFD? Or are you already dreading the v11 update process?

If you’re an OpenCFD user, might this turn your head & get you to take v11 for a spin when it drops next year?

How about the name thing? Do you think one of the OpenFOAMs should change their name (even though we both know it’s never going to happen)?

Let me know your thoughts (or your name suggestions) & in the meantime – RIP simpleFoam & thank you for your service 🫡

Until next week, stay safe,

Signed Robin K