File Exchange

image thumbnail

Refrigeration Cycle in Simscape

version (1.49 MB) by Leo Ng
Refrigeration cycle model in a custom Simscape two-phase flow domain.


Updated 06 Aug 2014

View License

This file contains a refrigeration model built using a custom Simscape two-phase flow domain. The model contains a compressor, a condenser, an expansion valve, and an evaporator. The R-134a refrigerant leaves the compressor as a hot gas. It condenses in the condenser via heat transfer with the environment. The pressure drops as the refrigerant passes through the expansion valve. The drop in pressure causes the refrigerant to vaporize in the evaporator as it absorbs heat from the refrigerator compartment. The cold gas then returns to the compressor to repeat the cycle. The controller turns the compressor on and off to maintain the refrigerator compartment temperature around the desired temperature.
The fluid properties of the R-134a refrigerant spanning the liquid phase to the vapor phase are described by look-up tables as a function of pressure and specific internal energy. Homogeneous equilibrium is assumed in the phase transition regime. The values are obtained from the NIST Chemistry WebBook "Thermophysical Properties of Fluid Systems":

Please read the README.txt file to get started.

To find other physical modeling examples, search for posts with the keyword "physical modeling"

To learn more about MathWorks Physical Modeling Products, go to:

Cite As

Leo Ng (2020). Refrigeration Cycle in Simscape (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (15)

Sophie Ross

This model is very useful! However, I was wondering how you model the performance of the compressor? Is this demonstrated through compressor lag? If so, how do you determine the time constant for a specific compressor or is there another way to model the compressor?

mama papa

Great work.
Please could you explain me how you decided on the tranfert function of the compressor?

Could you please explain how you decided on the transfer function of the "compressor lag". Can I change the power of compressor there?
Why use the term (9/controller_time_constant)^2 and how did you get the value of the time constant?
Thank you in advance!

Erdem Ermis

First of all, thank you for this work. I want to use this cycle for different refrigerants. Can I change the refrigerant? For instance, I want to use R32 instead of R134a. If I can change this parameter, could you give me some information about it? Thanks in advanced.

Varunjith V

It is getting crashed on 2015b.

Could you please explain how you decided on the transfer function of the "compressor lag".

Why use the term (9/controller_time_constant)^2 and how did you get the value of the time constant?

Matt Lowe


great work. I was trying to use a different rating compressor which is actually speed controlled. what are the changes do i make to model to implement a higher rating compressor?


please help me sir, leo ng

if i tried to modify the refrigerant is not possible in this file. give me a guide lines

email id is



Very interesting!


Updated domain definition and equations.

Changed submission name.

MATLAB Release Compatibility
Created with R2014a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired by: Engine Cooling Model in Simscape

Inspired: Vehicle HVAC System in Simscape