python frontends for CFD
The open source computational fluid dynamics (CFD) code OpenFOAM is an extensive, modular, powerful finite volume solver with support for complex boundary conditions, multiple physics and comes with over 200 individual solvers to simulate different types of fluid dynamics and interaction. Fully parallel, it runs on thousands of cores and simulations involving ten to hundred millions of cells are possible
It is written in C++.
An OpenFOAM case requires a dozen or more complex dictionary files that describe all aspects of the simulation, from mesh to boundary conditions, flow models, time control and use of parallel hardware.
Additionally, to make best use of OpenFOAM's flexible and extensible design involves some programming to tie the needed modules, solvers and physics engines together and to define complex (ie realistic) models.
Fortunately, this task is simplified by two useful python front ends: pyFoam and SWAK4FOAM ("swiss army knife" for OpenFOAM).
This talk will cover the use of these python front ends to automate the setup, running, and post processing of multiple OpenFOAM simulations, and to illustrate the power of python in replacing bulky C++ code with streamlined (pun intended) python code for boundary conditions, custom dynamic models, turbulence and other tasks.
This is a somewhat technical talk but is mostly self-contained and the needed CFD terminology and OpenFOAM details will be covered in the talk.