uPDE: A Python library for solving systems of nonlinear partial differential equations
Year: 2026
Type: software-paper
Abstract: uPDE is a user-centric Python library for solving systems of nonlinear, coupled partial differential equations, both steady and unsteady. Its central design principle is a physics-focused declarative API in which users construct a PDE term by term—adding diffusion, advection, sources, and fluxes individually—so that the code structure mirrors the governing equations directly. This encourages physical understanding and gives users explicit control over every term in their model, while delegating all numerical machinery—spatial discretization, time integration, and steady-state solving—to well-tested solvers mainly from scipy . The user describes the equation in a physics-focused manner: which terms are present, what the coefficients are, and what the boundary and initial conditions are. Everything else—assembling the RHS, flattening multi-field state vectors, choosing ghost-cell values at non-periodic boundaries—happens automatically. uPDE currently handles 1D and 2D problems, nonlinear field-dependent coefficients, Dirichlet, Neumann, and per-axis periodic boundary conditions, and tightly coupled multi-field systems. We expect it to be useful both as a research prototyping tool and as a teaching aid for courses on numerical methods, transport phenomena, and other subjects involving PDE-based modelling.
Source: SoftwareX
Author: Tony Saad
Institution: University of Utah
Language: English
Subfield: Artificial Intelligence
Field: Computer Science
Domain: Physical Sciences
Open Access status: gold
Estimated APC paid: $1,200
Award: G542019786
OpenAlex ID: W7160844751
