Skip to content

yeleshwarapu/pump_interpolator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pump Interpolator

A reusable, parametric Python tool for interpolating and visualizing centrifugal pump performance curves at any speed (RPM) and flow, using 2D interpolation.

Features

  • Interpolate pump curves (flow vs power, efficiency, NPSH, head) for any speed (RPM) and flow within the data range
  • Visualize all curves interactively (Plotly)
  • Query interface for CLI or module usage
  • Easily replaceable JSON data
  • Add new parameters from a spec sheet easily

Project Structure

pump_interpolator/
├── data/
│   └── example_pump_data.json
├── core/
│   └── interpolate.py
├── viz/
│   └── interactive_plot.py
├── interface/
│   └── query_interface.py
├── main.py
├── requirements.txt
└── README.md

Usage

1. Install dependencies

pip install -r requirements.txt

2. Query from CLI

python interface/query_interface.py --rpm 1700 --flow 25

3. Run demo CLI

python main.py

4. Visualize curves

from core.interpolate import PumpCurve
from viz.interactive_plot import plot_pump_curves, plot_interpolated_curves
pump = PumpCurve('data/example_pump_data.json')
plot_pump_curves(pump)  # Show all original data
plot_interpolated_curves(pump, 1700)  # Show interpolated curves at 1700 RPM

Data Format

See data/example_pump_data.json for the required structure. All speeds must use the same flow points. To add new parameters (e.g., temperature, impeller diameter), add them to each curve and update the code to interpolate them.


Developed for UTTHUNGA internship

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published