首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Modelica中的Sweptvolume组件内的压力

Modelica中的Sweptvolume组件内的压力
EN

Stack Overflow用户
提问于 2020-11-16 04:55:53
回答 1查看 49关注 0票数 0

我在Modelica中模拟了一个系统,在这个系统中,流体应该从4巴压缩到500巴。我给出了4巴入口压力和500巴出口压力作为边界条件。我想通过活塞的运动来实现这种压缩。当出口压力定义为10bar时,该系统可以进行模拟。但它不能模拟出口压力为500bar的情况。当出口边界条件为500bar时,活塞腔内压力不高于500bar。所以在活塞腔里,我得到负的质量流量和压力。因此,模拟不会继续。当我观察腔内的压力时,它简单地假设为中等压力,这是在活塞端口定义的压力。活塞的压缩运动不会影响活塞内部的压力,因为活塞内的压力是由活塞端口的压力给出的。你知道怎么增加活塞内部的压力吗?这样我的活塞内部的压力就可以超过500bar了。

我添加了代码和框图。任何帮助都将不胜感激!非常感谢!

代码语言:javascript
复制
//----------------------------------------------------------------------------
// Name of Model: Hochdruckreiniger3
// Date: 11/15/20 21:16:37
// Generated from Modelica Diagram Editor
//----------------------------------------------------------------------------
model Hochdruckreiniger3
    //Declaration(s)
    Real V_max = 0.000003;
    Real V_tod = 0.000002;
    Real N = 2800;
    Real opening_NP;
    Real opening_HP;
    replaceable package medium = Modelica.Media.Water.StandardWater( );
    //Component(s)
    Modelica.Fluid.Machines.SweptVolume Swept1 (
        pistonCrossArea = 0.003131,
        clearance = 0.000250621,
        redeclare package Medium = medium,
        nPorts = 3,
        use_portsData = false,
        p_start = system.p_start,
        use_T_start = true,
        T_start = 293.15);
    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/2);
    Modelica.Fluid.Sources.FixedBoundary boundary (p = 500e5, redeclare package Medium = medium, nPorts = 1);
    Modelica.Fluid.Pipes.DynamicPipe pipe2 (
        length = 0.5,
        diameter = 0.03,
        redeclare package Medium = medium,
        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 = medium,
        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 pipe4 (
        length = 0.5,
        diameter = 0.03,
        redeclare package Medium = medium,
        momentumDynamics = system.momentumDynamics,
        massDynamics = Modelica.Fluid.Types.Dynamics.DynamicFreeInitial,
        energyDynamics = system.energyDynamics,
        allowFlowReversal = system.allowFlowReversal,
        modelStructure = Modelica.Fluid.Types.ModelStructure.a_vb);
    Modelica.Fluid.Sources.FixedBoundary boundary1 (p = 500e5, redeclare package Medium = medium, nPorts = 1);
    Modelica.Fluid.Pipes.DynamicPipe pipe5 (
        length = 0.5,
        diameter = 0.3,
        redeclare package Medium = medium,
        momentumDynamics = system.momentumDynamics,
        massDynamics = Modelica.Fluid.Types.Dynamics.DynamicFreeInitial,
        energyDynamics = system.energyDynamics,
        allowFlowReversal = system.allowFlowReversal,
        modelStructure = Modelica.Fluid.Types.ModelStructure.av_b);
    Modelica.Blocks.Sources.Pulse Puls1 (period = 0.02142, width = 45.331);
    Modelica.Blocks.Sources.Pulse Puls2 (period = 0.02142, startTime = 0.01071, width = 45.331);
    Modelica.Fluid.Valves.ValveLinear NDVentile (dp_nominal = 94.35, m_flow_nominal = 0.05867441, redeclare package Medium = medium);
    Modelica.Fluid.Valves.ValveLinear HDVentile (dp_nominal = 95, m_flow_nominal = 0.05867441, redeclare package Medium = medium);
    Modelica.Fluid.Sensors.Pressure pressureamSweptvolume (redeclare package Medium = medium);
    Modelica.Fluid.Sensors.Pressure PressureanderPipe (redeclare package Medium = medium);
    Modelica.Fluid.Sensors.Pressure PressureanBeginnderHochdruckventile (redeclare package Medium = medium);
    Modelica.Fluid.Sensors.Pressure Pressure_amEndederHDVentile (redeclare package Medium = medium);
    Modelica.Fluid.Pipes.DynamicPipe pipe1 (
        length = 0.5,
        diameter = 0.03,
        redeclare package Medium = medium,
        momentumDynamics = system.momentumDynamics,
        massDynamics = Modelica.Fluid.Types.Dynamics.DynamicFreeInitial,
        energyDynamics = system.energyDynamics,
        allowFlowReversal = system.allowFlowReversal,
        modelStructure = Modelica.Fluid.Types.ModelStructure.a_vb);
    Modelica.Fluid.Vessels.ClosedVolume volume (
        V = 7e-9,
        nPorts = 2,
        use_portsData = false,
        redeclare package Medium = medium,
        p_start = 26.5e5);


equation
    if der(Sine1.y)>=0 then
            opening_NP=1;
            opening_HP=0;
           else
            opening_NP=0;
            opening_HP=1;
          end if;
    //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(pipe4.port_b, boundary1.ports[1]);
    connect(boundary.ports[1], pipe5.port_a);
    connect(pipe5.port_b, NDVentile.port_a);
    connect(NDVentile.port_b, pipe2.port_a);
    connect(NDVentile.opening, Puls1.y);
    connect(Puls2.y, HDVentile.opening);
    connect(pipe3.port_b, HDVentile.port_a);
    connect(pressureamSweptvolume.port, Swept1.ports[3]);
    connect(PressureanderPipe.port, pipe3.port_a);
    connect(PressureanBeginnderHochdruckventile.port, HDVentile.port_b);
    connect(Pressure_amEndederHDVentile.port, HDVentile.port_a);
    connect(pipe1.port_a, PressureanBeginnderHochdruckventile.port);
    connect(pipe1.port_b, volume.ports[1]);
    connect(volume.ports[2], pipe4.port_a);
end  Hochdruckreiniger3;
EN

回答 1

Stack Overflow用户

发布于 2021-05-26 02:16:26

您可以通过单击栏上的向下箭头来查看注释,线号在左侧,除非您已经使用图形编辑器对模型进行了建模。

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

https://stackoverflow.com/questions/64849696

复制
相关文章

相似问题

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