portyanikhin/VCRC
Cross-platform vapor-compression refrigeration cycles analysis tool
Cross-platform vapor-compression refrigeration cycles analysis tool using
SharpProp.
Navigation
- How to install
- Unit safety
- VCRC components
- Simple single-stage VCRC
- Single-stage VCRC with recuperator
- Two-stage VCRC with incomplete intercooling
- Two-stage VCRC with complete intercooling
- Two-stage VCRC with parallel compression
- Two-stage VCRC with economizer
- Two-stage VCRC with economizer and parallel compression
- Two-stage VCRC with economizer and two-phase injection into the compressor
- Single-stage VCRC with an ejector as an expansion device
- Two-stage VCRC with an ejector as an expansion device and economizer
- Two-stage VCRC with an ejector as an expansion device, economizer and parallel compression
- Two-stage VCRC with an ejector as an expansion device, economizer and two-phase injection into the compressor
- Mitsubishi Zubadan VCRC (subcritical only)
- Entropy analysis
How to install
Add it via CLI (you also need to explicitly add SharpProp):
dotnet add package SharpPropdotnet add package VCRCOr go to NuGet Gallery | SharpProp
and NuGet Gallery | VCRC for detailed instructions.
Unit safety
All calculations are unit safe (thanks to UnitsNet).
This allows you to avoid errors associated with incorrect dimensions of quantities,
and will help you save a lot of time on their search and elimination.
In addition, you will be able to convert all values to many other dimensions without the slightest difficulty.
VCRC components
To analyze the vapor-compression refrigeration cycle (VCRC), it is first necessary to build it from individual components.
Evaporator
For example:
- Refrigerant: R32.
- Evaporating temperature (dew point): 5 °C.
- Superheat: 5 K.
using SharpProp;
using UnitsNet;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var evaporator = new Evaporator(
FluidsList.R32,
5.DegreesCelsius(),
TemperatureDelta.FromKelvins(5)
);Compressor
Compressor with 80 % isentropic efficiency:
using UnitsNet.NumberExtensions.NumberToRatio;
using VCRC;
var compressor = new Compressor(80.Percent());Condenser (for subcritical VCRCs)
For example:
- Refrigerant: R32.
- Condensing temperature (bubble point): 45 °C.
- Subcooling: 3 K.
using SharpProp;
using UnitsNet;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var condenser = new Condenser(
FluidsList.R32,
45.DegreesCelsius(),
TemperatureDelta.FromKelvins(3)
);Gas cooler (for transcritical VCRCs)
For R744, the absolute pressure in the gas cooler is optional.
If this is not specified, then the optimal pressure will be calculated automatically
in accordance with this article:
Yang L. et al. Minimizing COP loss from optional high pressure correlation for transcritical CO2 cycle //
Applied Thermal Engineering. – 2015. – V. 89. – P. 656-662.
For example:
- Refrigerant: R744.
- Outlet temperature: 40 °C.
- Pressure (optional for R744): 105 bar.
using SharpProp;
using UnitsNet.NumberExtensions.NumberToPressure;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var gasCooler = new GasCooler(FluidsList.R744, 40.DegreesCelsius());
var gasCoolerWithSpecifiedPressure = new GasCooler(
FluidsList.R744,
40.DegreesCelsius(),
105.Bars()
);
Console.WriteLine(gasCooler.Pressure.Bars); // 100.448
Console.WriteLine(gasCoolerWithSpecifiedPressure.Pressure.Bars); // 105Ejector
Ejector with 90 % isentropic efficiency of the nozzle, suction section and diffuser:
using UnitsNet.NumberExtensions.NumberToRatio;
using VCRC;
var ejector = new Ejector(90.Percent());Ejector with 90 % isentropic efficiency of the nozzle and suction section and
80 % isentropic efficiency of the diffuser:
using UnitsNet.NumberExtensions.NumberToRatio;
using VCRC;
var ejector = new Ejector(90.Percent(), 90.Percent(), 80.Percent());Recuperator
Recuperator with 5 K temperature difference at "hot" side:
using UnitsNet;
using VCRC;
var recuperator = new Recuperator(TemperatureDelta.FromKelvins(5));Economizer
Economizer with 5 K temperature difference at "cold" side and 5 K superheat:
using UnitsNet;
using VCRC;
var economizer = new Economizer(
TemperatureDelta.FromKelvins(5),
TemperatureDelta.FromKelvins(5)
);Economizer with two-phase injection into the compressor
Economizer with two-phase injection to the compressor and 5 K temperature difference at "cold" side:
using UnitsNet;
using VCRC;
var economizer = new EconomizerWithTPI(TemperatureDelta.FromKelvins(5));Simple single-stage VCRC
Schematic diagram

Pressure-enthalpy chart (log P-h chart) for the subcritical cycle

Pressure-enthalpy chart (log P-h chart) for the transcritical cycle
List of points
Point 1- evaporator outlet / compression stage suction.Point 2s- isentropic compression stage discharge.Point 2- compression stage discharge / condenser or gas cooler inlet.Point 3- condenser or gas cooler outlet / EV inlet.Point 4- EV outlet / evaporator inlet.
Examples
To calculate the energy efficiency ratio (aka cooling coefficient, aka EER),
the coefficient of performance (aka heating coefficient, aka COP) and the compressor discharge temperature:
For the subcritical cycle
using SharpProp;
using UnitsNet;
using UnitsNet.NumberExtensions.NumberToRatio;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var evaporator = new Evaporator(
FluidsList.R32,
5.DegreesCelsius(),
TemperatureDelta.FromKelvins(5)
);
var compressor = new Compressor(80.Percent());
var condenser = new Condenser(
FluidsList.R32,
45.DegreesCelsius(),
TemperatureDelta.FromKelvins(3)
);
var cycle = new SimpleVCRC(evaporator, compressor, condenser);
Console.WriteLine(cycle.EER); // 4.348012113427724
Console.WriteLine(cycle.COP); // 5.348012113427722
Console.WriteLine(cycle.Point2.Temperature); // 88.76 °CFor the transcritical cycle
using SharpProp;
using UnitsNet;
using UnitsNet.NumberExtensions.NumberToRatio;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var evaporator = new Evaporator(
FluidsList.R744,
5.DegreesCelsius(),
TemperatureDelta.FromKelvins(5)
);
var compressor = new Compressor(80.Percent());
var gasCooler = new GasCooler(FluidsList.R744, 40.DegreesCelsius());
var cycle = new SimpleVCRC(evaporator, compressor, gasCooler);
Console.WriteLine(cycle.EER); // 2.607514554616747
Console.WriteLine(cycle.COP); // 3.6075145546167464
Console.WriteLine(cycle.Point2.Temperature); // 88.36 °CSingle-stage VCRC with recuperator
Schematic diagram

Pressure-enthalpy chart (log P-h chart) for the subcritical cycle

Pressure-enthalpy chart (log P-h chart) for the transcritical cycle
List of points
Point 1- evaporator outlet / recuperator "cold" inlet.Point 2- recuperator "cold" outlet / compression stage suction.Point 3s- isentropic compression stage discharge.Point 3- compression stage discharge / condenser or gas cooler inlet.Point 4- condenser or gas cooler outlet / recuperator "hot" inlet.Point 5- recuperator "hot" outlet / EV inlet.Point 6- EV outlet / evaporator inlet.
Examples
To calculate the energy efficiency ratio (aka cooling coefficient, aka EER),
the coefficient of performance (aka heating coefficient, aka COP) and the compressor discharge temperature:
For the subcritical cycle
using SharpProp;
using UnitsNet;
using UnitsNet.NumberExtensions.NumberToRatio;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var evaporator = new Evaporator(
FluidsList.R32,
5.DegreesCelsius(),
TemperatureDelta.FromKelvins(5)
);
var recuperator = new Recuperator(TemperatureDelta.FromKelvins(5));
var compressor = new Compressor(80.Percent());
var condenser = new Condenser(
FluidsList.R32,
45.DegreesCelsius(),
TemperatureDelta.FromKelvins(3)
);
var cycle = new VCRCWithRecuperator(
evaporator,
recuperator,
compressor,
condenser
);
Console.WriteLine(cycle.EER); // 4.201006672315493
Console.WriteLine(cycle.COP); // 5.201006672315493
Console.WriteLine(cycle.Point3.Temperature); // 120.68 °CFor the transcritical cycle
using SharpProp;
using UnitsNet;
using UnitsNet.NumberExtensions.NumberToRatio;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var evaporator = new Evaporator(
FluidsList.R744,
5.DegreesCelsius(),
TemperatureDelta.FromKelvins(5)
);
var recuperator = new Recuperator(TemperatureDelta.FromKelvins(5));
var compressor = new Compressor(80.Percent());
var gasCooler = new GasCooler(FluidsList.R744, 40.DegreesCelsius());
var cycle = new VCRCWithRecuperator(
evaporator,
recuperator,
compressor,
gasCooler
);
Console.WriteLine(cycle.EER); // 2.711892365925208
Console.WriteLine(cycle.COP); // 3.7118923659252077
Console.WriteLine(cycle.Point3.Temperature); // 120.88 °CTwo-stage VCRC with incomplete intercooling
Schematic diagram

Pressure-enthalpy chart (log P-h chart) for the subcritical cycle

Pressure-enthalpy chart (log P-h chart) for the transcritical cycle
List of points
Point 1- evaporator outlet / first compression stage suction.Point 2s- first isentropic compression stage discharge.Point 2- first compression stage discharge.Point 3- second compression stage suction.Point 4s- second isentropic compression stage discharge.Point 4- second compression stage discharge / condenser or gas cooler inlet.Point 5- condenser or gas cooler outlet / first EV inlet.Point 6- first EV outlet / separator inlet.Point 7- separator vapor outlet / injection of cooled vapor into the compressor.Point 8- separator liquid outlet / second EV inlet.Point 9- second EV outlet / evaporator inlet.
Examples
To calculate the energy efficiency ratio (aka cooling coefficient, aka EER),
the coefficient of performance (aka heating coefficient, aka COP) and the compressor discharge temperatures:
For the subcritical cycle
using SharpProp;
using UnitsNet;
using UnitsNet.NumberExtensions.NumberToRatio;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var evaporator = new Evaporator(
FluidsList.R32,
5.DegreesCelsius(),
TemperatureDelta.FromKelvins(5)
);
var compressor = new Compressor(80.Percent());
var condenser = new Condenser(
FluidsList.R32,
45.DegreesCelsius(),
TemperatureDelta.FromKelvins(3)
);
var cycle = new VCRCWithIIC(evaporator, compressor, condenser);
Console.WriteLine(cycle.EER); // 4.617699450573777
Console.WriteLine(cycle.COP); // 5.617699450573777
Console.WriteLine(cycle.Point2.Temperature); // 47.65 °C
Console.WriteLine(cycle.Point4.Temperature); // 85.53 °CFor the transcritical cycle
using SharpProp;
using UnitsNet;
using UnitsNet.NumberExtensions.NumberToRatio;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var evaporator = new Evaporator(
FluidsList.R744,
5.DegreesCelsius(),
TemperatureDelta.FromKelvins(5)
);
var compressor = new Compressor(80.Percent());
var gasCooler = new GasCooler(FluidsList.R744, 40.DegreesCelsius());
var cycle = new VCRCWithIIC(evaporator, compressor, gasCooler);
Console.WriteLine(cycle.EER); // 2.931496855532257
Console.WriteLine(cycle.COP); // 3.9314968555322563
Console.WriteLine(cycle.Point2.Temperature); // 47.43 °C
Console.WriteLine(cycle.Point4.Temperature); // 75.83 °CTwo-stage VCRC with complete intercooling
Schematic diagram

Pressure-enthalpy chart (log P-h chart) for the subcritical cycle

Pressure-enthalpy chart (log P-h chart) for the transcritical cycle
List of points
Point 1- evaporator outlet / first compression stage suction.Point 2s- first isentropic compression stage discharge.Point 2- first compression stage discharge.Point 3- separator vapor outlet / second compression stage suction.Point 4s- second isentropic compression stage discharge.Point 4- second compression stage discharge / condenser or gas cooler inlet.Point 5- condenser or gas cooler outlet / first EV inlet.Point 6- first EV outlet / separator inlet.Point 7- separator liquid outlet / second EV inlet.Point 8- second EV outlet / evaporator inlet.
Examples
To calculate the energy efficiency ratio (aka cooling coefficient, aka EER),
the coefficient of performance (aka heating coefficient, aka COP) and the compressor discharge temperatures:
For the subcritical cycle
using SharpProp;
using UnitsNet;
using UnitsNet.NumberExtensions.NumberToRatio;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var evaporator = new Evaporator(
FluidsList.R32,
5.DegreesCelsius(),
TemperatureDelta.FromKelvins(5)
);
var compressor = new Compressor(80.Percent());
var condenser = new Condenser(
FluidsList.R32,
45.DegreesCelsius(),
TemperatureDelta.FromKelvins(3)
);
var cycle = new VCRCWithCIC(evaporator, compressor, condenser);
Console.WriteLine(cycle.EER); // 4.726096383578692
Console.WriteLine(cycle.COP); // 5.7260963835786916
Console.WriteLine(cycle.Point2.Temperature); // 47.65 °C
Console.WriteLine(cycle.Point4.Temperature); // 62.48 °CFor the transcritical cycle
using SharpProp;
using UnitsNet;
using UnitsNet.NumberExtensions.NumberToRatio;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var evaporator = new Evaporator(
FluidsList.R744,
5.DegreesCelsius(),
TemperatureDelta.FromKelvins(5)
);
var compressor = new Compressor(80.Percent());
var gasCooler = new GasCooler(FluidsList.R744, 40.DegreesCelsius());
var cycle = new VCRCWithCIC(evaporator, compressor, gasCooler);
Console.WriteLine(cycle.EER); // 2.759856520794663
Console.WriteLine(cycle.COP); // 3.759856520794664
Console.WriteLine(cycle.Point2.Temperature); // 47.43 °C
Console.WriteLine(cycle.Point4.Temperature); // 56.91 °CTwo-stage VCRC with parallel compression
Schematic diagram

Pressure-enthalpy chart (log P-h chart) for the subcritical cycle

Pressure-enthalpy chart (log P-h chart) for the transcritical cycle
List of points
Point 1- evaporator outlet / first compression stage suction.Point 2s- first isentropic compression stage discharge.Point 2- first compression stage discharge.Point 3- separator vapor outlet / second compression stage suction.Point 4s- second isentropic compression stage discharge.Point 4- second compression stage discharge.Point 5- condenser or gas cooler inlet.Point 6- condenser or gas cooler outlet / first EV inlet.Point 7- first EV outlet / separator inlet.Point 8- separator liquid outlet / second EV inlet.Point 9- second EV outlet / evaporator inlet.
Examples
To calculate the energy efficiency ratio (aka cooling coefficient, aka EER),
the coefficient of performance (aka heating coefficient, aka COP) and the compressor discharge temperatures:
For the subcritical cycle
using SharpProp;
using UnitsNet;
using UnitsNet.NumberExtensions.NumberToRatio;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var evaporator = new Evaporator(
FluidsList.R32,
5.DegreesCelsius(),
TemperatureDelta.FromKelvins(5)
);
var compressor = new Compressor(80.Percent());
var condenser = new Condenser(
FluidsList.R32,
45.DegreesCelsius(),
TemperatureDelta.FromKelvins(3)
);
var cycle = new VCRCWithPC(evaporator, compressor, condenser);
Console.WriteLine(cycle.EER); // 4.678905539800198
Console.WriteLine(cycle.COP); // 5.678905539800197
Console.WriteLine(cycle.Point2.Temperature); // 88.76 °C
Console.WriteLine(cycle.Point4.Temperature); // 62.48 °CFor the transcritical cycle
using SharpProp;
using UnitsNet;
using UnitsNet.NumberExtensions.NumberToRatio;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var evaporator = new Evaporator(
FluidsList.R744,
5.DegreesCelsius(),
TemperatureDelta.FromKelvins(5)
);
var compressor = new Compressor(80.Percent());
var gasCooler = new GasCooler(FluidsList.R744, 40.DegreesCelsius());
var cycle = new VCRCWithPC(evaporator, compressor, gasCooler);
Console.WriteLine(cycle.EER); // 2.960053557904453
Console.WriteLine(cycle.COP); // 3.960053557904454
Console.WriteLine(cycle.Point2.Temperature); // 88.36 °C
Console.WriteLine(cycle.Point4.Temperature); // 56.91 °CTwo-stage VCRC with economizer
Schematic diagram

Pressure-enthalpy chart (log P-h chart) for the subcritical cycle

Pressure-enthalpy chart (log P-h chart) for the transcritical cycle
List of points
Point 1- evaporator outlet / first compression stage suction.Point 2s- first isentropic compression stage discharge.Point 2- first compression stage discharge.Point 3- second compression stage suction.Point 4s- second isentropic compression stage discharge.Point 4- second compression stage discharge / condenser or gas cooler inlet.Point 5- condenser or gas cooler outlet / first EV inlet / economizer "hot" inlet.Point 6- first EV outlet / economizer "cold" inlet.Point 7- economizer "cold" outlet / injection of cooled vapor into the compressor.Point 8- economizer "hot" outlet / second EV inlet.Point 9- second EV outlet / evaporator inlet.
Examples
To calculate the energy efficiency ratio (aka cooling coefficient, aka EER),
the coefficient of performance (aka heating coefficient, aka COP) and the compressor discharge temperatures:
For the subcritical cycle
using SharpProp;
using UnitsNet;
using UnitsNet.NumberExtensions.NumberToRatio;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var evaporator = new Evaporator(
FluidsList.R32,
5.DegreesCelsius(),
TemperatureDelta.FromKelvins(5)
);
var compressor = new Compressor(80.Percent());
var condenser = new Condenser(
FluidsList.R32,
45.DegreesCelsius(),
TemperatureDelta.FromKelvins(3)
);
var economizer = new Economizer(
TemperatureDelta.FromKelvins(5),
TemperatureDelta.FromKelvins(5)
);
var cycle = new VCRCWithEconomizer(
evaporator,
compressor,
condenser,
economizer
);
Console.WriteLine(cycle.EER); // 4.53620654385269
Console.WriteLine(cycle.COP); // 5.53620654385269
Console.WriteLine(cycle.Point2.Temperature); // 47.65 °C
Console.WriteLine(cycle.Point4.Temperature); // 87.14 °CFor the transcritical cycle
using SharpProp;
using UnitsNet;
using UnitsNet.NumberExtensions.NumberToRatio;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var evaporator = new Evaporator(
FluidsList.R744,
5.DegreesCelsius(),
TemperatureDelta.FromKelvins(5)
);
var compressor = new Compressor(80.Percent());
var gasCooler = new GasCooler(FluidsList.R744, 40.DegreesCelsius());
var economizer = new Economizer(
TemperatureDelta.FromKelvins(5),
TemperatureDelta.FromKelvins(5)
);
var cycle = new VCRCWithEconomizer(
evaporator,
compressor,
gasCooler,
economizer
);
Console.WriteLine(cycle.EER); // 2.972706326019418
Console.WriteLine(cycle.COP); // 3.972706326019418
Console.WriteLine(cycle.Point2.Temperature); // 47.43 °C
Console.WriteLine(cycle.Point4.Temperature); // 81.12 °CTwo-stage VCRC with economizer and parallel compression
Schematic diagram

Pressure-enthalpy chart (log P-h chart) for the subcritical cycle

Pressure-enthalpy chart (log P-h chart) for the transcritical cycle
List of points
Point 1- evaporator outlet / first compression stage suction.Point 2s- first isentropic compression stage discharge.Point 2- first compression stage discharge.Point 3- economizer "cold" outlet / second compression stage suction.Point 4s- second isentropic compression stage discharge.Point 4- second compression stage discharge.Point 5- condenser or gas cooler inlet.Point 6- condenser or gas cooler outlet / first EV inlet / economizer "hot" inlet.Point 7- first EV outlet / economizer "cold" inlet.Point 8- economizer "hot" outlet / second EV inlet.Point 9- second EV outlet / evaporator inlet.
Examples
To calculate the energy efficiency ratio (aka cooling coefficient, aka EER),
the coefficient of performance (aka heating coefficient, aka COP) and the compressor discharge temperatures:
For the subcritical cycle
using SharpProp;
using UnitsNet;
using UnitsNet.NumberExtensions.NumberToRatio;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var evaporator = new Evaporator(
FluidsList.R32,
5.DegreesCelsius(),
TemperatureDelta.FromKelvins(5)
);
var compressor = new Compressor(80.Percent());
var condenser = new Condenser(
FluidsList.R32,
45.DegreesCelsius(),
TemperatureDelta.FromKelvins(3)
);
var economizer = new Economizer(
TemperatureDelta.FromKelvins(5),
TemperatureDelta.FromKelvins(5)
);
var cycle = new VCRCWithEconomizerAndPC(
evaporator,
compressor,
condenser,
economizer
);
Console.WriteLine(cycle.EER); // 4.596749553808057
Console.WriteLine(cycle.COP); // 5.596749553808058
Console.WriteLine(cycle.Point2.Temperature); // 88.76 °C
Console.WriteLine(cycle.Point4.Temperature); // 68.27 °CFor the transcritical cycle
using SharpProp;
using UnitsNet;
using UnitsNet.NumberExtensions.NumberToRatio;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var evaporator = new Evaporator(
FluidsList.R744,
5.DegreesCelsius(),
TemperatureDelta.FromKelvins(5)
);
var compressor = new Compressor(80.Percent());
var gasCooler = new GasCooler(FluidsList.R744, 40.DegreesCelsius());
var economizer = new Economizer(
TemperatureDelta.FromKelvins(5),
TemperatureDelta.FromKelvins(5)
);
var cycle = new VCRCWithEconomizerAndPC(
evaporator,
compressor,
gasCooler,
economizer
);
Console.WriteLine(cycle.EER); // 3.0072874874974658
Console.WriteLine(cycle.COP); // 4.007287487497467
Console.WriteLine(cycle.Point2.Temperature); // 88.36 °C
Console.WriteLine(cycle.Point4.Temperature); // 65.56 °CTwo-stage VCRC with economizer and two-phase injection into the compressor
Schematic diagram

Pressure-enthalpy chart (log P-h chart) for the subcritical cycle

Pressure-enthalpy chart (log P-h chart) for the transcritical cycle
List of points
Point 1- evaporator outlet / first compression stage suction.Point 2s- first isentropic compression stage discharge.Point 2- first compression stage discharge.Point 3- second compression stage suction.Point 4s- second isentropic compression stage discharge.Point 4- second compression stage discharge / condenser or gas cooler inlet.Point 5- condenser or gas cooler outlet / first EV inlet / economizer "hot" inlet.Point 6- first EV outlet / economizer "cold" inlet.Point 7- economizer "cold" outlet / injection of two-phase refrigerant into the compressor.Point 8- economizer "hot" outlet / second EV inlet.Point 9- second EV outlet / evaporator inlet.
Examples
To calculate the energy efficiency ratio (aka cooling coefficient, aka EER),
the coefficient of performance (aka heating coefficient, aka COP) and the compressor discharge temperatures:
For the subcritical cycle
using SharpProp;
using UnitsNet;
using UnitsNet.NumberExtensions.NumberToRatio;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var evaporator = new Evaporator(
FluidsList.R32,
5.DegreesCelsius(),
TemperatureDelta.FromKelvins(5)
);
var compressor = new Compressor(80.Percent());
var condenser = new Condenser(
FluidsList.R32,
45.DegreesCelsius(),
TemperatureDelta.FromKelvins(3)
);
var economizer = new Economizer(
TemperatureDelta.FromKelvins(5),
TemperatureDelta.FromKelvins(5)
);
var cycle = new VCRCWithEconomizerAndTPI(
evaporator,
compressor,
condenser,
economizer
);
Console.WriteLine(cycle.EER); // 4.646833169057064
Console.WriteLine(cycle.COP); // 5.646833169057064
Console.WriteLine(cycle.Point2.Temperature); // 47.65 °C
Console.WriteLine(cycle.Point4.Temperature); // 62.48 °CFor the transcritical cycle
using SharpProp;
using UnitsNet;
using UnitsNet.NumberExtensions.NumberToRatio;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var evaporator = new Evaporator(
FluidsList.R744,
5.DegreesCelsius(),
TemperatureDelta.FromKelvins(5)
);
var compressor = new Compressor(80.Percent());
var gasCooler = new GasCooler(FluidsList.R744, 40.DegreesCelsius());
var economizer = new Economizer(
TemperatureDelta.FromKelvins(5),
TemperatureDelta.FromKelvins(5)
);
var cycle = new VCRCWithEconomizerAndTPI(
evaporator,
compressor,
gasCooler,
economizer
);
Console.WriteLine(cycle.EER); // 2.778725656175372
Console.WriteLine(cycle.COP); // 3.778725656175373
Console.WriteLine(cycle.Point2.Temperature); // 47.43 °C
Console.WriteLine(cycle.Point4.Temperature); // 56.91 °CSingle-stage VCRC with an ejector as an expansion device
Schematic diagram

Pressure-enthalpy chart (log P-h chart) for the subcritical cycle

Pressure-enthalpy chart (log P-h chart) for the transcritical cycle
List of points
Point 1- separator vapor outlet / compression stage suction.Point 2s- isentropic compression stage discharge.Point 2- compression stage discharge / condenser or gas cooler inlet.Point 3- condenser or gas cooler outlet / ejector nozzle inlet.Point 4- ejector nozzle outlet.Point 5- ejector mixing section inlet.Point 6- ejector diffuser outlet / separator inlet.Point 7- separator liquid outlet / EV inlet.Point 8- EV outlet / evaporator inlet.Point 9- evaporator outlet / ejector suction section inlet.Point 10- ejector suction section outlet.
Examples
To calculate the energy efficiency ratio (aka cooling coefficient, aka EER),
the coefficient of performance (aka heating coefficient, aka COP) and the compressor discharge temperature:
For the subcritical cycle
using SharpProp;
using UnitsNet;
using UnitsNet.NumberExtensions.NumberToRatio;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var evaporator = new Evaporator(
FluidsList.R32,
5.DegreesCelsius(),
TemperatureDelta.FromKelvins(5)
);
var compressor = new Compressor(80.Percent());
var condenser = new Condenser(
FluidsList.R32,
45.DegreesCelsius(),
TemperatureDelta.FromKelvins(3)
);
var ejector = new Ejector(90.Percent(), 90.Percent(), 80.Percent());
var cycle = new VCRCWithEjector(evaporator, compressor, condenser, ejector);
Console.WriteLine(cycle.EER); // 4.832330373984365
Console.WriteLine(cycle.COP); // 5.832251779509525
Console.WriteLine(cycle.Point2.Temperature); // 79.05 °CFor the transcritical cycle
using SharpProp;
using UnitsNet;
using UnitsNet.NumberExtensions.NumberToRatio;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var evaporator = new Evaporator(
FluidsList.R744,
5.DegreesCelsius(),
TemperatureDelta.FromKelvins(5)
);
var compressor = new Compressor(80.Percent());
var gasCooler = new GasCooler(FluidsList.R744, 40.DegreesCelsius());
var ejector = new Ejector(90.Percent(), 90.Percent(), 80.Percent());
var cycle = new VCRCWithEjector(evaporator, compressor, gasCooler, ejector);
Console.WriteLine(cycle.EER); // 3.404191144711264
Console.WriteLine(cycle.COP); // 4.404140144895948
Console.WriteLine(cycle.Point2.Temperature); // 69.77 °CTwo-stage VCRC with an ejector as an expansion device and economizer
Schematic diagram

Pressure-enthalpy chart (log P-h chart) for the subcritical cycle

Pressure-enthalpy chart (log P-h chart) for the transcritical cycle
List of points
Point 1- separator vapor outlet / first compression stage suction.Point 2s- first isentropic compression stage discharge.Point 2- first compression stage discharge.Point 3- second compression stage suction.Point 4s- second isentropic compression stage discharge.Point 4- second compression stage discharge / condenser or gas cooler inlet.Point 5- condenser or gas cooler outlet / first EV inlet / economizer "hot" inlet.Point 6- first EV outlet / economizer "cold" inlet.Point 7- economizer "cold" outlet / injection of cooled vapor into the compressor.Point 8- economizer "hot" outlet / ejector nozzle inlet.Point 9- ejector nozzle outlet.Point 10- ejector mixing section inlet.Point 11- ejector diffuser outlet / separator inlet.Point 12- separator liquid outlet / second EV inlet.Point 13- second EV outlet / evaporator inlet.Point 14- evaporator outlet / ejector suction section inlet.Point 15- ejector suction section outlet.
Examples
To calculate the energy efficiency ratio (aka cooling coefficient, aka EER),
the coefficient of performance (aka heating coefficient, aka COP) and the compressor discharge temperatures:
For the subcritical cycle
using SharpProp;
using UnitsNet;
using UnitsNet.NumberExtensions.NumberToRatio;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var evaporator = new Evaporator(
FluidsList.R32,
5.DegreesCelsius(),
TemperatureDelta.FromKelvins(5)
);
var compressor = new Compressor(80.Percent());
var condenser = new Condenser(
FluidsList.R32,
45.DegreesCelsius(),
TemperatureDelta.FromKelvins(3)
);
var ejector = new Ejector(90.Percent(), 90.Percent(), 80.Percent());
var economizer = new Economizer(
TemperatureDelta.FromKelvins(5),
TemperatureDelta.FromKelvins(5)
);
var cycle = new VCRCWithEjectorAndEconomizer(
evaporator,
compressor,
condenser,
ejector,
economizer
);
Console.WriteLine(cycle.EER); // 4.780603519591169
Console.WriteLine(cycle.COP); // 5.780519699589865
Console.WriteLine(cycle.Point2.Temperature); // 41.82 °C
Console.WriteLine(cycle.Point4.Temperature); // 79.97 °CFor the transcritical cycle
using SharpProp;
using UnitsNet;
using UnitsNet.NumberExtensions.NumberToRatio;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var evaporator = new Evaporator(
FluidsList.R744,
5.DegreesCelsius(),
TemperatureDelta.FromKelvins(5)
);
var compressor = new Compressor(80.Percent());
var gasCooler = new GasCooler(FluidsList.R744, 40.DegreesCelsius());
var ejector = new Ejector(90.Percent(), 90.Percent(), 80.Percent());
var economizer = new Economizer(
TemperatureDelta.FromKelvins(5),
TemperatureDelta.FromKelvins(5)
);
var cycle = new VCRCWithEjectorAndEconomizer(
evaporator,
compressor,
gasCooler,
ejector,
economizer
);
Console.WriteLine(cycle.EER); // 3.4970089179388735
Console.WriteLine(cycle.COP); // 4.496949450753824
Console.WriteLine(cycle.Point2.Temperature); // 40.93 °C
Console.WriteLine(cycle.Point4.Temperature); // 70.26 °CTwo-stage VCRC with an ejector as an expansion device, economizer and parallel compression
Schematic diagram

Pressure-enthalpy chart (log P-h chart) for the subcritical cycle

Pressure-enthalpy chart (log P-h chart) for the transcritical cycle
List of points
Point 1- separator vapor outlet / first compression stage suction.Point 2s- first isentropic compression stage discharge.Point 2- first compression stage discharge.Point 3- economizer "cold" outlet / second compression stage suction.Point 4s- second isentropic compression stage discharge.Point 4- second compression stage discharge.Point 5- condenser or gas cooler inlet.Point 6- condenser or gas cooler outlet / first EV inlet / economizer "hot" inlet.Point 7- first EV outlet / economizer "cold" inlet.Point 8- economizer "hot" outlet / ejector nozzle inlet.Point 9- ejector nozzle outlet.Point 10- ejector mixing section inlet.Point 11- ejector diffuser outlet / separator inlet.Point 12- separator liquid outlet / second EV inlet.Point 13- second EV outlet / evaporator inlet.Point 14- evaporator outlet / ejector suction section inlet.Point 15- ejector suction section outlet.
Examples
To calculate the energy efficiency ratio (aka cooling coefficient, aka EER),
the coefficient of performance (aka heating coefficient, aka COP) and the compressor discharge temperatures:
For the subcritical cycle
using SharpProp;
using UnitsNet;
using UnitsNet.NumberExtensions.NumberToRatio;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var evaporator = new Evaporator(
FluidsList.R32,
5.DegreesCelsius(),
TemperatureDelta.FromKelvins(5)
);
var compressor = new Compressor(80.Percent());
var condenser = new Condenser(
FluidsList.R32,
45.DegreesCelsius(),
TemperatureDelta.FromKelvins(3)
);
var ejector = new Ejector(90.Percent(), 90.Percent(), 80.Percent());
var economizer = new Economizer(
TemperatureDelta.FromKelvins(5),
TemperatureDelta.FromKelvins(5)
);
var cycle = new VCRCWithEjectorEconomizerAndPC(
evaporator,
compressor,
condenser,
ejector,
economizer
);
Console.WriteLine(cycle.EER); // 4.84250403965006
Console.WriteLine(cycle.COP); // 5.8424191343251834
Console.WriteLine(cycle.Point2.Temperature); // 80.82 °C
Console.WriteLine(cycle.Point4.Temperature); // 67.52 °CFor the transcritical cycle
using SharpProp;
using UnitsNet;
using UnitsNet.NumberExtensions.NumberToRatio;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var evaporator = new Evaporator(
FluidsList.R744,
5.DegreesCelsius(),
TemperatureDelta.FromKelvins(5)
);
var compressor = new Compressor(80.Percent());
var gasCooler = new GasCooler(FluidsList.R744, 40.DegreesCelsius());
var ejector = new Ejector(90.Percent(), 90.Percent(), 80.Percent());
var economizer = new Economizer(
TemperatureDelta.FromKelvins(5),
TemperatureDelta.FromKelvins(5)
);
var cycle = new VCRCWithEjectorEconomizerAndPC(
evaporator,
compressor,
gasCooler,
ejector,
economizer
);
Console.WriteLine(cycle.EER); // 3.5310640266642546
Console.WriteLine(cycle.COP); // 4.53100398036674
Console.WriteLine(cycle.Point2.Temperature); // 73.07 °C
Console.WriteLine(cycle.Point4.Temperature); // 62.08 °CTwo-stage VCRC with an ejector as an expansion device, economizer and two-phase injection into the compressor
Schematic diagram

Pressure-enthalpy chart (log P-h chart) for the subcritical cycle

Pressure-enthalpy chart (log P-h chart) for the transcritical cycle
List of points
Point 1- separator vapor outlet / first compression stage suction.Point 2s- first isentropic compression stage discharge.Point 2- first compression stage discharge.Point 3- second compression stage suction.Point 4s- second isentropic compression stage discharge.Point 4- second compression stage discharge / condenser or gas cooler inlet.Point 5- condenser or gas cooler outlet / first EV inlet / economizer "hot" inlet.Point 6- first EV outlet / economizer "cold" inlet.Point 7- economizer "cold" outlet / injection of two-phase refrigerant into the compressor.Point 8- economizer "hot" outlet / ejector nozzle inlet.Point 9- ejector nozzle outlet.Point 10- ejector mixing section inlet.Point 11- ejector diffuser outlet / separator inlet.Point 12- separator liquid outlet / second EV inlet.Point 13- second EV outlet / evaporator inlet.Point 14- evaporator outlet / ejector suction section inlet.Point 15- ejector suction section outlet.
Examples
To calculate the energy efficiency ratio (aka cooling coefficient, aka EER),
the coefficient of performance (aka heating coefficient, aka COP) and the compressor discharge temperatures:
For the subcritical cycle
using SharpProp;
using UnitsNet;
using UnitsNet.NumberExtensions.NumberToRatio;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var evaporator = new Evaporator(
FluidsList.R32,
5.DegreesCelsius(),
TemperatureDelta.FromKelvins(5)
);
var compressor = new Compressor(80.Percent());
var condenser = new Condenser(
FluidsList.R32,
45.DegreesCelsius(),
TemperatureDelta.FromKelvins(3)
);
var ejector = new Ejector(90.Percent(), 90.Percent(), 80.Percent());
var economizer = new EconomizerWithTPI(TemperatureDelta.FromKelvins(5));
var cycle = new VCRCWithEjectorEconomizerAndTPI(
evaporator,
compressor,
condenser,
ejector,
economizer
);
Console.WriteLine(cycle.EER); // 4.874001351966284
Console.WriteLine(cycle.COP); // 5.873917103015547
Console.WriteLine(cycle.Point2.Temperature); // 41.82 °C
Console.WriteLine(cycle.Point4.Temperature); // 61.76 °CFor the transcritical cycle
using SharpProp;
using UnitsNet;
using UnitsNet.NumberExtensions.NumberToRatio;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var evaporator = new Evaporator(
FluidsList.R744,
5.DegreesCelsius(),
TemperatureDelta.FromKelvins(5)
);
var compressor = new Compressor(80.Percent());
var gasCooler = new GasCooler(FluidsList.R744, 40.DegreesCelsius());
var ejector = new Ejector(90.Percent(), 90.Percent(), 80.Percent());
var economizer = new EconomizerWithTPI(TemperatureDelta.FromKelvins(5));
var cycle = new VCRCWithEjectorEconomizerAndTPI(
evaporator,
compressor,
gasCooler,
ejector,
economizer
);
Console.WriteLine(cycle.EER); // 3.1791454424406136
Console.WriteLine(cycle.COP); // 4.179085189888726
Console.WriteLine(cycle.Point2.Temperature); // 40.93 °C
Console.WriteLine(cycle.Point4.Temperature); // 52.59 °CMitsubishi Zubadan VCRC (subcritical only)
Schematic diagram

Pressure-enthalpy chart (log P-h chart) for the subcritical cycle
List of points:
Point 1- evaporator outlet / recuperator "cold" inlet.Point 2- recuperator "cold" outlet / first compression stage suction.Point 3s- first isentropic compression stage discharge.Point 3- first compression stage discharge.Point 4- second compression stage suction.Point 5s- second isentropic compression stage discharge.Point 5- second compression stage discharge / condenser inlet.Point 6- condenser outlet / first EV inlet.Point 7- first EV outlet / recuperator "hot" inlet.Point 8- recuperator "hot" outlet / second EV inlet / economizer "hot" inlet.Point 9- second EV outlet / economizer "cold" inlet.Point 10- economizer "cold" outlet / injection of two-phase refrigerant into the compressor.Point 11- economizer "hot" outlet / third EV inlet.Point 12- third EV outlet / evaporator inlet.
Example
To calculate the energy efficiency ratio (aka cooling coefficient, aka EER),
the coefficient of performance (aka heating coefficient, aka COP) and the compressor discharge temperatures:
using SharpProp;
using UnitsNet;
using UnitsNet.NumberExtensions.NumberToRatio;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var evaporator = new Evaporator(
FluidsList.R32,
5.DegreesCelsius(),
TemperatureDelta.FromKelvins(5)
);
var compressor = new Compressor(80.Percent());
var condenser = new Condenser(
FluidsList.R32,
45.DegreesCelsius(),
TemperatureDelta.FromKelvins(3)
);
var economizer = new EconomizerWithTPI(TemperatureDelta.FromKelvins(5));
var cycle = new VCRCMitsubishiZubadan(
evaporator,
compressor,
condenser,
economizer
);
Console.WriteLine(cycle.EER); // 4.392768334506883
Console.WriteLine(cycle.COP); // 5.392751672812034
Console.WriteLine(cycle.Point3.Temperature); // 67.82 °C
Console.WriteLine(cycle.Point5.Temperature); // 62.48 °CEntropy analysis
You can perform an entropy analysis of each VCRC mentioned earlier.
This analysis allows us to estimate with high accuracy the distribution of energy loss
due to non-equilibrium and irreversibility of working processes in the refrigeration machine.
Thanks to this, you can easily estimate the energy loss to compensate for the production of entropy
in each part of the refrigeration cycle and make decisions that will help increase its efficiency.
For example, simple single-stage VCRC, 18 °C indoor temperature, 35 °C outdoor temperature:
using SharpProp;
using UnitsNet;
using UnitsNet.NumberExtensions.NumberToRatio;
using UnitsNet.NumberExtensions.NumberToTemperature;
using VCRC;
var evaporator = new Evaporator(
FluidsList.R32,
5.DegreesCelsius(),
TemperatureDelta.FromKelvins(5)
);
var compressor = new Compressor(80.Percent());
var condenser = new Condenser(
FluidsList.R32,
45.DegreesCelsius(),
TemperatureDelta.FromKelvins(3)
);
var cycle = new SimpleVCRC(evaporator, compressor, condenser);
var result = cycle.EntropyAnalysis(
18.DegreesCelsius(),
35.DegreesCelsius()
);
Console.WriteLine(result.ThermodynamicPerfection); // 25.39 %
Console.WriteLine(result.MinSpecificWorkRatio); // 25.39 %
Console.WriteLine(result.CompressorEnergyLossRatio); // 20 %
Console.WriteLine(result.CondenserEnergyLossRatio); // 20.83 %
Console.WriteLine(result.GasCoolerEnergyLossRatio); // 0 %
Console.WriteLine(result.ExpansionValvesEnergyLossRatio); // 12.39 %
Console.WriteLine(result.EjectorEnergyLossRatio); // 0 %
Console.WriteLine(result.EvaporatorEnergyLossRatio); // 21.4 %
Console.WriteLine(result.RecuperatorEnergyLossRatio); // 0 %
Console.WriteLine(result.EconomizerEnergyLossRatio); // 0 %
Console.WriteLine(result.MixingEnergyLossRatio); // 0 %
Console.WriteLine(result.AnalysisRelativeError); // 1.27e-13 %In addition, you can perform entropy analysis in the range of indoor and outdoor temperatures
(see an example).
