首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扫描体积组件行为- Modelica

扫描体积组件行为- Modelica
EN

Stack Overflow用户
提问于 2020-11-17 19:10:57
回答 2查看 111关注 0票数 0

我有一个关于Modelica活塞压力行为的问题。我模拟了一个简单的测试案例,看看活塞内部的压力是如何表现的。当活塞压缩流体时,压力不会沿整个压缩行程增加。活塞仅在一定的压缩行程内压缩流体。但根据实际情况,活塞内流体在上死点时应具有最高的压力。在每个压缩行程中,我得到了不同的压力增量。你知道为什么在我的模型中不是这样吗?提前感谢!

代码语言:javascript
复制
model Hochdruckreiniger4
    //Declaration(s)
    Real V_max = 0.000003;
    Real V_tod = 0.000002;
    Real N = 2800;
    replaceable package medium = Modelica.Media.Water.StandardWater( );
    //Component(s)
    Modelica.Fluid.Machines.SweptVolume Swept1 (
        pistonCrossArea = 0.0001131,
        clearance = 0.000000250621,
        redeclare package Medium = Modelica.Media.Water.StandardWater,
        nPorts = 2,
        use_portsData = false,
        p_start = 1e5,
        use_T_start = true,
        T_start = 293.15,
        V(start = 0.005),
        m(start = 0.005));
    inner Modelica.Fluid.System system;
    Modelica.Mechanics.Translational.Sources.Position Posit1 (exact = true, useSupport = false);
    Modelica.Blocks.Sources.Sine Sine1 (
        amplitude = 0.005567,
        freqHz = 46.66,
        offset = 0.005567,
        phase = -Modelica.Constants.pi/4);
    Modelica.Fluid.Sources.FixedBoundary boundary (p = 4e5, redeclare package Medium = Modelica.Media.Water.StandardWater, nPorts = 1);
    Modelica.Fluid.Pipes.DynamicPipe pipe2 (
        length = 0.5,
        diameter = 0.03,
        redeclare package Medium = Modelica.Media.Water.StandardWater,
        momentumDynamics = system.momentumDynamics,
        massDynamics = Modelica.Fluid.Types.Dynamics.DynamicFreeInitial,
        energyDynamics = system.energyDynamics,
        allowFlowReversal = system.allowFlowReversal,
        modelStructure = Modelica.Fluid.Types.ModelStructure.av_b);
    Modelica.Fluid.Pipes.DynamicPipe pipe3 (
        length = 0.5,
        diameter = 0.03,
        redeclare package Medium = Modelica.Media.Water.StandardWater,
        momentumDynamics = system.momentumDynamics,
        massDynamics = Modelica.Fluid.Types.Dynamics.DynamicFreeInitial,
        energyDynamics = system.energyDynamics,
        allowFlowReversal = system.allowFlowReversal,
        modelStructure = Modelica.Fluid.Types.ModelStructure.a_vb);
    Modelica.Fluid.Pipes.DynamicPipe pipe5 (
        length = 0.5,
        diameter = 0.3,
        redeclare package Medium = Modelica.Media.Water.StandardWater,
        momentumDynamics = system.momentumDynamics,
        massDynamics = Modelica.Fluid.Types.Dynamics.DynamicFreeInitial,
        energyDynamics = system.energyDynamics,
        allowFlowReversal = system.allowFlowReversal,
        modelStructure = Modelica.Fluid.Types.ModelStructure.av_b);
    Modelica.Fluid.Sources.FixedBoundary boundary1 (p = 4e5, redeclare package Medium = Modelica.Media.Water.StandardWater, nPorts = 1);


equation
    //Connection(s)
    connect(Posit1.flange, Swept1.flange);
    connect(Sine1.y, Posit1.s_ref);
    connect(pipe2.port_b, Swept1.ports[1]);
    connect(Swept1.ports[2], pipe3.port_a);
    connect(boundary.ports[1], pipe5.port_a);
    connect(pipe3.port_b, boundary1.ports[1]);
    connect(pipe2.port_a, pipe5.port_b);
end  Hochdruckreiniger4;
EN

回答 2

Stack Overflow用户

发布于 2020-11-20 22:34:32

如果在模型中向前移动活塞,体积中的压力(初始值为1巴)会上升,直到压力刚刚超过4巴(边界的4巴+管道中的压力损失),那么只要活塞向前移动,水就会一直流出。

你在开始时看到的压力上升不是由于活塞的运动,而是一种接近平衡的运动。检查如果将StartTime设置为0.5s会发生什么。

如果要模拟扫掠体的作用类似于泵,则必须在模型中添加一些阀,以防止水流出。

票数 3
EN

Stack Overflow用户

发布于 2020-11-17 20:56:23

压缩行程中的不同压力峰值可能是输出样本太少的结果。您可以尝试增加模拟中的采样数(Dymola中的“间隔”)(或减少间隔长度)。

压力峰值相对于活塞位置的“相移”可能是由系统的时间常数引起的动态现象。不知道你的模型的细节,我假设它主要与Swept1的体积和Sine块的频率成比例。你应该通过改变频率或音量来验证这一点:较小的音量/较低的频率→较少的“相移”。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64874121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档