首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >警告:该组件已多次声明,无法验证是否与同名的其他声明相同- Modelica

警告:该组件已多次声明,无法验证是否与同名的其他声明相同- Modelica
EN

Stack Overflow用户
提问于 2020-11-03 15:25:12
回答 1查看 45关注 0票数 0

当我在Twin builder上用Modelica建模时,我得到了一个警告。警告是:组件m_flow_start被多次声明,无法验证是否与同名的其他声明相同。尽管这个警告对我的模型来说似乎不那么重要,但我想了解为什么会出现这个警告,以及如何避免它。

你知道如何处理这个警告吗?

代码语言:javascript
复制
model Hochdruckreiniger3
    //Declaration(s)
    Real V_max = 2506e-6;
    Real V_tod = 3765e-6;
    Real N = 2800;
    Real opening_NP;
    Real opening_HP;
    Real dp_nominal_ND = (0.7*rho_ND*0.01135*0.01135)/(3600/(2*N*N));
    Real dp_nominal_HD = (0.7*rho_HD*0.01135*0.01135)/(3600/(2*N*N));
    Real rho_ND = 998.388;
    Real rho_HD = 1019.921;
    Real m_flow_ND = rho_ND*0.000113097*0.01135*N/60;
    Real m_flow_HD = rho_HD*0.000113097*0.01135*N/60;
    //Component(s)
    Modelica.Fluid.Machines.SweptVolume Swept1 (
        pistonCrossArea = 0.0001131,
        clearance = 0.00000250621,
        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 = 16.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 pipe1 (
        length = 0.5,
        diameter = 0.03,
        redeclare package Medium = Modelica.Media.Water.StandardWater,
        modelStructure = Modelica.Fluid.Types.ModelStructure.av_b);
    Modelica.Fluid.Valves.ValveIncompressible Niederdruckventile (
        dp_nominal = dp_nominal_ND,
        m_flow_nominal = m_flow_ND,
        rho_nominal = rho_ND,
        opening = opening_NP,
        redeclare package Medium = Modelica.Media.Water.StandardWater);
    Modelica.Fluid.Pipes.DynamicPipe pipe2 (
        length = 0.002,
        diameter = 0.011,
        redeclare package Medium = Modelica.Media.Water.StandardWater,
        modelStructure = Modelica.Fluid.Types.ModelStructure.av_b);
    Modelica.Fluid.Pipes.DynamicPipe pipe3 (
        length = 0.019,
        diameter = 0.0055,
        redeclare package Medium = Modelica.Media.Water.StandardWater,
        modelStructure = Modelica.Fluid.Types.ModelStructure.a_vb);
    Modelica.Fluid.Valves.ValveIncompressible Hochdruckventile (
        dp_nominal = dp_nominal_HD,
        m_flow_nominal = m_flow_HD,
        rho_nominal = rho_HD,
        opening = opening_HP,
        redeclare package Medium = Modelica.Media.Water.StandardWater);
    Modelica.Fluid.Pipes.DynamicPipe pipe4 (
        length = 0.5,
        diameter = 0.03,
        redeclare package Medium = Modelica.Media.Water.StandardWater,
        modelStructure = Modelica.Fluid.Types.ModelStructure.a_vb);
    Modelica.Fluid.Sources.FixedBoundary boundary1 (p = 5e5, redeclare package Medium = Modelica.Media.Water.StandardWater, nPorts = 1);
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(Niederdruckventile.port_b, pipe2.port_a);
    connect(pipe2.port_b, Swept1.ports[1]);
    connect(boundary.ports[1], pipe1.port_a);
    connect(pipe1.port_b, Niederdruckventile.port_a);
    connect(Swept1.ports[2], pipe3.port_a);
    connect(pipe3.port_b, Hochdruckventile.port_a);
    connect(Hochdruckventile.port_b, pipe4.port_a);
    connect(pipe4.port_b, boundary1.ports[1]);
end  Hochdruckreiniger3;

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-03 16:31:23

我相信你可以忽略它。

就我在Dymola内部所看到的,问题出在从Modelica.Fluid.Interfaces.PartialDistributedFlow,继承而来的Modelica.Fluid.Pipes.BaseClasses.FlowModels.PartialStaggeredFlowModel中,两者都包含了在MSL3.2.3中略有不同的m_flow_start定义-但只是在参数对话框方面:

代码语言:javascript
复制
parameter Medium.MassFlowRate m_flow_start=system.m_flow_start
"Start value of mass flow rates"
    annotation(Dialog(tab="Internal Interface",enable=false,group = "Initialization"));

代码语言:javascript
复制
  parameter Medium.MassFlowRate m_flow_start=system.m_flow_start
"Start value of mass flow rates"
    annotation(Dialog(tab="Initialization"));

顺便说一句,这个模型有很多参数不足的问题,应该是:

代码语言:javascript
复制
   parameter Real V_max = 2506e-6;
    parameter Real V_tod = 3765e-6;
    parameter Real N = 2800;
     Real opening_NP;
     Real opening_HP;
    parameter Real dp_nominal_ND = (0.7*rho_ND*0.01135*0.01135)/(3600/(2*N*N));
    parameter Real dp_nominal_HD = (0.7*rho_HD*0.01135*0.01135)/(3600/(2*N*N));
    parameter Real rho_ND = 998.388;
    parameter Real rho_HD = 1019.921;
    parameter Real m_flow_ND = rho_ND*0.000113097*0.01135*N/60;
    parameter Real m_flow_HD = rho_HD*0.000113097*0.01135*N/60;
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64658382

复制
相关文章

相似问题

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