Numerical ODE, difference-equation, and PDE solver with a desktop GUI for science and engineering workflows.
- ODEs with SciPy integrators (
RK45,RK23,DOP853,Radau,BDF,LSODA) - Difference equations (recurrence systems)
- PDEs (elliptic 2D solver and operator-based PDE workflows)
- Vector ODE systems with dedicated visualization modes
- Function transforms (Fourier, Laplace, Taylor, Hilbert, Z-transform)
- Predefined equation catalog loaded from YAML (
config/equations/*.yaml) - Custom equation parsing with safe AST validation
- Unified
f[...]notation (f[0],f[1],f[i,k]) - Interactive result dialogs (derivative selection, phase-space selection, dynamic redraw)
- Export to CSV, JSON, static figures, and MP4 animations
- Configurable UI/plot/solver behavior via
.envor in-app configuration dialog
Complex Problems is a plugin-style subsystem for specialized models with custom UI, solver, and result dialogs.
Current modules:
coupled_oscillators(1D coupled oscillators and FPUT variants)membrane_2d(2D coupled nonlinear membrane)nonlinear_waves(NLSE and KdV)schrodinger_td(time-dependent Schrodinger in 1D/2D)antenna_radiation(far-field patterns and antenna metrics)aerodynamics_2d(2D incompressible obstacle flow approximations)pipe_flow(steady and transient 1D pipe-flow models)
- Python
>=3.12 - Windows 10/11, macOS, or Linux
- Tkinter available in the Python runtime (GUI requirement)
Windows:
install.batLinux/macOS:
chmod +x install.sh
./install.shWindows:
bin\setup.bat
bin\run.batLinux/macOS:
chmod +x bin/setup.sh bin/run.sh
./bin/setup.sh
./bin/run.shDirect run:
python src/main_program.pyInstalled console entry point:
differential-lab- Documentation Home
- Getting Started
- User Guide
- Complex Problems Guide
- Configuration Reference
- Architecture
- Developer Guide
- Testing
- API Reference
To build docs locally:
pip install -e ".[docs]"
cd docs
make html # Linux/macOS
make.bat html # WindowsOutput directory: docs/_build/html/.
Install development dependencies:
pip install -e ".[dev]"Run tests:
pytestContribution guide: CONTRIBUTING.md.
MIT License. See license.md.
Third-party licenses: THIRD_PARTY_LICENSES.md.
