Refrigerant Modernization
This example shows how to retrofit a Simscape™ cooling cycle that uses R410a to utilize R32, which is a refrigerant with a lower Global Warming Potential (GWP). The process involves modifying the nominal mass flow rate and refrigerant charge, while retaining the original evaporator and condenser specifications. For more information on designing a cooling cycle, see Model a Refrigeration Cycle and Refrigeration Cycle (Air Conditioning).
Model
The initial model is an air-conditioning system that uses R410a for a light commercial building with an area of 600${\mathrm{m}}^{2}$ and a thermal load of 65 kW.
open_system("RefrigerantModernization");
The model uses a Two-Phase Fluid Predefined Properties (2P) block to model R410a.
open_system('RefrigerantModernization/R410a Properties')
Original Model Behavior
The model assumes the following nominal operating conditions:
Thermal load = 65 kW
Nominal condensing temperature = 45 °C
Nominal superheating = 5 deltaK
Nominal evaporating temperature = 5 °C
Nominal subcooling = 5 deltaK
Environment (heat sink) temperature = 30 °C
Execute the model and see that the building air temperature is controlled.
open_system("RefrigerantModernization/Results") sim("RefrigerantModernization")
Double-click the R410a P-H Diagram block to verify that the thermodynamic states reasonably match the nominal operating conditions.
Monitor the energy flow rates between the components and the coefficient of performance (COP). The COP falls within the typical range of COP values.
RefrigerantModernizationPlot1Power
The superheating and subcooling align with the nominal conditions, and the valve is adequately open when operating.
RefrigerantModernizationPlot3Superheat
Refrigerant Upgrade
Many countries are phasing out refrigerants like R410a because of their high GWP. This example shows how to convert the system to use R32, which is a modern refrigerant with a lower GWP. The saturation pressures at the evaporating and condensing temperature change slightly when using the new refrigerant:
Temperature | R410a Saturation pressure | R32 Saturation pressure |
5 °C | 0.936 MPa | 0.951 MPa |
45 °C | 2.734 MPa | 2.795 MPa |
Because these are only slight pressure changes, the mechanical strain to the evaporator and condenser remains almost the same between the two refrigerants.
Update the refrigerant by executing:
set_param('RefrigerantModernization/R410a Properties','Commented','on') set_param('RefrigerantModernization/R410a P-H Diagram','Commented','on') set_param('RefrigerantModernization/R32 P-H Diagram','Commented','off') set_param('RefrigerantModernization/R32 Properties','Commented','off')
The Two-Phase Fluid Properties (2P) block specifies the custom refrigerant properties. To configure the Two-Phase Fluid Properties (2P) block, use the twoPhaseFluidTables
function. The twoPhaseFluidTables function allows you to obtain fluid property data for R32 from REFPROP or CoolProp and then parameterize a Two-Phase Fluid Properties block with the data.
open_system('RefrigerantModernization/R32 Properties')
Refrigerant Charge
To calculate the charge density, set the model Stop time to zero and simulate the model.
set_param("RefrigerantModernization", "StopTime", "0") sim("RefrigerantModernization")
Calculate the mean charge density of the cycle. In this model, the condenser, evaporator, and liquid receiver have masses and volumes to include in the calculation.
m_cond_2p = simlog_RefrigerantModernization.Condenser.two_phase_fluid_1.mass.series.values('kg'); % [kg] Two-phase fluid mass in Condenser V_cond_2p = pi*(cond_D/2)^2*cond_tube_row_width*cond_num_tube_rows*cond_num_tubes_per_row; % [m3] Tube volume in Condenser m_evap_2p = simlog_RefrigerantModernization.Evaporator.two_phase_fluid_1.mass.series.values('kg'); % [kg] Two-phase fluid mass in Evaporator V_evap_2p = pi*(evap_D/2)^2*evap_tube_row_width*evap_num_tube_rows*evap_num_tubes_per_row; % [m3] Tube volume in Evaporator m_receiver_2p = simlog_RefrigerantModernization.Liquid_Receiver.mass.series.values('kg'); % [kg] Two-phase fluid mass in Liquid Receiver V_receiver_2p = pi*(receiver_D/2)^2*receiver_H; % [m3] Volume of Liquid Receiver m_total = m_cond_2p + m_evap_2p + m_receiver_2p; V_total = V_cond_2p + V_evap_2p + V_receiver_2p; meanChargeDensity = m_total / V_total; disp("The mean charge density is " + meanChargeDensity + "kg/m3")
The mean charge density is 158.9151kg/m3
The mean charge density is $159\text{\hspace{0.17em}}\mathrm{kg}/{\mathit{m}}^{3}$, which is suitable for using R32. An undercharged cycle can struggle to converge or initialize. You can modify the refrigerant charge by adjusting the parameters of the components that influence the mass and volume of the two-phase fluid in the cycle. For example, you can adjust the initial vapor quality of the Condenser Evaporator (2P-MA) block.
Original System Behavior with New Refrigerant
Execute the simulation with the new refrigerant.
set_param("RefrigerantModernization", "StopTime", "3600") open_system("RefrigerantModernization/Results") sim("RefrigerantModernization")
See that the temperature excessively oscillates.
The subcooling and superheating are higher than the nominal value of 5 deltaK.
RefrigerantModernizationPlot3Superheat
Redesigned System for New Refrigerant
To address this behavior, reanalyze the cycle using the P-H diagram of R32. The nominal operating conditions specify the enthalpies at the inlet and outlet of the evaporator. For example, in the cycle using R410a, the enthalpies need to be 266 kJ/kg and 428 kJ/kg, respectively. With these enthalpies and the thermal load 65 kW, the mass flow rate required for steady state is 65 kW/(428 kJ/kg - 266 kJ/kg) = 0.4 kg/s. To effectively cool the system, the nominal mass flow rate should be larger than this value. Using the nominal mass flow rate to 0.5 kg/s resulted in a reasonable simulation with R410a, but it led to the excessive temperature oscillations when using R32. Check the nominal mass flow rate that was used.
mdot_nominal % [kg/s]
mdot_nominal = 0.5000
A new nominal mass flow rate mitigates the oscillations that are attributed to cooling too fast. According to the P-H diagram of R32 and the nominal operating conditions, the enthalpies at the inlet and outlet of the evaporator should be 279 kJ/kg and 522 kJ/kg, respectively. At steady state with a thermal load of 65 kW, the required mass flow rate is
$${\underset{}{\overset{\dot{}}{m}}}_{R32}^{steady}=\frac{65\text{kW}}{522\text{kJ/kg}-279\text{kJ/kg}}=0.27\phantom{\rule{0.5em}{0ex}}\text{kg/s}$$
The corresponding mass flow rate with R410a is 0.4 kg/s.
To accommodate this change in the mass flow rate at steady state, reduce the nominal mass flow rate by the ratio of the two mass flow rates.
$${\underset{}{\overset{\dot{}}{m}}}_{R32}^{nominal}=(0.5\text{kg/s})\left(\frac{0.27}{0.4}\right)=0.34\phantom{\rule{0.5em}{0ex}}\text{kg/s}$$
Execute the following expression to update the nominal mass flow rate used in the Condenser, Evaporator, and Flow Resistance blocks.
mdot_nominal = 0.34; % [kg/s]
Perform the simulation to see that the temperature is well-controlled.
open_system("RefrigerantModernization/Results") sim("RefrigerantModernization")
Double-click the R32 P-H Diagram to see that the cycle aligns with the nominal operating conditions.
Monitor the energy flow rates and COP.
RefrigerantModernizationPlot1Power
The pressures, temperatures, and mass flow rate are also comparable to the nominal operating conditions.
RefrigerantModernizationPlot2PMdot
The superheating and subcooling are close to the nominal value of 5 deltaK, and the valve is opened to reasonable values during operation.
RefrigerantModernizationPlot3Superheat
Fine-Tuning Refrigerant Charge
Although the cycle above closely matches the nominal conditions, the subcooling is slightly higher than the nominal value of 5 deltaK. Removing some refrigerant from the cycle decreases the subcooling. Increasing the initial vapor quality of the Condenser block, where the two-phase fluid volume is fixed, reduces the total refrigerant charge. The initial vapor quality was 0.25 in the previous simulations. Increase the initial vapor quality.
set_param("RefrigerantModernization/Condenser","x_init_2P","0.27");
Simulate the cycle again.
open_system("RefrigerantModernization/Results") sim("RefrigerantModernization")
Verify that the subcooling is now well matches the nominal value 5 deltaK.
RefrigerantModernizationPlot3Superheat