Python native System modeling

Build, simulate, and analyze continuous-time, discrete-time, and hybrid systems using intuitive block diagrams. From simple ODEs to complex multi-domain simulations.

Example
Loading...

About

PathSim is a Python framework for modeling continuous-time, discrete-time, and hybrid dynamical systems as block diagrams. It targets engineers and researchers who want a readable, scriptable alternative to traditional simulation tools without giving up solver depth: more than thirty explicit, implicit, and adaptive integrators, zero-crossing events and scheduled triggers, hot-swappable blocks, and hierarchical subsystems. The only runtime dependencies are numpy, scipy, and matplotlib.

Around the core sits a full ecosystem. PathView provides a visual block-diagram editor in the browser, Codegen exports standalone C for embedded deployment, and dedicated toolboxes cover chemical, vehicle, flight, and RF engineering. PathSim and its domain toolboxes are released under the MIT license.

Installation

Ecosystem

pathview
Visual block diagram editor for building and simulating PathSim models in the browser.
codegen
Generates standalone C code from PathSim simulations for embedded deployment.
pathsim
Build and simulate continuous-time, discrete-time, and hybrid dynamical systems using block diagrams.
chem
Thermodynamic property correlations, activity coefficients, equations of state, and tritium processing.
vehicle
Tire models, suspension systems, and powertrain components for vehicle dynamics simulation.
flight
Six degrees of freedom equations of motion, aerodynamics, and propulsion for flight simulation.
rf
S-parameter networks, transmission lines, amplifiers, and mixers for RF and microwave simulation.

Features

Hot-Swappable
Switch blocks and solvers during active simulation at runtime.
MIMO Capable
Multiple input, multiple output ports built into all blocks.
30+ Solvers
Implicit, explicit, and adaptive integrators for stiff and non-stiff systems.
Hierarchical
Nested subsystems for modular, reusable component design.
Event Handling
Zero-crossing detection and scheduled events for hybrid systems.
Extensible
Create custom blocks by subclassing the base Block class.
Browser Editor
Design and simulate visually with PathView using Pyodide.
Domain Toolboxes
Specialized blocks for chemical, vehicle, flight, and RF engineering.