CoolProp.Plots.Common module

class CoolProp.Plots.Common.Base2DObject(x_type, y_type, state=None, small=None)

Bases: object

A container for shared settings and constants for the isolines and the property plots.

HS = 408
PD = 236
PH = 237
PLOTS = {'HS': 408, 'PD': 236, 'PH': 237, 'PS': 238, 'PT': 219, 'TD': 226, 'TS': 228}
PLOTS_INV = {219: 'PT', 226: 'TD', 228: 'TS', 236: 'PD', 237: 'PH', 238: 'PS', 408: 'HS'}
PS = 238
PT = 219
PU = 242
TD = 226
TS = 228
property critical_state
property state
property x_index
property y_index
class CoolProp.Plots.Common.BaseDimension(add_SI=0.0, mul_SI=1.0, off_SI=0.0, label='', symbol='', unit='')

Bases: BaseQuantity

A dimension is a class that extends the BaseQuantity and adds a label, a symbol and a unit label

property label
property symbol
property unit
class CoolProp.Plots.Common.BasePlot(fluid_ref, graph_type, unit_system='KSI', tp_limits='DEF', **kwargs)

Bases: Base2DObject

The base class for all plots. It can be instantiated itself, but provides many general facilities to be used in the different plots.

HI_FACTOR = 2.25
ID_FACTOR = 10.0
LINE_PROPS = {19: {'color': 'Darkred', 'lw': 0.25}, 20: {'color': 'DarkCyan', 'lw': 0.25}, 21: {'color': 'black', 'lw': 0.25}, 36: {'color': 'DarkBlue', 'lw': 0.25}, 37: {'color': 'DarkGreen', 'lw': 0.25}, 38: {'color': 'DarkOrange', 'lw': 0.25}}
LO_FACTOR = 1.01
PROPERTIES = {19: 'temperature', 20: 'pressure', 36: 'density', 37: 'specific enthalpy', 38: 'specific entropy', 42: 'specific internal energy'}
TP_LIMITS = {'ACHP': [173.15, 493.15, 25000.0, 2.25], 'DEF': [1.01, 2.25, 1.01, 2.25], 'NONE': [None, None, None, None], 'ORC': [273.15, 673.15, 25000.0, 2.25]}
UNIT_SYSTEMS = {'EUR': <CoolProp.Plots.Common.EURunits object>, 'KSI': <CoolProp.Plots.Common.KSIunits object>, 'SI': <CoolProp.Plots.Common.SIunits object>}
property axis
property figure
static generate_ranges(itype, imin, imax, num)

Generate a range for a certain property

get_Tp_limits()

Get the limits for the graphs in temperature and pressure, based on the active units: [Tmin, Tmax, pmin, pmax]

get_axis_limits(x_index=None, y_index=None)

Returns the previously set limits or generates them and converts the default values to the selected unit system. Returns a list containing [xmin, xmax, ymin, ymax]

static get_x_y_dydx(xv, yv, x)

Get x and y coordinates and the linear interpolation derivative

grid(b=None, **kwargs)
inline_label(xv, yv, x=None, y=None)

This will give the coordinates and rotation required to align a label with a line on a plot in axis units.

property limits

Returns [Tmin,Tmax,pmin,pmax] as value or factors

property props
savefig(*args, **kwargs)
set_Tp_limits(limits)

Set the limits for the graphs in temperature and pressure, based on the active units: [Tmin, Tmax, pmin, pmax]

set_axis_limits(limits)

Set the limits of the internal axis object based on the active units, takes [xmin, xmax, ymin, ymax]

show()
property system
title(title)
xlabel(xlabel)
ylabel(ylabel)
class CoolProp.Plots.Common.BaseQuantity(add_SI=0.0, mul_SI=1.0, off_SI=0.0)

Bases: object

A very basic property that can convert an input to and from a given unit system, note that the conversion from SI units starts with a multiplication. If you need to remove an offset, use the off_SI property. Examples with temperature: celsius = BaseQuantity(add_SI=-273.15) fahrenheit = BaseQuantity(add_SI=32.0, mul_SI=1.8, off_SI=-273.15) Examples with pressure: bar = BaseQuantity(mul_SI=1e-5) psi = BaseQuantity(mul_SI=0.000145037738)

property add_SI
from_SI(value)
property mul_SI
property off_SI
to_SI(value)
class CoolProp.Plots.Common.EURunits

Bases: KSIunits

class CoolProp.Plots.Common.IsoLine(i_index, x_index, y_index, value=0.0, state=None)

Bases: Base2DObject

An object that holds the functions to calculate a line of a constant property in the dimensions of a property plot. This class only uses SI units.

VALID_REQ = 0.05
XY_SWITCH = {19: {219: None, 226: None, 228: None, 236: False, 237: True, 238: False, 408: False}, 20: {219: None, 226: False, 228: False, 236: None, 237: None, 238: None, 408: False}, 21: {219: False, 226: True, 228: True, 236: True, 237: True, 238: True, 408: True}, 36: {219: False, 226: None, 228: True, 236: None, 237: True, 238: True, 408: False}, 37: {219: False, 226: False, 228: False, 236: True, 237: None, 238: True, 408: None}, 38: {219: True, 226: False, 228: None, 236: True, 237: True, 238: None, 408: None}}
calc_range(xvals=None, yvals=None)
calc_sat_range(Trange=None, Prange=None, num=200)
get_update_pair()

Processes the values for the isoproperty and the graph dimensions to figure which should be used as inputs to the state update. Returns a tuple with the indices for the update call and the property constant. For an isobar in a Ts-diagram it returns the default order and the correct constant for the update pair: get_update_pair(CoolProp.iP,CoolProp.iSmass,CoolProp.iT) -> (0,1,2,CoolProp.PSmass_INPUTS) other values require switching and swapping.

property i_index
sanitize_data()

Fill the series via interpolation

property value
property x
property y
class CoolProp.Plots.Common.KSIunits

Bases: SIunits

class CoolProp.Plots.Common.PropertyDict

Bases: object

A collection of dimensions for all the required quantities

property D
property H
property P
property Q
property S
property T
property U
property dimensions
class CoolProp.Plots.Common.SIunits

Bases: PropertyDict

CoolProp.Plots.Common.get_critical_point(state)
CoolProp.Plots.Common.interpolate_values_1d(x, y, x_points=None, kind='linear')
CoolProp.Plots.Common.is_string(in_obj)
CoolProp.Plots.Common.process_fluid_state(fluid_ref, fractions='mole')

Check input for state object or fluid string

Parameters:
Return type:

CoolProp.AbstractState