Python project for simulating propeller performance across RPM, pitch, and blade count, with both interactive GUI and command-line execution.
PropellerPhysicsclass with BEMT-style force estimation- Lift/drag approximation via angle-of-attack model
- Tip-speed and tip-Mach computation
- Two model modes:
simple_bemt(implemented)full_bemt(placeholder currently falling back to simple model)
SimulationStatemodels RPM and pitch ramping toward targets- Allows transient behavior instead of instant parameter jumps
- Matplotlib 2D top view + force vectors
- Matplotlib 3D propeller view
- Rolling history panel for thrust/power/efficiency
- Animated run loop via
FuncAnimation
- RPM slider/input
- Pitch slider/input
- Blade count selector
- Start/Pause animation
- Snapshot logging
- CSV log output in
propeller_logs/ - Fields include thrust, power, efficiency, disk loading, power loading, tip speed/mach, Cl/Cd
- Loads one or more simulation CSV files
- Produces:
- summary stats CSV
- cleaned combined CSV
- multiple figures (time series, histograms, correlation, scatter)
- Optionally generates DOCX paper if
python-docxis installed - Packs outputs into
propeller_analysis_output/propeller_analysis_package.zip
From requirements.txt:
numpymatplotlibpandasscipy
Optional for DOCX output in analysis script:
python-docx
python main.pypython main.py --rpm 3000 --pitch 18 --blades 4 --model simple_bemt- Run simulation and generate logs in
propeller_logs/ - Update the
fileslist inanalyze_propeller.pyto point to desired CSV(s) - Run:
python analyze_propeller.py- Collect outputs from
propeller_analysis_output/
full_bemtmode is scaffolded but not yet physically complete- Airfoil polar database integration is placeholder-only
- Efficiency and induced flow treatment are approximate and intended for educational/research iteration