(241d) Introducing Students to Open-Source Partial Differential Equation Solver Codes in Python | AIChE

(241d) Introducing Students to Open-Source Partial Differential Equation Solver Codes in Python

Authors 

Inguva, P. - Presenter, Massachusetts Institute of Technology
Bhute, V., Imperial College London
Cheng, T. N. H., Imperial College London
Partial differential equations (PDE) are ubiquitous in many engineering fields and are one of the most complex mathematical topics that engineering students will encounter during their education. Despite the fact that numerical methods are often required for effective solution of PDE models for research and industrial applications, undergraduate students typically will have very limited exposure to relevant numerical methods and/or the use of PDE solver codes. This situation arises for a multitude of reasons such as the availability of space in the curriculum and/or access to suitable resources. Whilst addressing curriculum constraints is a challenging task, the availability of high quality resources suitable for teaching purposes can be well addressed. To that end, we believe that recent releases of multiple PDE solver codes native to the Python language offer exciting opportunities for educators and students. These solver codes are typically open-source in nature which makes them readily available. They are also easy to use as Python is a comparatively easier language for students to work with and are highly scalable, ofteni finding use in many research projects and publications. As a proof of concept, we have developed a short course (6 hours of contact time) using the solver code FiPy that we hope to integrate into the teaching of an advanced engineering mathematics course for 2nd year undergraduate students. With appropriate scaffolding, students were able to understand and solve a variety of problems including the Cahn-Hilliard equation. Student feedback indicated that they broadly found the course engaging and useful and that the visualization capabilities greatly facilitated their understanding of key concepts. All the course material is currently available on a public Github repository and we hope to implement additional exercises and use other solver codes in the future.