Hey there,
It’s Robin from CFD Engine, thankful to be back in your inbox 🙏
I’ve been thinking lately about how different groups get started with OpenFOAM/ParaView & trying to adopt a beginners mind while doing it (that last bit is hard).
My coaching clients often fall into one of two groups. New-new users, who’ve never really used CFD before. And switchers, who come to OpenFOAM from another code.
Both of these groups can struggle to figure out where to start. That’s to be expected for new-new users, but interesting in those migrating from another code.
The tutorials that ship with OpenFOAM don’t help much. A tutorial should have an element of structured learning, some pedagogy. Without that, it’s an example. With the installed tutorials, if you don’t know what they do (or what you’re doing) they aren’t going to enlighten you.
Known unknowns
I’ve noticed something else, something exclusive to switchers. Their previous CFD experience gives them an understanding of how things might work, but they’re not sure how that translates to OpenFOAM & ParaView. This can lead to a kind of anxiety – they know how much they don’t know 🤔
How do I get my geometry into snappyHexMesh
? How do I change the refinement regions? What about baffles? How do I set this particular boundary condition? How do I change the turbulence model? How do I check the convergence? How do I get it into ParaView? How do I plot residuals?
New-new users don’t have this anxiety – “ignorance is bliss” – although, to be fair, the closest #CFDLife gets to bliss is that Monday morning feeling when all your weekend jobs ran without a hitch 😎
It’s much easier for me to walk new-new users through OpenFOAM. They absorb the process one step at a time. Switchers have that “yes, but what about…” dialogue running in their head and have a tendency to try to skip ahead.
Start small
Whether you’re a new-new user, or a switcher, my advice is the same…
Start Small.
CFD is an iterative process (pun intended) & a lot of our learning comes from trial & error. We’ll almost always run through several revisions of our mesh and boundary conditions before we hit our sweet setup (which will probably be called something like “final-final-v3-complete” 😉).
If we’re going to be learning by making changes, then it makes sense to try to turn those experiments around as quickly as possible. Hence…
Start Small.
An example
Let’s say we wanted to figure out how to mesh a cellZone
in snappyHexMesh
& then set it up as a porous region in our race car model?
Let’s ignore the car & start with a little model of a tube. We’ll mesh it with a few thousand cells in SHM and figure out how to define the cellZone
we need. Then we’ll take that model & solve it. We’ll fine tune our porous coefficients and figure out how to report flow rates & pressure drops etc – all on this little model that runs in 5mins on our laptop. At the end of the process we’ll have a really good understanding of what’s going on & applying it to our full-car model will be (almost) trivial 🤞
Permission
Start Small – Start Simple – Step up the complexity (geometry & physics) slowly. It’s not ground-breaking advice, but it works.
It’s an approach that makes perfect sense to new-new users. But, if you’re an experienced CF-Do-er & who’s getting bogged down with a long checklist of things you don’t know how to do in OpenFOAM, then consider this your permission to think small.
If there’s a better way of doing it then I’m always open to suggestions. Let me know how you tend to approach these kind of problems. Can you remember the anxiety of the new user (or have you never quite shaken it off)?
Until next week, start small,