Numerical optimization methods and metaheuristics are being increasingly used in virtually all branches of engineering. Until recently, typical product development processes have been primarily controlled by the engineering knowledge and intuition of a human expert who might occasionally use optimization loops for a subset of the development tasks. In the future however, an increasing number of engineering design processes or sub-processes will be fully automated to incorporate different design aspects towards multi-disciplinary, multi-objective optimization. To this end, appropriate environments are needed that (1) integrate flexibly with computational engines such as CAE tools and simulation packages (e.g, FEA or CFD), (2) offer good programming facilities, ranging from numerical computations over visualization to processing, analysis and meta-modeling of input and output data, and (3) support the major computer platforms.
In this work, we report our experiences with Python, NumPy and SciPy in the automation of various design processes in turbocharger development. Implemented in a flexible, time- and cost-efficient high-level programming language, these tools offer good support for numerical algorithms including optimization, and integrate well with CAE tools, such as Abaqus. We show in particular how a rather involved task of estimating the cooling dynamics of a compressor wheel cast blank can be efficiently solved with an approach inspired by the EM algorithm and implemented by combining Abaqus FE analyses and dynamic modeling with JModelica.org/Optimica.