Issue 103 – July 2, 2022

OpenFOAM v2206: First Contact

Hey there,

It’s Robin from CFD Engine & it’s OpenFOAM release time again 🎉

ESI/OpenCFD dropped v2206 this week, so I thought I’d take my usual trip through the release notes & give you my highlights.

I’d label this one a “quality of life” update. There’s a mix of welcome additions, process improvements & fixes but only a handful of new-new things.

There’s a lot to see, but here are my highlights…

Binaries

Before I get into any new features I need to take a second to point out how spoilt for choice we are when it comes to pre-compiled code.

We have Linux binaries for multiple distros (Ubuntu, openSUSE & Centos – all via their respective package managers), a couple of options for Windows users, plus my personal favourite, Docker (although I might be alone on that one).

Kudos to the team for packaging all these options & letting us dodge code compilation – Vielen Dank 👏

On to the new stuff…

snappyHexMesh duct tape

snappyHexMesh has had leak finding for a while – give it some points where you don’t expect volume mesh & if it finds cells in those locations, it will show you the leak path(s) so you can fix your geometry.

There’s now an option to let snappyHexMesh have a go at fixing any holes it might find on those leak paths.

It doesn’t change your input geometry, it kind of tapes over the hole & tries to smooth a new surface into the surroundings.

I think I’d probably use this as an insurance policy – I’d fix my input geometry using the old leak-path method & then use the duct tape to ensure that a couple of missing triangles wont spoil my day.

Definitely worth a look & a quick test.

A new layering method

As you probably know, snappyHexMesh adds layers after completing the rest of the volume mesh. It effectively “inflates” layers off the surfaces, pushing the volume mesh away to make space. The more layers you want, the harder it has to work.

With this new feature we can ask SHM to build the layers in multiple passes. Push back the mesh, add a layer (or several), then rinse & repeat until there are no more layers to add (or no more that it can manage to add).

It should be easier to make space for a single layer at a time, than to make space for all the layers in one go – end result: better layer coverage.

I’m guessing it takes longer to mesh, but it might be worth it for some additional coverage.

binField

There used to be an option in the forceCoeffs functionObject to “bin” the forces in a certain direction to plot force distributions. Great for illustrating the span-wise loading on a wing or showing how drag accumulates along the length of a vehicle.

This option has been removed from forceCoeffs & refactored into a new functionObject called binField. It looks like we can now “bin” any field & not just along a single axis. This could open up some neat post-pro options, I’m looking forward to trying this out 👍

New adjoint bits

Adjoint marches on & I still haven’t tried it. In v2206 we get adjoint for k-Omega SST plus some tweaks that make adjoint optimisations easier, faster & more efficient.

I need to get on board with this – someone pass me adjoint.

EBRSM

v2206 includes a new-to-me turbulence model, the Elliptic Blending Reynolds Stress Model 🤔

I don’t think it’s one for me, but there are some compelling plots & a conference paper to dig through first.

EBRSM is sensitive to the initial turbulence fields, so we also get a tool to initialise these fields with minimal user input. I’m unclear whether setTubulenceFields is useful with other turbulence models, but we shall see.

Bits & Bobs

  • The turbulent digital filter inlet BC has been reworked, which will be of interest to you DES / LES heads.
  • There’s a new solid body mesh motion to speed up the motion calcs for things that spin, or flap or generally change their position over time.
  • There’s a loopy tweak to the runTimeControl triggers where, instead of just triggering sequential events, you can now loop back to a previous step & repeat – neat.

Give it a go

Kudos to ESI, OpenCFD & everyone involved in producing yet another solid release, especially one with very few breaking changes – thank you 🙏

Check out the full release notes when you get a chance – there are plenty of things that didn’t get my attention but might rock your CFD-world.

Have you taken any of the new things for a spin? What’s first on your to-do list? What did I miss? Do you think you will be upgrading? Or do you think you might skip this one & wait for v2212?

Drop me a note, I’d love to hear your thoughts, my inbox is always open.

Until next week, stay safe,

Signed Robin K