Post my career in ISRO, I still held on to my passion for design optimization. Specifically, I dreamt of developing a software tool for topology optimization of structural forms. It ought to be able to morph what one would call as a baseline shape to a shape far more efficient in performance relative to self- weight. With this proposal, I reached out to VSSC (ISRO) through their RESPOND office and was soon in touch with scientists of their structures group. They in turn sought a demo to gauge potential gain in design performance from evolutionary optimization.
Drawing ideas from a tool I'd developed earlier, I created a simple 1000+ lines script in awk (a shell scripting language, versatile though). The script, named GENSIZ, for GENeticSize optimization, was able to access and modify files from disk, a primary requirement as I'd use NASTRAN for design assessment, producing modal or buckling eigensolutions, as well as static distortion as desired. After a few demo runs on an inter- stage segment, VSSC scientists were convinced and I soon secured my first sponsored project, named GENSOLV. Of the many successful optimization solutions from GENSIZ, here's a case of a SUV chassis from an auto major.
GENSOLV
GENSOLV, for GENeticStructural Optimization of Launch Vehicles, was developed as a MATLAB code driving NASTRAN, the industry leading finite element solver. This application, an outcome of some 8 years of efforts, originally started with development in Ada 2005. While Ada was super fast, and open source as well, it had very minimal support for math libraries, a character that exists unfulfilled to this day. To add to my woes, my successive project assistants were a challenge to retain, thanks to the then growing job market. I would repeatedly tell myself "When the going gets tough, the tough get going".
In this tough situation, one truly fine day, I just shelved aside the 23 kLoc and 33 Ada working packages and trusting myself, took up development from scratch in MATLAB. In two months, after a key milestone of shape representation took good shape (no pun intended), I never looked back and went on to build a comprehensive library of objective functions covering multiple norms of eigen and distortion character, along with speedup features using the parallel computing toolbox and of course, ample tests on structural baseline forms.
For a concise idea of how shape is represented in GENSOLV, as well as GENSOLV's application to optimization for projectile impact resistance, one may refer this paper. And this page, briefly showcasing a few demo solutions.