基于Modelica Fluid库修改无摩擦管道模型仿真未达预期
无摩擦管道模型构建及仿真异常问题
模型修改内容
我基于dynamicPipe模型构建无摩擦管道模型,具体修改如下:
1. 修改dynamicPipe模型代码
extends PartialStraightPipe_noFric(final port_a_exposesState = (modelStructure == ModelStructure.av_b) or (modelStructure == ModelStructure.av_vb), final port_b_exposesState = (modelStructure == ModelStructure.a_vb) or (modelStructure == ModelStructure.av_vb)); // extending PartialTwoPortFlow extends PartialTwoPortFlow_noFric(final lengths = fill(length/n, n), final crossAreas = fill(crossArea, n), final dimensions = fill(4*crossArea/perimeter, n), final roughnesses = fill(roughness, n), final dheights = height_ab*dxs); // Wall heat transfer
2. 替换PartialStraightPipe_noFric和PartialTwoPortFlow_noFric中的FlowModel
// Pressure loss model replaceable model FlowModel = Modelica.Fluid.Pipes.BaseClasses.FlowModels.DetailedPipeFlow constrainedby PartialStaggeredFlowModel_noFric "Wall friction, gravity, momentum flow"
3. 修改PartialStaggeredFlowModel_noFric的动量平衡逻辑
// Momentum balances if momentumDynamics == Modelica.Fluid.Types.Dynamics.SteadyState then zeros(m) = Ib_flows - Fs_p; else der(Is) = Ib_flows - Fs_p; end if;
4. 移除dynamicPipe能量方程中的摩擦项
示例修改代码:
Wb_flows[1] = vs[1]*crossAreas[1]*(mediums[2].p - mediums[1].p)/2;
存在的问题
模型编译已通过,但在带指定泵的测试场景中,修改管道长度或直径时,流量值仍会发生变化。按照无摩擦管道的预期,流量不应受这些参数影响,目前仿真未达到预期效果。
内容的提问来源于stack exchange,提问作者pionao
相关产品推荐
相关产品推荐

