Error using System-Level Refrigeration Cycle (2P)
显示 更早的评论
Hi
while shifting from r134a to ammonia i get this strange error message :"The values in the table grid vector are not strictly monotonic".
the same cycle run normally with r600a or with r1234yf. can you guys help me solving this issue? I'd really like to test the ammonia behaviour.
carlo
回答(2 个)
Yifeng Tang
2023-6-30
Hi Carlo,
We believe the error has to do with the fact that NH3 has a non-monotonic supercritical line. It needs to be fixed in the future.
For now, the easiest workaround is to use the Two-Phase Fluid Properties (2P) block instead, and get NH3 properties from REFPROP or Coolprop for a pressure range below the supercritical line. You can use the twoPhaseFluidTables command to generate the tables needed. You will need either REFPROP or Coolprop on your computer though.
I tried this:
NH3props = twoPhaseFluidTables([10,2000],[0.01,10],25,25,60,'Ammonia','C:\Program Files (x86)\REFPROP\')
gcb % select the Two-Phase Fluid Properties (2P) block when you do this
twoPhaseFluidTables(gcb,NH3props)
And it seems to work OK.
6 个评论
Francesco Pietrangelo
2023-7-3
Hi Yifeng,
yes this problem is identical to mine. However, I can't figure out how to enter the code string in matlab to directly define the ammonia parameters.
Not using REFPROP not being integrated in the free version ammonia but CoolProp how should I proceed?
I have tried in entering the various vectors in the Two-Phase Fluid Properties (2P) block, but I get lost in entering the data.
Yifeng Tang
2023-7-3
twoPhaseFluidTables also works with CoolProp. See Documentation. The syntax seems to suggest that you'll need Python, likely the wrapper for CoolProp.
carlo ferro
2023-7-4
Yifeng Tang
2023-7-7
I am not sure, but CoolProp may have different bounds for the properties of NH3. I also needed to play with the [u_min, u_max] and [p_min p_max] when setting up the command to query from REFPROP.
One thing that may help: if you can plot a p-u plot in CoolProp, that may inform you of the range that CoolProp is able to support.
carlo ferro
2023-7-8
Yifeng Tang
2023-7-11
That I am not sure.
I would imagine it's possible, since you can use the pwr output from the block as a feedback signal and adjust the S input (load fraction). You may need to add a PS transfer function to provide some time delay.
On the other side, the gas mass flow on the condenser side can be used to control the refrigerant pressure / sat. temperature in the condenser. It probably also has an effect on other parts of the cycle, but I'm not sure.
carlo ferro
2023-7-3
0 个投票
3 个评论
Yifeng Tang
2023-7-3
twoPhaseFluidTables function should also work with coolprop. Check out the documentation page.
carlo ferro
2023-7-3
Yifeng Tang
2023-7-3
gcb will give you the path name of the currently selected block in Simulink. So you go to your model, select the Two-Phase Fluid Properties (2P) block by left click on it with your mouse, switch to MATLAB, run gcb command, or assign the output of gcb to a variable.
I know, it's confusing for the first time, lol. Same thing as this short example:
类别
在 帮助中心 和 File Exchange 中查找有关 Foundation and Custom Domains 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!