PyCon Sweden 2026

From Equations to Applications: AI-Assisted Engineering with Python

Python has made it easy for engineers and scientists to turn equations into computational models. NumPy, SciPy, and domain-specific libraries such as CALFEM can take us from a mathematical formulation to working code in very few lines. But turning that model into a usable application—with an interface, visualisation, documentation, and reports—has traditionally required a much broader set of software-development skills.

Large language models are changing this workflow.

In this talk I will explore an AI-assisted engineering workflow built around a small, Python computational core. Using a structural mechanics example implemented in NumPy and CALFEM, we develop and verify an engineering model and then use an LLM to help create the software surrounding it: user interaction, visualisation, result presentation, and reporting.

The interesting question is not whether AI can write Python. It clearly can. The question is how we divide responsibility between the engineer and AI.

I will argue for a simple principle: the engineer owns the model and its validation; AI can help build the application and tools around it.

This approach has implications not only for engineering software development, but also for how we teach Python to future engineers and scientists.


An engineering computation often begins with a familiar sequence:

problem → equations → numerical model → implementation → verification

With Python CALFEM and NumPy, the distance between mathematical formulation and an executable model can be very small. The difficulty often comes afterwards. A useful engineering tool may also need a user interface, plotting, input validation, documentation, and report generation.

This talk explores how large language models can reduce that barrier.

Using a small structural analysis example with Python, NumPy, and CALFEM, I will first build and verify a small computational core. I will then use an LLM to help create the software around it: user interaction, visualisation, result presentation, and reporting.

The focus is not on whether AI can generate Python code, but on how responsibility should be divided between the engineer and the AI. The engineer must still own the mathematical model, assumptions, units, boundary conditions, numerical formulation, and validation. AI can accelerate the development of the surrounding application.

We will also look at failure modes. Generated code can be syntactically correct, visually impressive, and still produce misleading engineering results. This makes understanding, testing, and verification more important, not less.

The talk concludes by considering what this workflow means for engineering education. If AI can reduce the effort required to build interfaces, plots, reports, and supporting code, more time can be spent on modelling, computational thinking, and understanding what the program actually computes.

The central idea is simple: build a trusted Python core, then use AI to help turn it into a usable engineering application.

Jonas Lindemann

Jonas Lindemann, Director at LUNARC. Jonas has a background in Structural Mechanics where he worked on distributed finite element applications, new user interface concepts for engineering application as well as visualisation of material behavior in mechanical simulations. Since 2004 he has been working at LUNARC designing, implementing and operating HPC resources for Lund University. He is also actively engaged in teaching scientific computing (Python, C++ and Fortran) for graduate as well as post graduate students. At LUNARC he has been the main developer of GfxLauncher and multiple other HPC related tools (ARC Storage Explorer, LUNARC Application portal and ml-browse a graphical module browser for lmod).