Engee 文档

Engee物理建模语言的端口

在Engee物理建模语言中,端口是通过它的接口。 物理组件与模型的其他块交互。 可以通过端口传输以下数据:

  • 物理量(电压、压力、温度);

  • 制信号(例如,数值系数)。

物理组件的端口(以及整个库 物理建模)只能连接到同一域的物理建模的其他块(例如,平移力学的端口与另一个块的平移力学的端口)。

港口类型

Engee物理建模语言中有两种类型的端口:

  • 非定向端口(@节点)--用于描述物理连接。 他们没有严格划分为"入口"和"出口":流动可以流向任何方向。 它们用于模拟真实的物理域,例如:

    • 电力(电压和电流);

    • 平移力学(速度和力);

    • 热(温度和热流)。

  • 定向端口(@输入, @输出)--用于传输信号。 他们总是有一个既定的方向:入口(@输入)或退出(`@输出`此类端口最常用于需要传输控制或计算值的控制单元。

非定向端口

在组件内部,这些端口通过构造声明 @节点.

@engeemodel Resistor begin
    @parameters begin
        R = 1.0, [unit = "Ohm"]
    end
    @nodes begin
        p = EngeePhysicalFoundation.Electrical.Pin
        n = EngeePhysicalFoundation.Electrical.Pin
    end
    @variables begin
        v = 0.0, [unit = "V"]
        i = 0.0, [unit = "A"]
    end
    @branches begin
        i:(p.i, n.i)
    end
    @equations begin
        v ~ p.v - n.v
        v ~ R * i
    end
end

这里:

  • @节点 --增加两个电气端口 pn;

  • @分行 --制定分支电流守恒规则;

  • @方程 --设定欧姆定律:电阻两端的电压等于电阻和电流的乘积。

以下是内置*Engee*类型的非定向端口。 使用这些端口将您的组件连接到*Engee*库中的块。

物理域 端口类型

单相电

EngeePhysicalFoundation。电气。别针

三相电

工程电子。三个端口

磁性;磁性

EngeePhysicalFoundation。磁性。港口

EngeePhysicalFoundation。热。港口

平移力学

EngeePhysicalFoundation。机械的。翻译。法兰盘

旋转力学

EngeePhysicalFoundation。机械的。旋转。法兰盘

等温液体

EngeePhysicalFoundation。等温泉。港口

导热液体

EngeePhysicalFoundation。热流动性。港口

煤气

EngeePhysicalFoundation。煤气。港口

潮湿空气

EngeePhysicalFoundation。潮湿。港口

湿度和杂质气体的来源

EngeePhysicalFoundation。潮湿。来源港

定向端口

信号输入和输出通过结构宣布 @输入@输出.

@engeemodel GainBlock begin
    @parameters begin
        k = 2.0
    end
    @inputs begin
        x = 0
    end
    @outputs begin
        y = 0
    end
    @equations begin
        y.u ~ k * x.u
    end
end

这里:

  • 定向端口包含一个变量 u,其表示信号的值;

  • 在方程中,您不需要使用端口本身,而是一个变量。 u 在里面: x.u 对于输入信号, y.u 周末;

  • 的输入信号 x.u 乘以系数 k;

  • 结果传送到输出信号 y.u.

这样的端口对于混合模型很方便,其中一些元素与物理量一起工作,一些与控制信号一起工作。

非定向端口中的潜在变量和流变量

每个非定向端口都有两种类型的关联变量:

  • 电位--连接端口时相等的值(电位、温度、压力、速度、角速度)。 它们不需要任何特殊标记。

  • 流媒体(连接=流量)--组件之间的传递值(电流、热流、流量、力、力矩),所有连接端口的总和为零。

声明电气端口的示例:

@engeeconnector Pin2 begin
    @variables begin
        v = 2.0                    # потенциал (потенциальная переменная)
        i = 0.0, [connect = Flow]  # ток (потоковая переменная)
    end
end

这里:

  • v --电位值(电压);

  • i --流量值(电流)。