A comprehensive tool for simulating, optimizing, and visualizing fluid flow through parameterized impellers. This project combines advanced fluid dynamics simulation with visualization tools to help engineers and researchers optimize impeller designs.
-
Parameterized Impeller Design
- Configurable blade count, angles, and dimensions
- Real-time geometry updates
- Automated parameter optimization
-
Advanced Simulation
- Fluid flow simulation using simplified Navier-Stokes equations
- Performance metrics tracking and analysis
- Convergence monitoring
-
Rich Visualization Suite
- Performance maps with efficiency contours
- Blade loading analysis
- Flow field visualization
- Optimization progress tracking
- Clone the repository:
git clone https://github.com/johnbenac/impeller.git
cd impeller
- Create and activate a virtual environment (recommended):
# Windows
python -m venv venv
.\venv\Scripts\activate
# Linux/Mac
python -m venv venv
source venv/bin/activate
- Install dependencies:
pip install -r requirements.txt
- Configure simulation parameters in
config.yaml
- Run the automated optimization and visualization:
python auto_runner.py
This will:
- Run all configured test cases
- Optimize impeller parameters
- Automatically generate comprehensive performance visualizations
- Save all results and visualizations in the
results
directory
Note: There's no need to run the visualization separately as it's fully integrated into the auto_runner.
- Dimensionless performance characteristics (ψ-φ diagram)
- Efficiency contours showing optimal operating regions
- Operating points with efficiency values
- Best Efficiency Point (BEP) marker
- Pressure distribution along blade surfaces
- Velocity profiles at key meridional positions
- Comparison between pressure and suction sides
- Flow separation and loading indicators
- Evolution of design parameters during optimization
- Convergence of objective function
- Efficiency improvements over iterations
- Parameter sensitivity analysis
The interactive dashboard (results/interactive_analysis.html
) provides:
- Dynamic performance map exploration
- Real-time parameter correlation analysis
- Blade loading animations
- Velocity triangle visualizations
- Maximum Efficiency: 84.4%
- Operating Range: 0.05-0.15 m³/s
- Optimal Flow Coefficient: 0.1-0.12
-
Best Efficiency Point:
- Flow Coefficient (φ): 0.11
- Head Coefficient (ψ): 0.32
- Efficiency: 84.4%
-
Operating Ranges:
- Normal Operation: φ = 0.08-0.14
- Extended Operation: φ = 0.05-0.15
- Avoid: φ > 0.15 (high flow instability)
-
Design Parameters at BEP:
- Number of Blades: 4
- Inlet Angle: 10.0°
- Outlet Angle: 38.4°
- Rotational Speed: 3000 RPM
├── auto_runner.py # Automated simulation runner
├── config.yaml # Configuration parameters
├── impeller_sim.py # Core simulation logic
├── plot_results.py # Visualization generator
├── requirements.txt # Project dependencies
├── test_impeller.py # Test suite
└── results/ # Generated visualizations and data
Contributions are welcome! Please read our contributing guidelines and code of conduct before submitting pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.
If you use this tool in your research, please cite:
@software{impeller_simulator,
author = {Benac, John},
title = {Impeller Fluid Flow Simulator and Optimizer},
year = {2024},
publisher = {GitHub},
url = {https://github.com/johnbenac/impeller}
}
For questions, issues, or contributions, please: