Numerical ODE, difference equation, and PDE solver with a graphical interface for scientists, engineers, and students.
- ODEs: Six methods (RK45, RK23, DOP853, Radau, BDF, LSODA) via SciPy
- Difference equations: Recurrence relations (geometric growth, logistic map, Fibonacci, etc.)
- PDEs: 2D elliptic solver (Poisson, Laplace)
- Vector ODEs: Coupled systems with animation and 3D visualization
- 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: Write any ODE, difference equation, or PDE in Python syntax
- Professional plots: Solution curves, phase portraits, surface/contour, vector animation
- Statistics: Mean, max/min, period, energy, RMS, residual error metrics
- Export: CSV, JSON, PNG/JPG/PDF, MP4 animation
- Configurable via
.envfile or in-app configuration dialog - Desktop GUI built with Tkinter/ttk
- Python 3.12 or higher
- Windows 10/11, macOS 10.14+, or Linux
- 4 GB RAM minimum
Windows:
install.bat
Linux/macOS:
chmod +x install.sh
./install.sh- Clone the repository:
git clone https://github.com/DOKOS-TAYOS/DifferentialLab.git
cd DifferentialLab- Run setup:
# Windows
bin\setup.bat
# Linux/macOS
chmod +x bin/setup.sh
./bin/setup.sh- Run the application:
# Windows
bin\run.bat
# Linux/macOS
./bin/run.shCopy .env.example to .env and customize:
cp .env.example .envOr use the in-app Configuration dialog to edit settings visually.
Available configuration sections:
- UI theme (colors, fonts, padding)
- Plot style (line, markers, fonts, grid)
- Solver defaults (method, tolerances)
- File paths and output format
- Logging
| Package | Version | Purpose |
|---|---|---|
| NumPy | >= 2.0 | Numerical computations |
| Matplotlib | >= 3.10 | Plotting and visualization |
| SciPy | >= 1.15 | ODE solving engine |
| python-dotenv | >= 1.0 | Environment configuration |
| PyYAML | >= 6.0 | Equation definitions |
Full documentation is built with Sphinx and hosted on Read the Docs.
To build the docs locally:
pip install -e ".[docs]"
cd docs
make html # Linux/macOS
make.bat html # WindowsThe output will be in docs/_build/html/.
Documentation contents:
- Getting Started -- installation, setup, first run
- User Guide -- walk-through of the complete workflow
- Configuration Reference -- every
.envsetting explained - Architecture -- module structure and design decisions
- API Reference -- auto-generated from source docstrings
MIT License. See license.md.
Third-party licenses: see THIRD_PARTY_LICENSES.md.
Alejandro Mata Ali
