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

33 次查看(过去 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 Control

类别

Help CenterFile Exchange 中查找有关 Upgrading Hydraulic Models to Use Isothermal Liquid Blocks 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by