PyOhio 2010: Implementation of a Numerical Simulation in Python
Implementation of a Numerical Simulation in Python
Presented by Jeffrey B. Armstrong
The Python programming language is well suited for numerical computation under a variety of circumstances. Python offers advantages over competing free and commercial technologies, including price, functionality, and maintainability. Specifically, the combination of mature numerical libraries and liberal licensing allow complex simulations to be coded with ease and to be made available to nearly all interested parties. !NumPy/!SciPy, database access, networking, and optimization techniques are examined in detail with respect to numerical computation. A practical example involving an aerothermal commercial turbofan aircraft engine simulation showcases these advantages. An aircraft engine is broken down into discrete stages, including compressors, turbines, and other flow-related components. Commonalities between components, such as rotation and the presence of inlet and exit conditions, map cleanly to the object-oriented nature of Python. Based on simulation needs and hardware availability, Python allows for the parallel computation of simulations without the expense and complexity of commercial parallelization packages.