One of the first things I noticed as a naive undergraduate Engineering student back in 2006 were the decades-old milling and turning machines in the corner of the Engineering labs…

Yikes! I thought…(I guess manufacturing was never meant to be fashionable).

By the time I got into my final year, I was introduced to CAD and CFD software tools.

Now these were much more in-line with what my brain expected as someone living in the 21st century.

Computers were everywhere and we had a 1995 COMPAQ PRESARIO 524 with Windows….wait for it…95(!) growing up and many afterwards.

Doom and Duke Nukem eat-your-heart-out!

It wasn’t until I started my Engineering career in industry, that I was blown away by the sheer reliance on software tools for a professional purpose.

CAD, CFD, CAM and everything in-between…a tool for every conceivable phase of Engineering Design and Simulation.

Just as I had hoped for a modern design professional…I was in love 😍.

A few years into using these tools daily and I realised they were indeed essential to the way things are done in industry.

So much there are fanatical fan groups all over the Internet, some with die-hard fans.

(I remember when someone was defending Pro-E as a CAD tool, he was getting far too emotional when I was casually sharing how Solidworks was able to do the things he was showing me considerably faster. 😯)

An even bigger lesson…

If you’ve been following me for a while, you’d probably know my back story – after 13 years as a Senior Mechanical Engineer I fell in love with programming after developing VBA macros and transitioned into developing Engineering software professionally!

Since this transition and looking underneath at the code, I’ve learnt that code itself is actually an abstraction of what it represents.

For example, CFD solvers use numerical approximation algorithms, abstracting the Navier-Stokes equations and conservation laws, simulating how a shape behaves or influences fluid.

Chemical vapour deposition simulation, source: ‘simutechgroup’

In the similar way, 3D CAD engines abstract geometry and topology formulas to give you a computational version, defining the shape itself.

Sample 3D CAD geometry

Essentially, every time you click or run a command in the program it sets off a chain of programmed events to complete that task.

If it succeeds then a solution will be presented and in the case of CFD code, this will be a result over many iterations.

That’s to say, whilst the result is valid in terms of computation, it’s not necessarily correct in terms of he engineering value.

The true value of Engineering Code

It’s 2026, 20 years exactly since I started studying for an Engineering degree and I can honestly say it’s been an incredible journey so far.

Code and software tools have had a center seat and I am glad it did.

This is how I now see it:

Code is really an abstraction of what it represents. In the case of CFD, it is a numerical approximation algorithm representing the equations of motion and conservation laws.

Engineers can indeed use it for insights into their design otherwise next to impossible or difficult any other way.

Knowing this, my recommendation is to use it to assist and guide your product development like an exploration of your idea, rather than rely on the answers it gives directly.

More succinctly, it may be best to use it as a comparative tool that can indicate or give valuable insights.

Modern Engineering software tools are incredibly sophisticated, the industry depends on them heavily and they are expected to do the most complicated things, fast and efficiently without breaking a sweat (read as “crashing”).

I love taking open-source code that I used to only use as an end-user apart and sharing what I learn. If you missed it, last week I was reading OpenFOAM code:

What surprised me was how much these algorithms have stayed fundamentally the same and knowing them is a super-power in itself, allowing you to really trouble-shoot errors with more precision and in a timely manner.

Wait Nasser, what about AI?

Funny enough, this topic pops up quite a bit and I got a comment last week on one of my posts. Take a look at my response:

Like I said, all code is a form of abstraction.

New video uploaded!

See you soon,
Nasser

admin