Reputation: 133
I recently started working with OpenMDAO and Im still learning to use it. I'm using OpenMDAO to optimize a structural design of a system. I use my analytical model(with assumptions of course) to compute maximum stress and natural frequency of my system, which is the constrains in the optimization. Since I use an Analytical model, I give the partial derivatives (analytical method) to facilitate total derivative computation. This narrows down my wide design envelope. However if I want to get a more realistic values for stress and frequency, I would have to use an external FEM solver instead of my analytical model. But then I would have no way to compute the derivatives needed for the optimization. Is it possible to integrate an external FEM solver in the context of OpenMDAO framework ? If yes, how ?
I did come across OpenAeroStruct. I assume it has an inbuilt way to compute derivatives. But it seems more oriented towards Aircraft design. And as far I looked I couldn't find a way to calculate my above mentioned values (Stress & Frequency) with it.
My ultimate goal would be to integrate the remaining subsystems(Power, thermal, etc which will also influence the structural design) and obtain an optimal design. So a stand-alone structural optimizer would not be beneficial. Thank you.
Upvotes: 2
Views: 349
Reputation: 5710
It is possible to use external codes in OpenMDAO, with or without derivatives. You can always FD the residual evaluation if you need to. Take a look at the ExternalCodeImplicitComp docs
Also, have you looked at TACS? its a python wrapped FEM solver with derivatives that could be very useful. It should be wrappable into OpenMDAO fairly easily:
https://github.com/gjkennedy/tacs
Upvotes: 1