Speaker
Description
Venturial is an open source Python toolkit designed to expedite case generation in OpenFOAM, a C++ software for continuum mechanics. The toolkit aims to ease the learning curve of OpenFOAM for new users by offering a flexible workflow with multiple entry points for the user.
The talk will demonstrate Venturial's main features through a sample workflow for generating a mesh for an OpenFOAM case. It will also highlight techniques for modifying the case and conclude with further development aspects to address the needs of intermediate/advanced users.
Background
Over the last few decades, improved hardware and algorithms have expanded general computing capabilities, fueling scientific tools, particularly in computational fluid dynamics (CFD), and making them accessible to a broader audience. One such tool, OpenFOAM, an open-source C++ library prominently used in CFD, is well known for its reusable code design. However, it poses a steep learning curve without a procedural workflow for defining cases. Due to this, new learners often feel discouraged to use this open source software and move to other proprietary software.
Our Work
OpenFOAM, by itself, is a CLI-based tool that needs a Linux-based Operating System to be used. New learners and people who deal with CFD often get discouraged by these prerequisites for using OpenFOAM. In response to this, Venturial[1], an endeavour by IIT Bombay’s CFD-FOSSEE team[2], envisions to benefit the scientific community by offering a complete CFD workflow with OpenFOAM within python. It provides a user-friendly Graphical User Interface to ease the process of case building for new learners and also provides a Python API to create and modify OpenFOAM cases using a Python script. PyVNT(Python Venturial Node Trees) is a Python API that can be used to read and write OpenFOAM case files and create an abstraction of OpenFOAM case data within Python in a Node Tree-based data structure. Venturial also includes domain-specific presets, proactive rule validation, FOAM-like meshing shortcuts, and personalisation utilities, ensuring a flexible yet structured CFD workflow.
Venturial is inspired by Reynolds-blender[4], a reference implementation of Reynolds[5]. It commenced development in 2021 through FOSSEE’s internship program. Since then, Venturial has been published in SciPy 2024[6], SciPy India 2021 [7], the 18th OpenFOAM workshop [8], and the 2023 IEEE T4E Conference [9].
Results
Our presentation will illustrate Venturial’s meshing workflow using a sample CFD case, emphasising its ease of use for beginners starting with OpenFOAM. We will also showcase PyVNT’s compatibility with OpenFOAM for intermediate and advanced CFD applications. The presentation will conclude with a discussion of Venturial’s future direction, highlighting its student-led development and forthcoming features.
Conclusions
This talk is intended for users and instructors within the CFD scientific community seeking a unified tool for learning or teaching OpenFOAM or developing a customised user interface to interact with various OpenFOAM features. It will provide valuable insights for those aiming to streamline CFD workflows while leveraging a structured and adaptable computational framework.
References
[1] Adak, Rajdeep, Diptangshu Dey, n.d. FOSSEE/Venturial - A GUI for OpenFOAM. Github: https://github.com/FOSSEE/venturial
[2] “Home,” CFD, https://cfd.fossee.in/
[3] Dey, Diptangshu, Rajdeep Adak, n.d. FOSSEE/PyVNT: Python Venturial Node Trees. Github: https://github.com/FOSSEE/pyvnt
[4] Surti, Deepak, Prabhu Ramachandran, and Shivasubramanian Gopalakrishanan. n.d.
“dmsurti/reynolds-blender: GitHub. https://github.com/dmsurti/reynolds-blender.
[5] Dmsurti (no date) Dmsurti/Reynolds: The preprocessing and solver python toolbox for openfoam., GitHub. Available at:
https://github.com/dmsurti/reynolds
[6] Adak, R., Murallidharan, J. S., & Ramachandran, P. (2024). Venturial: Generating CFD Workflows in Python. Python in Science Conference, 2024 (SciPy), Tacoma, Washington. SciPy. https://doi.org/10.25080/tpwg2365
[7] R. Adak and K. K. Thakur, “Venturial – A Python-based OpenFOAM GUI for CFD Simulations on Blender,” International conference on Python for education and scientific computing, https://scipy.in/2021. pdf available at: https://static.fossee.in/fossee/internship-reports/Python-Blender/Rajdeep_Adak.pdf
[8] Adak, R., Srree Murallidharan, J. and Ramachandran, P. (2023) 18th OpenFOAM Workshop. Available at: https://oxford-abstracts.s3.amazonaws.com/83ca7ab4-c356-4411-be07-070eaeffd43a.pdf
[9] Ramachandran, P., Murallidharan, J. S., & Adak, R. (2023, November 25). Developing Software to Enhance Learnability and Usability of OpenFOAM. Proceedings of International Conference on Technology 4 Education (T4E) 2023 (IEEE T4E), Indian Institute of Technology (IIT) - Bombay. https://doi.org/10.5281/zenodo.14162151
Session author's bio
Diptangshu is a software developer with a B.Tech in Computer Science and Engineering from the National Institute of Technology, Durgapur. He has extensive experience in web development and open-source software, with a strong focus on Python. He had worked as a Research Assistant at FOSSEE, IIT Bombay during which, he has intensively contributed to the projects Venturial and PyVNT.
Any other info we should know?
This talk is aimed towards beginners and experienced people in the CFD domain who are using OpenFOAM for CFD analysis and simulations. This talk aims to introduce them to a tool that would help them immensly in their work in the CFD field beginners and experienced alike.
| Social Media | https://www.linkedin.com/in/diptangshu-dey-3b656a200/ |
|---|---|
| Agree to Privacy Policy and Notice | I agree |
| In Person Attendance | In-person |
| Level of Difficulty | Beginner |
| Please confirm that there are included headshots of all speakers in their profiles | Yes |