File Exchange

image thumbnail

Refrigeration Cycle in Simscape

version 1.2 (1.49 MB) by

Refrigeration cycle model in a custom Simscape two-phase flow domain.

11 Ratings



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:

Comments and Ratings (12)

Anna Muravska

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?


suresh (view profile)

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


Ivan (view profile)


Andreas (view profile)

Very interesting!



Updated domain definition and equations.


Changed submission name.

MATLAB Release
MATLAB 8.3 (R2014a)

Inspired by: Engine Cooling Model in Simscape

Inspired: Vehicle HVAC System in Simscape

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Win prizes and improve your MATLAB skills

Play today