Issue 003 – July 11, 2020

The trouble with new versions

Hey there CFD friend,

It’s Robin, from CFD Engine, back with your Saturday CFD note.

I just “ran the numbers” and discovered that I regularly use just 6% of the tools in the OpenFOAM suite. I’ll occasionally use another 7%. So, if I’m feeling generous, I could claim to use 13% of OpenFOAM’s capabilities. Generous because I’m just counting executables, in terms of actual functionality, I use a fraction of that.

This should give you a pretty good idea why I don’t get too excited when a new version drops. The odds are good that, however much CFD goodness is included in that new version, almost all of it will pass me by. It’s not unusual that a whole release will sail past, never making it into my production workflow.

Breaking = Bad

I’m slow to switch. I never change versions during a project & I keep the old codes around so that I can re-run/re-visit old projects.

Before any tools get used on a real-life project they need a stamp of approval. I’m not talking about classical verification & validation studies for solvers & methods here either, this is low level stuff.

First thing’s first, does any new tool do what’s expected of it & does it play nicely in the context of the rest of the workflow?

Second, is it stable & robust?

Third, if it behaves differently, is it in the ballpark of previous tools & do I understand the differences?

It’s usually the first stage that causes the most problems. A renamed keyword here, an improved output format there, or a dictionary with a new home. Chasing out that kind of nonsense takes far too much time. And don’t get me started on the differences between .com & .org versions 🙄

OpenFOAM v2006

In the shadow of that context, what’s in store with the new .com version? Are there any features that will prompt me to drop everything to get them into production?

Here are my top picks from the OpenFOAM v2006 release notes:

Linux binaries for Ubuntu, openSUSE, Centos/RedHat – finally. Many of my clients are new to OpenFOAM and also new to Linux. Extra hurdles at install time are enough for some of them to stop trying. The ease of installing OpenFOAM via Ubuntu packages was a major plus for the .org version. Significant enough that I used to recommend new users start with Ubuntu & the .org version. No longer. I can now just recommend the .com version on Ubuntu & get on with more interesting CFD things.

Switching off SHM gap refinement - an interesting tweak to refining gaps between geometries in snappyHexMesh. Can’t remember if I ever thought “it would be really nice if you could do this” but…maybe it would. I’ll probably have forgotten all about it by the time an opportunity to use it arises.

More adjoint shape optimisation bits including some additional documentation from NTUA which should come in handy if I ever get an opportunity to try it out.

PETSc liner solvers - I feel that these could be a big deal, but, like all good open-source, government-funded projects, I’ve checked the website & I’ve still got no idea why.

Big update to the atmospheric boundary layer modelling - I don’t use it, but there’s obviously been a lot of work in this area & I appreciate that.

Is that it?

There’s a lot work in any new release & I urge you to check out the notes. My top picks are probably different to yours. I mean, maybe you’ve been waiting for an Obhukov Length function for like…forever?

Personally, I can distil the v2006 release notes into 5 bullet points. One of which (the binaries) is a big deal to me, followed by 4 others that I’m unlikely to use before v2012 comes out in December.

Six-month release cycles are great in terms of the development momentum they generate, but they’re bordering on too much for regular users.

My tip – exercise your best meditation skills. Acknowledge the presence of a new release, scan the notes, then return focus to your own process & workflow, thus achieving inner peace 😇

How about you? Do you manage to keep up with the new releases? Do they make it into your production workflow? Which version are you currently on? Let me know, I won’t tell anyone 🤫

Until next week – stay safe,

Signed Robin K