Issue 053 – July 3, 2021

OpenFOAM v2106: First Contact

Hey there,

It’s Robin from CFD Engine & it’s that time again, time for a new release from ESI-OpenCFD, time for OpenFOAM v2106 🎉

It’s been out for less than a week, so I’ve not had much chance to play with it, but here are my top picks from the release notes – what caught my eye & what I’m looking forward to trying out.

My personal highlights include big changes to something you probably don’t use (the Docker images), a work-in-progress (the ParaView readers) and a change to a boundary condition (you say jump - I say how many Pascals?).

Let’s get after it…

Docker

I’ve had a sneak peak behind the scenes on this one & I think it might pass a few people by. But, for those of us that use OpenFOAM in Docker, there have been big changes to how things work & some welcome usability improvements.

I’ve written before about how I never liked the workflow of the official Docker images & I’ve always built my own. They’re also misunderstood by new users, and Docker just made things more difficult.

The new ESI-OpenCFD images are much easier to use – essentially, download a single script, and use that to start your Docker container.

The container mounts your current directory, you can use it interactively (my preference), you can access commands directly without entering the container & even execute run scripts from the launch command.

It’s different to using a native OpenFOAM install, but I like it. It makes installation trivial on any system, runs nicely & makes having multiple releases on your machine a non-event.

I’ll be writing more about this – but it’s worth checking out IMHO.

Multi-Regions

There are region-related changes littered throughout the release notes. Not something I often use, but essential for things like conjugate heat transfer.

So, for those of you who like a few regions in your model:

  • splitMeshRegions now allows you to easily combine named regions
  • region handling (-region(s) -allRegions etc) has been added to more utilities, including checkMesh & foamToEnsight
  • the foamToEnsight overhaul makes it seem like a really neat export option, particularly for CHT cases. The contents of the EnSight directory have shuffled around a little bit, which might catch you out, but probably not.
  • there’s a new multiRegion function object – you can define a function once & have it executed in all of the regions you specify.

Some nice bits for the CHT-heads.

ParaView

This one is a work in progress, but the release notes describe the progress on a project to integrate the “home-grown” reader (the one used in paraFoam) with the official one that ships with ParaView.

We’ll start to see the fruits in ParaView v5.10, later this year, but eventually there’ll be no need to maintain & distribute 2 slightly-different OpenFOAM readers. Win.

Overset

This falls into the “I don’t use it, but it looks cool & I should investigate it” category.

There are new overset solvers in this release, effectively adding overset to interPhaseChangeFoam and compressibleInterFoam.

There are also a few new motion options in the overset solvers. Check out this video that shows the new drivenLinearMotion option where the background mesh follows the overset object – I’d be like “dude, where’d my mesh go?”

Bits & Bobs

Finally, a grab bag of other bits that caught my attention:

  • Time Dependent Solar Load looks cool 😎 (pun intended) I didn’t know this was even in OpenFOAM
  • redistributePar seems like an interesting alternative to reconstructParMesh although I had no idea that reconstructing 100M cells from 80 processors took 1hr 15min 😳 it only takes 19min now – but I’m still glad I don’t reconstruct much
  • Better jump boundary condition – I like this little one
  • Meta data in headers – no more parsing huge files to find out what’s in them
  • Permeable BCs for multiphase flow – nuff said

Thank You

These are my personal v2106 highlights, it’s well worth checking out the real notes yourself as I’m sure other bits will pique your interest.

Before I go I want to take a moment to reflect on & appreciate the huge amount of effort that goes into a release like this. Irrespective of whether any of the new features touch your workflow, there’s a lot to be thankful for.

Kudos to ESI, OpenCFD & everyone involved 🙏

What’s your favourite new bit? What will you be trying out first? Hit reply & let me know what I’ve missed.

I’m off to find out more about dynamic mode decomposition 🤔

Until next week, stay safe,

Signed Robin K