You are here

SC17-007: PythonFOAM: In-Situ Data Analyses with OpenFOAM and Python

Romit Maulik, Argonne National Laboratory
We will provide a tutorial and hands-on session for integrating linear algebra and machine learning libraries in Python with OpenFOAM - a popular open-source CFD tool. The course will have a lecture+tutorial session to introduce participants with the basics of coupling C++ and Python codes. Subsequently, there will be a hands-on session where participants will be assisted with installing, compiling, and running the developed software (available here: Video lectures for the tutorial are already available at: More content will be added for this short course.
1. Introduction - 30 minutes
Introducing instructors and surveying audience for expectations from session. Quick questions to establish OpenFOAM proficiency and domains of research. 
2. Literature survey – 30 minutes
Review of certain popular machine learning algorithms that have successfully used with CFD problems. Focus on results from PythonFOAM.
3. Minimum working example – 60 minutes.
Coupling demo on minimum working example with C++ and Python for a 1D problem. Hands-on to help attendees compile and run demo.
4. Installing PythonFOAM, building new libraries, applications with Python compatibility - 120 minutes
Tutorial of Docker to help install PythonFOAM on *nix machines. Hands-on walk through of various examples in PythonFOAM (such as for in-situ autoencoders, in-situ singular value decompositions). 
5. Hackathon for OpenFOAM users to deploy their own projects in PythonFOAM for surrogate modeling – 120 minutes.
Users are encouraged to interface their CFD projects with PythonFOAM capabilities and/or extend PythonFOAM capabilities.