Branching of a two-phase fluid

조회 수: 13 (최근 30일)
Kai Franke
Kai Franke 2021년 6월 15일
편집: Kai Franke 2021년 6월 19일
I am currently trying to expand the Electric Vehicle Thermal Management model by adding a heat pump for heating operation instead of the PTC element. I would like to have the two-phase fluid flow through some kind of valve into another circuit. Since there seems to be no closing valves for 2P, I have tried to insert a valve orifice.
Below you can see my modified circuit.
Since it doesn't work like that yet, I created a much simplified model. Now I simply want to test the two shutoff valves.
SV1 should be open and SV2 closed. I realize this via a MATLAB function in the control block. cmd_SV1 or cmd_SV2 is either 1 or 0 and thus opens or closes the orifice.
function [cmd_SV1,cmd_SV2] = modefunction(delta_T_cabin)
if delta_T_cabin > 0 % cooling
cmd_SV1 = 1;
cmd_SV2 = 0;
else % heating
cmd_SV1 = 0;
cmd_SV2 = 1;
% elseif % mixed
% elseif % off
end
The scenario:
  • Cabin temperature: 30 °C
  • Target temperature: 21 °C
  • delta_T_cabin = 9 °C (For the original model)
Now, strangely enough, the following case occurs: With two valves, a temperature difference of -21 °C is passed to the function because the cabin temperature is suddenly 0 °C. This means that my valves are not controlled correctly and an error occurs.
Now my questions:
Is it possible to switch a two-phase fluid like this at all? If so, how do I solve the problem? Why is my cabin temperature suddenly changed? Without SV2 but with SV1 the simulation runs without any problems.
Thanks for your help!
Kind regards
Kai

채택된 답변

Yifeng Tang
Yifeng Tang 2021년 6월 16일
Hi Kai,
You are using the "Orifice (2P)" block to model the valve, right? Good choice, I'd say, but there are a few things you need to pay attention to.
1. the S signal to the orifice block is supposed to be the spool position, with a unit of length (m/cm/mm/inch, etc.). The parametrization of the block will translate this position to opening area. This is similar to how most of the hydraulic valve blocks are parametrized. Giving it command of 0 and 1 without specifying a unit consistent with the block parameters, may give you unexpected results.
2. Trying to open or close a valve instantaneously can cause numerical problems as well. And it's not really physical. Consider add a 1st order transfer function or add derivatives in the Simulink-PS converter to slow it down a bit.
3. A bang-bang type of control algorithm with no deadzone in the midde is usually not optimal for refrigeration loop, either. You may want add a threshold around your target (delta_T=0), beyond which the valves will act and switch direction.
  댓글 수: 1
Kai Franke
Kai Franke 2021년 6월 17일
Great! Thanks for the quick reply. I'll see if I can get the problem solved with these tips. Thank you!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Two-Phase Fluid Library에 대해 자세히 알아보기

제품


릴리스

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by