DifferentialLab Logo

DifferentialLab

Numerical ODE, difference equation, and PDE solver with a graphical interface for scientists, engineers, and students.

Python License Version SciPy NumPy

📂 Repository🐛 Report Bug💡 Request Feature


DifferentialLab solves ordinary differential equations, difference equations, and PDEs numerically using SciPy’s integration engine. It provides a desktop GUI built with Tkinter/ttk, predefined equations from physics and engineering, a custom expression editor, publication-ready matplotlib plots, statistical analysis of solutions, and a function transforms module (Fourier, Laplace, Taylor, Hilbert, Z-transform).

Key Features

  • ODEs: Six numerical methods (RK45, RK23, DOP853, Radau, BDF, LSODA)

  • Difference equations: Recurrence relations (geometric growth, logistic map, Fibonacci, etc.)

  • PDEs: 2D elliptic solver (Poisson, Laplace) plus general operator-based PDEs

  • Vector ODEs: Coupled systems with animation, 3D phase-space trajectories, and surface visualization

  • Complex Problems (experimental): Special cases with custom UIs (e.g. coupled harmonic oscillators). Still in development; may contain bugs.

  • Unified f-notation: Write equations using f[0], f[1], f[i,k] (function, derivatives, vector components)

  • Interactive result tabs: Select derivatives to plot, choose phase-space axes, switch visualization modes without re-solving

  • Predefined equations: Harmonic oscillator, pendulum, Van der Pol, Lorenz, Lotka-Volterra, and more

  • Function transforms: Fourier (FFT), Laplace, Taylor series, Hilbert, Z-transform

  • Custom equations: Python syntax with safe evaluation

  • Plots: Solution curves, phase portraits (2D/3D), surface/contour for PDEs, vector animation

  • Statistics: Mean, RMS, period, amplitude, energy, residual error metrics

  • Export: CSV, JSON, PNG/JPG/PDF, MP4 animation


User Documentation

Developer Documentation

Project