pocketHP is a steady-state design model for heat pump systems that operates straight from the browser (and hence from the phone in your pocket). The underlying model is written in the Python programming language and the PyScript framework is used to call Python code directly from HTML.
 
pocketHP is intended to be used as a teaching aid to explore basic principles relating to heat pump systems, whilst also serving as a pocket calculator for people working within the heat pump field. The current version combines the Peng-Robinson equation of state with a thermodynamic model of a heat pump system with an internal heat exchanger, and discretised heat exchanger sizing models. The user can vary cycle variables via the web form which returns performance data. The model enables single-point calculation, or parametric studies of a single variable.
 
Supporting documentation and lessons for pocketHP are still under development and not yet available. However, the pocketORC lessons and documentation should help give some insight to the underlying mechanics of the calculator.
 
 
Within pocketORC and pocketHP, the thermodynamic properties of the working fluid are calculated using a specifically designed module based on the Peng-Robinson equation of state. Although this is not as accurate as state-of-the-art multi-parameter equations of state commonly used (e.g., CoolProp and REFPROP), the model is known to provide reasonable predictions for fluid properties, particularly in the vapour-phase region. The level of accuracy provided by the Peng-Robinson is considered sufficient for a tool whose primary purpose is teaching. If using the tool for any other purpose, please proceed with caution and make sure to verify any calculations with results obtained using a more well-suited equation of state.
 
 
 
A simple heat pump system is based on four thermodynamic processes, each of which is carried out by a specific piece of equipment. The cycle is also a closed loop in that after carrying out the four process sequentially the properties of the circulating working fluid return to the original conditions. A schematic of this cycle is shown in the figure below.
 
We start our cycle at the inlet to the compressor, referenced as station 1, where the working fluid starts in a cold, vapour state at low pressure. The job of the compressor is to increase the pressure of the vapour to a higher pressure, which is achieved via the addition of work using a motor. In turn, this also raises the temperature of the working fluid.
 
After the compressor, referenced as station 2, the high-pressure vapour then enters the condenser during which the working fluid rejects heat to the heat sink. The heat transferred to the heat source can then be used for the desired heating application. Within the condenser, the working fluid is cooled down, condensed and potentially subcooled. Thus, at the outlet of the condenser the fluid is in a high-pressure liquid state.
 
This liquid then moves to the expansion valve inlet, referenced as station 3, where the fluid is expanded. During this process, the pressure of the working fluid is reduced. The temperature of the working fluid is also reduced, and the expansion process results in a cold two-phase mixture (i.e., liquid and vapour) leaving the expansion valve. During the expansion process, no work is done and therefore the enthalpy of the working fluid remains constant.
 
The working fluid leaving the expansion valve, referenced as station 4, is at low pressure but and in a two-phase state. The final process is to evaporate working fluid using an evaporator. This returns to the working fluid back to its initial state. During this process, heat is absorbed from the available heat source and transferred into the cycle.
 
The performance of a simple heat pump system can be improved with the addition of an internal heat exchanger. The job of this component is to use the heat contained within the working fluid after the condenser in order to heat up the vapour entering the compressor. This cycle is also reported in the figure below.
 
 
 
Schematics of a simple HP system (left) and recuperated HP system (right) 
 
The general goal for a heat pump designer is to design the system for a particular application. This generally corresponds to a known heat source and target heat sink. The calculator assumes both the heat source and heat sink are defined as sensible fluid streams with a finite mass-flow rate and constant specific-heat capacity. Enter those details below.
 
 
 
 
 
 
As a first assumption it is generally acceptable to assume that key system components, namely the compressor, operate with a fixed isentropic efficiency. Enter an assumption for that below.
 
 
 
 
To optimise the performance of the heat pump system, the heat pump designer has a number of different levers to pull. This includes changing the working fluid (i.e., the fluid circulating within the system), alongside a number of different thermodynamic variables. You can select the working fluid, and provide values for the cycle variables below.
 
Working fluid:
 
 
 
 
Having now selected your set of variables, it's time to see how the cycle performs. Hit the button below to find out. The results in the table summarise key performance metrics, as well as the work or thermal load of each component. The UA values are an indicator of the heat exchanger requirements and the pinch points indicate the minimum temperature differences in each heat exchange process.
 
It is also useful to view the cycle on a thermodynamic plane of choice. You can choose between temperature-entropy, pressure-enthalpy and pressure-volume. In the resulting figures, the green region indicates the state points of the working fluid throughout the cycle. Where relevant, the heat source (blue) and heat sink (red) temperature profiles are superimposed onto the cycle.
 
 
 
Note: Negative pinch points (reported in red below) indicate unphysical heat exchange profiles, and therefore indicate infeasible heat pump system configurations. In general, the best performance can be expected when the pinch points are minimised, but still positive. However, very low pinch points imply large heat transfer areas.
 
Coefficient of performance [-] | 0 | UA (hot) [kW/K] | 0 |
---|---|---|---|
Compressor work [kW] | 0 | UA (cold) [kW/K] | 0 |
Heater [kW] | 0 | UA (recup) [kW/K] | 0 |
Cooler [kW] | 0 | Pinch (hot) [K] | 0 |
Recuperation [kW] | 0 | Pinch (cold) [K] | 0 |
Mass flow [kg/s] | 0 | Pinch (rec.) [K] | 0 |
Compressor inlet | Compressor outlet | Saturated vapour (high pressure) | Saturated liquid (high pressure) | Recup. inlet (high pressure) | Expansion valve inlet | Expansion valve outlet | Saturated vapour (low pressure) | Recup. inlet (low pressure) | |
---|---|---|---|---|---|---|---|---|---|
Temperature [K] | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Pressure [kPa] | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Enthalpy [kJ/kg] | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Entropy [kJ/(kg K)] | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Density [kg/m³] | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
 
 
 
Want to understand how the different cycle variables can influence performance? Then pick a variable from the drop-down box below, alongside the minimum and maximum values you want to consider, and hit run to populate the table. All other variables are assumed constant as defined earlier.
 
 
 
 
 
Remember, negative pinch points indicate unphysical heat exchange profiles, and therefore indicate infeasible heat pump system configurations.
 
Parameter: | Coefficient of performance [-] | Compressor work [kW] | Heater [kW] | Cooler [kW] | Recup. [kW] | Mass flow [kg/s] | UA (hot) [kW/K] | UA (cold) [kW/K] | UA (rec.) [kW/K] | Pinch (hot) [K] | Pinch (cold) [K] | Pinch (rec.) [K] |
---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |