Issue 128 – January 7, 2023

OpenFOAM v2212: First Contact

Happy New Year,

It’s Robin from CFD Engine & I’m back from my little break with a wander through the latest OpenFOAM release notes 🙌

ESI/OpenCFD dropped v2212 just after my last email & this is my first chance to comb through the new bits.

And there are a lot of interesting new bits but, for the first time in a long time, there’s nothing that impacts my day-to-day CFD.

Your mileage may vary (& you should definitely check out the release notes yourself) but if it wasn’t for the bug-fixes, I think I might skip this one 🫢

That said, here are my top picks…

Community Contributions

My number one pick isn’t a new feature it’s the community involvement in this release. In particular, I’m thankful that…

  • DES experts, Adjoint experts & Volkswagen decided that their developments should live here & not in their own custom codes
  • if you helped out, however small (bug report, code patch, etc) then you’re acknowledged in the release notes

This isn’t all new, but it stood out to me this time around & it feels good.

Curvature-Based Refinement in SHM

Hasn’t snappyHexMesh always done curvature-based refinement? Yes, but now there’s a new way to do it.

SHM has gained the option to read a “curvature” field (calculated in advance using new functionality in surfaceFeatureExtract) & use it to control refinement.

As someone who routinely uses many input geometries (& doesn’t often use surfaceFeatureExtract) I’d like to have seen this functionality inside snappyHexMesh, but that’s just me.

This is the one new feature I could see myself using, but I found the description in the release notes a little hard to follow, so I’ll just have to take it for a spin instead.

New Adjoint Objectives

I’ve still not used adjoint in anger, but when I finally get around to it, there will be 5 new objective functions for me to play with.

If you’re not familiar with adjoint, it’s a mathemagical way of evaluating the sensitivity of your model to change (with respect to an objective) without actually having to change it.

For example, we can evaluate which bits of a car should be changed to reduce drag without having to run lots of different shapes. This info can then be used to inform our design changes, or to drive an optimisation.

The new objective functions in v2212 target internal flows & include flow rate, flow rate split, uniformity (on a patch & across a cell zone) & fluid power dissipation.

My personal adjoint objective remains to actually try it out 🤦‍♂️

DES Improvements

This release included several enhancements to OpenFOAM’s DES capabilities that improve its performance in tricky flow regions.

I’m not qualified to comment on the actual changes but I do have a couple of DES-related thoughts…

It seems (to me) that DES is getting more attention (& getting better) with new models, schemes, methods, tools & workflows. But I wonder whether it’s becoming unapproachable for prospective users?

For example, what does a decent starter DES setup look like these days?

Time for me to do some DES homework, I think 🤔

BIts & Bobs

Thank You

These are just my takeaways from the v2212 release notes, there’s much more. I recommend you take 5mins to have a dig through them yourself, there may be a feature (that I ignored) that could change the way you do CFD 🤷‍♂️

Before I go, I need to convey my thanks to ESI, OpenCFD & everyone involved with producing this latest version. I’m sure we underestimate the effort required to get a release like this out of the door, but it is most definitely appreciated 🍻

Have you taken any of the new features for a spin? What did you spot in the release notes, that I missed?

What’s at the top of your CFD to-do list in 2023?

Until next week, stay safe,

Signed Robin K