Simulation of a Reciprocating Compressor in HYSYS
Written by James Holoboff, Process Ecology

The standard compressor model in HYSYS requires that suction pressure, discharge pressure and
flowrate be specified or calculated from elsewhere in the flowsheet. However, if you have reciprocating
compressor curves which provide a relationship between flowrate and pressure, then how can these
curves be used in a HYSYS model?
Back to Resources  
Back to Resources  

This figure is an example of reciprocating compressor curves – providing the relationship between
capacity (MMSCFD) and suction pressure (psig) at three discharge pressures.

First it is noted that HYSYS does provide some advanced capabilities in the compressor model:

  • Ability to add centrifugal compressor curve information – it is possible to add multiple curves
    relating head to actual volume flow for different speeds. However, this method is not well-suited
    to the format of the reciprocating curves shown here.
  • Reciprocating Compressor mode –this option provides the ability to specify details for the
    compressor – cylinder dimensions, bore, stroke, clearance volumes, etc. If this detailed
    information is available, then the option could be useful. However, even if that information is
    available, it can be difficult to replicate even the simple relationship shown in the graph. One of
    the difficulties is the requirement to properly set the pockets when the compressor is horsepower
    limited. The reciprocating compressor functionality does not automatically set pocket position to
    meet the horsepower.

Our recommendation then is to use the powerful spreadsheet capability in HYSYS which allows the use
of these reciprocating curves.

We would like to have HYSYS calculate the capacity (flowrate) assuming that the suction and discharge
pressures are known. In refrigerated gas plants, it is common for suction pressure to be controlled,
while the discharge pressure is known (i.e., the backpressure to the plant).

First we set up the HYSYS case – this particular compressor is a two-stage compressor, so the PFD
appears as follows:

The suction drums and inter/after stage coolers are also included in the model. We specify the suction
and discharge pressures/temperatures, but leave the flowrate to be calculated by the spreadsheet.

Next we create the spreadsheet and add the curve data. We assume that the relationship between
capacity and suction pressure can be expressed as two linear segments which is quite reasonable in
this case. The first segment at lower pressure represents the capacity increase in the region where the
compressor is not horsepower limited. The second segment at higher pressures has a smaller slope     
(i.e., the flowrate does not increase as quickly with suction pressure) – this is the region where the
compressor is horsepower limited. It is possible to see more complexity in these curves – for example, if
a cylinder changes from double-acting to single-acting we can see a discontinuity, but many
reciprocating compressors can be well-represented with this simple linear relationship.

The data is shown below:

We have three suction pressure-capacity data pairs for each of the three discharge pressures to
represent the endpoints of each linear segment. Here all three discharge pressure curves have the
same suction pressures (100, 120 and 140 psig), but this doesn’t necessarily need to be the case.

Now we need to import the suction and discharge pressures, and interpolate and/or extrapolate the
capacity from this data.
The calculations are summarized here:

  • The Suction pressure has been imported to cell B13
  • The Discharge pressure has been imported to cell B14
  • In row 18, the capacity at 1000 psig for the imported suction pressure is calculated (either
    interpolated or extrapolated). The same is done in row 19 for 1400 psig and in row 20 for 1600
    psig. It is possible to do the calculation for each row in one cell, but this would require four nested
    IF statements which would be quite unreadable and impossible to troubleshoot. Thus four
    statements were created depending on where the suction pressure fit into the compressor curve
    range. For example, the formula in cell B18 is:

    @if(B13<=B9,C9-(B9-B13)/(B10-B9)*(C10-C9),0)

  • That is, if the suction pressure is lower than or equal to the lowest given suction pressure, the
    capacity is estimated based on a linear extrapolation of the low pressure section of the curve.
    Similar functions are provided in columns C, D and E, then column F simply sums the capacities
    in the row (only one will be non-zero).
  • In row 22, the interpolation / extrapolation is now done on discharge pressure, yielding the
    calculated capacity in cell F22.
  • Given the complexity of the formulas, it is not practical to summarize all of them here. However,
    you may download the attached HYSYS case which may be used as a template.
  • The contents of cell F22 are exported to stream “Suction”.
  • Lastly, the interstage pressure is estimated – assuming the same compression ratio
    (PDISCHARGE / PSUCTION) for each stage. This is calculated in cell E13, and exported to
    stream “AC1”.

Now, as suction and/or discharge pressures change, the flowrate in the compressor will also change.
The calculated HYSYS flowsheet is shown below:
Click here to download the HYSYS case (developed in version 2006.5).