Optimal components for a two-stage heat pump in Simscape

13 views (last 30 days)
Hello everyone,
I am designing a heat pump with a configuration based on a flash tank plus an internal heat exchanger (IHX) (as in the picture). So far, the results have been satisfactory for the simple cycle and the simple cycle plus an iHX.
The model I want to replicate looks like this:
When trying to use the flash tank together with the expansion valve it does not reach steady state and oscillates as can be seen in the picture constantly. I think the problem has its origin in the expansion valve or the flash tank. These are modelled with the components "Receiver Accumulator (2P)" and Thermostatic Expansion Valve (2P)" respectively.
In the case of the flash tank the BV port has no vapour mass flow even though there is vapour inside the tank, as shown in the picture. I tried to occupy a "Controlled Mass Flow Rate Source (2P)" at the outlet of the "BV" port with the mass flow rate measured in "S6", but it did not work (the simulation did not start after compiling).
In the case of the expansion valve 2 it is clear that the "S" port is not at the outlet of the evaporator, therefore the control of the vapour superheat is not optimal. Therefore, try to use another type of expansion valve, such as the "Variable Local Restriction (2P)" according to the example "ssc_refrigeration" and the "Pressure-Reducing Valve (2P)". In the case of the first one, there is an error that stops the simulation and in the case of the second one, the results are not very satisfactory.
Therefore I have the following questions:
  • In the case of the flash tank, why there is no steam flow in the "BV" port. Are there missing components to obtain the desired result?
  • In the case of the expansion valve, is the chosen component not suitable for the second stage? If so, what other option would be available?

Answers (2)

Yifeng Tang
Yifeng Tang on 10 Aug 2022
It puzzles me why there isn't a flow out of the BV port of the tank. There isn't a flow into BV port either? The BV port is connected to the outlet of Compressor_S1 and inlet of Compressor_S2, so if the two mass flowrate signals are different, there has to be a net mass flow from the BV port. Or, are the mdot signal different?
Now the expansion valve: you are right in that if it's not a thermal expansion valve in the actual system, you should not use the TXV block. A variable local restriction MAY work, but I've found that the parameters need to be set very carefully. Otherwise you may run into errors like "lower than minimum pressure" or "lower than minimum temperature", when the local velocity and enthalpy calculation somehow leads to an unphysical state. The "Resistance" block doesn't have such issues and is more stable in these cases. However, there isn't a variable resistance block in the library yet. But we can make one using Simscape language :) See attached for a variable resistance block with a cmd for percentage opening. Play with it in a test harness before dropping into your model. I hope the parametrization is intuitive.
To use a custom Simscape block:
Jonathan SH
Jonathan SH on 6 Sep 2022 at 14:28
I am modeling different configurations found in the literature. So far the nominal state is consistent with the calculations. However, the difficulty so far is to find a robust control system that can operate with data in one year in more complex configurations, as in this case, with a flash tank. This generates, for example, that at times at the outlet of the condenser it is not subcooled or that it fails to stabilize in certain cases.
The control of the flow with the flash tank level is an idea that I can test.

Sign in to comment.

Jonathan SH
Jonathan SH on 17 Aug 2022
Thank you very much! I wanted to test the expansion valve before giving an answer. After reviewing the entire parameterisation of the model and the corresponding control, modifying several of them, I obtained satisfactory results.
I still have to check some of the results and the different points, which are not exactly the same as calculated.
One change I made besides replacing the "Expansion_Valve_S2" by the variable Resistance, was to change the "S" port of the "Expansion_Valve_S1" to the output of the IHX.




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!