Skip to content

PyThrust

PyThrust Banner

Welcome to the official documentation for PyThrust - an open-source Python framework for electric propulsion system analysis, co-design, and parameter optimization in UAV applications.

PyThrust combines empirical propeller data, brushless motor models, battery/system loss modeling, and OpenMDAO integration so UAV designers can move from theoretical propulsion sizing to real component choices with traceable calculations.


Why PyThrust?

Electric UAV propulsion design usually crosses several domains: aerodynamics, motor electrical behavior, battery loading, component catalogs, and mission constraints. PyThrust keeps those pieces in one workflow:

  • Coupled operating-point solver: Solve equilibrium RPM, thrust, torque, current, power, and efficiency for a motor, propeller, battery, and flight condition.
  • Catalog-backed selection: Query real brushless motor and propeller datasets instead of optimizing against abstract components only.
  • Calibration tools: Fit lumped system resistance from test-stand data to account for ESC, battery, wiring, and connector losses.
  • Optimization-ready components: Use the propulsion solver inside OpenMDAO for multidisciplinary design optimization studies.
  • Optimization-ready examples: Generate plots for design sweeps, calibration quality, propeller coefficients, and hover efficiency maps.

Design and Analysis Visualization

Propulsion Co-Design Optimization Propulsion Calibration & Auto-Tuning
Propulsion co-design optimization Propulsion calibration and auto-tuning results
Propeller Aerodynamic Coefficients Hover Efficiency Heatmap
Propeller aerodynamic coefficients Hover efficiency heatmap

Key Documentation Sections

  • Getting Started: Installation, optional extras, and a first operating-point solve.
  • Propulsion Solver: Solver configuration, feasibility rules, and usage examples.
  • Motor Calibration: Fit system resistance from manufacturer or thrust-stand data.
  • Examples: Runnable scripts for calibration, motor selection, and OpenMDAO optimization.
  • API Reference: Main classes, database loaders, calibration objects, and OpenMDAO wrapper.
  • Mathematical Model: Propeller, motor, electrical loss, and coupled equilibrium equations.
  • Component Databases: Propeller CSV/JSON and motor catalog formats.
  • Development & Testing: Local setup, tests, examples, and documentation build commands.