ccp is a python library for calculation of centrifugal compressor performance. It uses CoolProp/REFPROP for the gas properties calculations.
import ccp
# ccp uses pint to handle units. Q_ is a pint quantity.
# If a pint quantity is not provided, SI units are assumed.
Q_ = ccp.Q_
ps = Q_(3, 'bar')
Ts = 300
# Define the fluid as a dictionary:
fluid = {
"CarbonDioxide": 0.8,
"Nitrogen": 0.2,
}
# Define suction and discharge states:
suc0 = ccp.State(fluid=fluid, p=ps, T=Ts)
disch0 = ccp.State(fluid=fluid, p=Q_(7.255, 'bar'), T=391.1)
disch1 = ccp.State(fluid=fluid, p=Q_(6.754, 'bar'), T=382.1)
# Create performance point(s):
point0 = ccp.Point(
suc=suc0,
disch=disch0,
speed=Q_(7941, 'RPM'),
flow_m=Q_(34203.6, 'kg/hr'),
b=0.0285,
D=0.365,
)
point1 = ccp.Point(
suc=suc0,
disch=disch1,
speed=Q_(7941, 'RPM'),
flow_m=Q_(36204.8, 'kg/hr'),
b=0.0285,
D=0.365,
)
# Create an impeller with those points:
imp = ccp.Impeller([point0, point1])
# Get results from the Impeller with methods such as
imp.head_plot()
imp.disch.T_plot()Install ccp with:
pip install ccp-performanceIf you work with an AI coding agent (Claude Code, GitHub Copilot, Cursor, Codex), install the ccp agent skill so your agent knows how to build states, points and impellers and run performance analyses:
ccp-install-skillThe skill activates automatically whenever you ask your agent about centrifugal compressor performance with ccp. In Claude Code you can also invoke it explicitly:
/ccp create an impeller from these test points and convert the curves to the new suction condition
Access the documentation here.
If you have any questions, you can use the Discussions area in the repository.
ccp is a community-driven project. If you want to contribute to the project, please check CONTRIBUTING.md.