SSA Blog

Python unlocks the potential of Abaqus, optimisation and additive manufacturing. And a lot else besides…

Posted by Laurence Marks

“Over six years ago, in December 1989, I was looking for a "hobby" programming project that would keep me occupied during the week around Christmas. My office ... would be closed, but I had a home computer, and not much else on my hands. I decided to write an interpreter for the new scripting language I had been thinking about lately: a descendant of ABC that would appeal to Unix/C hackers. I chose Python as a working title for the project, being in a slightly irreverent mood (and a big fan of Monty Python's Flying Circus).  That is Guido van Rossum describing the creation of what is rapidly becoming one of the most important technologies in the SSA world. A world where you’d think the gui would be king.

Python is a true enabling technology, and we are beginning to find that using it is a skill new employees are bringing with them to SSA. Learn python and you unlock the ability to automate routine tasks, and by doing that you increase the scope of the models you generate. And that allows you to start dealing with how changes to input parameters change the response of the design. As you can see I’m starting to travel down an isight street here. But I’ll stop because that’s just too obvious a direction. And I’ve been there before.

What I want to talk about in this blog is how we extended some new technology, which I briefly covered in a recent posting, to achieve something really quite interesting.

So in “straight lines in all the right places” I talked about how optimisation of lattices for 3D printing, or perhaps more correctly additive manufacturing, had pointed to a possible new world of lightweight optimal structures; the heirs of space frames and the offspring of composites. And I may have mentioned that the scope for these is enormous, given the scope for achieving previously un-producible shapes, and the frankly incredible material allowables.

If you’ve been quick you’ve been able to download Abaqus 2016. If you’ve been quicker and not a little talented you’ll have it up and running. We’ve been running the beta 2016 for a while now, and have used the beam optimisation routines to achieve some reasonably impressive shapes. There’s more to come on that, definitely. Much more.

Python Abaqus

 So back to python. It’s allowed us to do two things, generate the initial lattices rapidly so we can start to explore what’s important in their definition, and export the optimised definitions to a CAD system for fettling and manufacture. Neither of these processes, are in themselves, big science, but critically for my point, neither are functions of the standard software. Simple repetitive operations have been automated allowing you to get on and do the creative stuff. And present it, and manufacture it, which is really what we all want. 

Python Abaqus

But if we take a step back the view is really interesting. Driving simulation from a GUI in the CAD environment is often presented as the great creativity enababler, but it isn’t. It’s programming and scripting that gets the designer the scope and control to be truly creative; creative in depth, rather than at a superficial “smooth out this radius” level. And maybe that gets us to small multidisciplinary teams as the real engine of engineering design creativity. Which is convenient, because that’s what it always was. Thanks Guido.

 Python Abaqus