필터 지우기
필터 지우기

How to plot pump and system curve based on the hydraulic model in Simscape / Simulink?

조회 수: 32 (최근 30일)
I have modeled a centrifugal pump system with frictionous pipes and a control valve. I want to plot the system curve to see where the intersection with the pump curve lies for the centrifugal pump. An example of this is in the paper "Static head control in pumping system using PID controller" by Hadeel Mzahem Mjbel, 2022:
  댓글 수: 7
DB
DB 2023년 5월 23일
This trick seems to give good values, thanks! However, is there a way for me to export the interpolated pump curve from the simscape block to Matlab in order overlap the two plots?
Here are the pump plots. I want to export the head curve, efficiency curve and power curve to workspace and overlap it with the gained system head curve.
Yifeng Tang
Yifeng Tang 2023년 5월 25일
If you have the curve plotted into a figure, or subfigure, you should be able to click on the figure and use MATLAB script to get a handle of the axes. The Children of the axes should include the curves plotted and its data content. Something like this:
plot([0:0.1:2],sin(pi*[0:0.1:2]));
ax1 = gca;
xData = ax1.Children.XData
yData = ax1.Children.YData

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

답변 (1개)

Yifeng Tang
Yifeng Tang 2023년 8월 8일
To summarize the discussion from the comments section:
The pump curves can be generated from the pump blocks in Simscape Fluids. Examples: https://www.mathworks.com/help/hydro/ref/centrifugalpumpil.html, https://www.mathworks.com/help/hydro/ref/centrifugalpumptl.html. See the "Visualizing the Pump Curve" section of each documentation page.
The load curve can be generated by using an ideal source (flow or pressure) to drive fluids through the load and record the flow and pressure values. Head and pressure drop can be converted to each other using H=dp/(rho*g).
To overlap the pump characteristics, get a figure handle of the pump curve figure, and then plot the load onto the same figure. If desired, one can also grab the data from an existing figure using code similar to this:
plot([0:0.1:2],sin(pi*[0:0.1:2]));
ax1 = gca;
xData = ax1.Children.XData
yData = ax1.Children.YData

커뮤니티

더 많은 답변 보기:  Power Electronics Community

카테고리

Help CenterFile Exchange에서 Upgrading Hydraulic Models to Use Isothermal Liquid Blocks에 대해 자세히 알아보기

제품


릴리스

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by