ワンクリックで
pump-performance-db
Access manufacturer pump curves and specifications from Grundfos, KSB, and other databases
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Access manufacturer pump curves and specifications from Grundfos, KSB, and other databases
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Query vapor pressures and NPSH requirements for cavitation assessment
Query thermodynamic properties for 100+ fluids from CoolProp database
Query loss coefficients for pipes, valves, fittings in pump systems
Query fluid viscosities, densities, and material properties vs temperature
Access atmospheric properties and aerospace fluid data from NASA Earthdata
Query high-accuracy thermodynamic properties from NIST REFPROP database (commercial)
| name | pump-performance-db |
| description | Access manufacturer pump curves and specifications from Grundfos, KSB, and other databases |
| category | databases |
| domain | mechanical |
| complexity | basic |
| dependencies | [] |
Access manufacturer pump curves and specifications from Grundfos, KSB, and other major pump manufacturers. This skill provides methods for querying pump performance data, parsing manufacturer databases, and creating custom pump libraries.
Pump performance databases contain critical information for pump selection and analysis:
Website: https://product-selection.grundfos.com/
Features:
Data Access:
Typical Data Format:
Website: https://www.ksb.com/en-us/products-and-solutions/tools-services/easyselect
Features:
Data Access:
Website: https://www.flowserve.com/
Features:
Data Access:
Website: https://www.gouldspumps.com/
Features:
Data Access:
Before scraping manufacturer websites:
PDF Parsing:
# Extract curve data from PDF datasheets
import pdfplumber
import re
import numpy as np
# Digitize performance curves from images
from scipy.interpolate import interp1d
Web Scraping Tools:
Challenges:
Most major manufacturers do not provide public APIs. API access typically requires:
Third-Party Aggregators:
Open Data Projects:
{
"model": "CR 10-5",
"manufacturer": "Grundfos",
"type": "Vertical Multistage Centrifugal",
"impeller_diameter": 116, # mm
"speed": 2900, # rpm
"stages": 5,
"performance_curve": {
"flow": [0, 2, 4, 6, 8, 10, 12], # m³/h
"head": [48, 47, 45, 42, 38, 32, 24], # m
"efficiency": [0, 45, 62, 70, 72, 68, 55], # %
"power": [0.8, 1.0, 1.2, 1.4, 1.5, 1.6, 1.7] # kW
},
"npsh_required": {
"flow": [0, 2, 4, 6, 8, 10, 12],
"npsh": [0.5, 0.6, 0.8, 1.2, 1.8, 2.6, 3.6] # m
},
"specifications": {
"min_flow": 0, # m³/h
"max_flow": 12, # m³/h
"max_head": 48, # m
"max_pressure": 16, # bar
"max_temperature": 120, # °C
"connection_size": "DN 32/25",
"materials": {
"casing": "Cast Iron",
"impeller": "Stainless Steel",
"shaft": "Stainless Steel"
}
}
}
From Excel/CSV:
import pandas as pd
# Read manufacturer data export
df = pd.read_excel('pump_data.xlsx', sheet_name='Performance')
# Extract curve data
flow = df['Flow_m3h'].values
head = df['Head_m'].values
efficiency = df['Efficiency_pct'].values
From PDF Tables:
import tabula
# Extract tables from PDF
tables = tabula.read_pdf('datasheet.pdf', pages='all')
performance_data = tables[0] # First table
Manual Digitization:
Automated Approaches:
# Image processing for curve extraction
import cv2
from skimage import morphology
import matplotlib.pyplot as plt
# Read curve image
img = cv2.imread('pump_curve.png', 0)
# Threshold and extract curve points
# (Implementation depends on image quality)
SQLite Database Example:
CREATE TABLE manufacturers (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
website TEXT
);
CREATE TABLE pump_models (
id INTEGER PRIMARY KEY,
manufacturer_id INTEGER,
model_number TEXT NOT NULL,
pump_type TEXT,
speed_rpm INTEGER,
stages INTEGER,
impeller_diameter_mm REAL,
FOREIGN KEY (manufacturer_id) REFERENCES manufacturers(id)
);
CREATE TABLE performance_curves (
id INTEGER PRIMARY KEY,
pump_id INTEGER,
flow_m3h REAL,
head_m REAL,
efficiency_pct REAL,
power_kw REAL,
npsh_m REAL,
FOREIGN KEY (pump_id) REFERENCES pump_models(id)
);
CREATE TABLE specifications (
id INTEGER PRIMARY KEY,
pump_id INTEGER,
spec_name TEXT,
spec_value TEXT,
spec_unit TEXT,
FOREIGN KEY (pump_id) REFERENCES pump_models(id)
);
{
"database_version": "1.0",
"last_updated": "2025-11-07",
"manufacturers": [
{
"id": "grundfos",
"name": "Grundfos",
"pumps": [
{
"model": "CR 10-5",
"type": "vertical_multistage",
"performance": { ... },
"specifications": { ... }
}
]
}
]
}
import sqlite3
import json
class PumpDatabase:
def __init__(self, db_path='pump_database.db'):
self.conn = sqlite3.connect(db_path)
self.create_tables()
def add_pump(self, manufacturer, model, pump_type, curve_data, specs):
"""Add a new pump to the database"""
cursor = self.conn.cursor()
# Get or create manufacturer
cursor.execute(
"INSERT OR IGNORE INTO manufacturers (name) VALUES (?)",
(manufacturer,)
)
cursor.execute(
"SELECT id FROM manufacturers WHERE name = ?",
(manufacturer,)
)
mfg_id = cursor.fetchone()[0]
# Insert pump model
cursor.execute("""
INSERT INTO pump_models
(manufacturer_id, model_number, pump_type, speed_rpm, stages)
VALUES (?, ?, ?, ?, ?)
""", (mfg_id, model, pump_type,
specs.get('speed'), specs.get('stages')))
pump_id = cursor.lastrowid
# Insert performance curve points
for i, flow in enumerate(curve_data['flow']):
cursor.execute("""
INSERT INTO performance_curves
(pump_id, flow_m3h, head_m, efficiency_pct, power_kw)
VALUES (?, ?, ?, ?, ?)
""", (pump_id, flow, curve_data['head'][i],
curve_data['efficiency'][i], curve_data['power'][i]))
self.conn.commit()
Manufacturer Datasheets:
Factory Test Data:
Field Measurements:
Custom/Modified Pumps:
# Directory structure for proprietary data
proprietary_pumps/
├── manufacturer_name/
│ ├── model_series/
│ │ ├── model_variant_1.json
│ │ ├── model_variant_2.json
│ │ └── datasheets/
│ │ ├── model_variant_1.pdf
│ │ └── model_variant_2.pdf
│ └── metadata.json
└── custom_pumps/
├── project_name/
│ ├── pump_1.json
│ └── test_data.csv
└── metadata.json
# Include metadata for tracking
{
"model": "CR 10-5",
"data_version": "2.1",
"last_updated": "2025-11-07",
"source": "Grundfos Product Center 2025",
"verified": true,
"verification_date": "2025-10-15",
"notes": "Updated efficiency curve based on factory test data"
}
Data Validation:
Units Management:
Interpolation:
Updates and Maintenance:
Documentation:
pump-curves: Working with performance curvespump-selection: Systematic pump selection processhydraulic-analysis: System curve and operating point analysisnpsh-analysis: Net Positive Suction Head calculations