Hey there,
It’s Robin from CFD Engine & it’s OpenFOAM release time again.
ESI/OpenCFD dropped OpenFOAM v2112 a few weeks ago & this is my executive summary of the bits that caught my eye & the bits I think you might be interested in.
As always, you should check out the full release notes as there are bound to be things that didn’t touch me, but that you’ll be itching to try out.
Before I get to what’s in this release, here’s a quick summary of what’s not:
- No big meshing changes
- No new finite volume solvers
- No real breaking changes (at least from a user perspective) 👏
So, what is new?
New-merics
New numerics? Yes please – including:
- a couple of new schemes specifically intended to improve stability on highly non-orthogonal meshes;
- plus a new gradient scheme for meshes with non-zero face skewness;
Now, I’m not saying my meshes are highly non-orthogonal or skewed 🤭 but I’ll definitely be taking these for a spin.
- additionally, we can now vary the strength of the under-relaxers with time, i.e. start out nicely relaxed & gradually get less relaxed as the solution develops (just like me watching residuals).
Overall, a welcome feature set that could help speed-up / stabilise / generally improve convergence – definitely worth an experiment or two.
Ever more functionObjects
If you thought you’d got to grips with all the previous functionObjects
, we now have some new ones (& some old ones got new features) including:
Function1
entries can now access more data from the simulation (like the results/state of otherfunctionObjects
). For example, we can now probe the solution for a value & use it as the reference value in another calculation. (Now that’s a pretty simple example & I’m not really doing justice to the potential of this feature. I think it’ll take me a little while to figure out some of the fancy new automations we can build with it – I’ll report back).- the
comfort
function object has arrived from the .org version to help predict human comfort levels in HVAC-related simulations; - a new
exprField
function object makes it easier to define your own custom fields (or mess about with existing ones), including the ability to restrict changes to specific areas of the solution; - there’s a new (& very specific)
propellerInfo
function object for calculating the performance of a propeller (un)surprisingly.
Bits & Bobs
- Expressions have been extended to allow for easier definition of functions which can, in turn, be used to create quite complex setups. I use expressions just to simplify case setup, for calculating the boundary condition values that I might’ve previously done in a spreadsheet. They’re well worth investigating though, especially if you’ve not come across them before.
- there’s a new export format (
glTF
) forsampledSurfaces
andparticleTracks
– it has a bigger feature set than OBJ or VTP & it’s worth a quick look to see if it solves a problem for you. - there are several finite area developments, including a cool looking new thin film model, that I don’t really understand.
Docker
At the risk of sounding like a broken record, the “new” Docker launch script made trying this version as simple as typing openfoam-docker -2112
& within a minute I’m in an interactive terminal playing with the new features 👏
Thank You
These are just my personal highlights, there’s a lot more in this release. You can (& should) check out the full release notes for more details.
As always, I want to take a couple of lines to acknowledge the huge amount of effort that goes into developing, maintaining & releasing code like this.
Kudos to ESI, OpenCFD & everyone involved 🙏
Have you taken any of the new features for a spin yet? Or do you think it will be a while before you get around to having a go? Let me know, it might make me feel less bad when it takes me 6 months to switch over 🤭
Until next week, stay safe,