AnyMath 文档

物理建模语言的端口 AnyMath

用物理建模的语言 *AnyMath*端口是通过其接口 物理组件与模型的其他块交互。 可以通过端口传输以下数据:

*物理量(电压、压力、温度); *控制信号(例如数值系数)。

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

港口类型

用物理建模的语言 *AnyMath*有两种类型的端口:

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

**电力(电压和电流); **平移力学(速度和力); **热量(温度和热流)。

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

非定向端口

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

@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; * @分行 --制定分支电流守恒规则; * @方程 --设定欧姆定律:电阻两端的电压等于电阻和电流的乘积。

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

物理域 端口类型 端口变量

单相电

EngeePhysicalFoundation。电气。别针

v -潜力 i -电流(流媒体)

三相电

工程电子。三个端口

v -电位(3个元素的向量) i -电流(流,3个元素的矢量)

磁性;磁性

EngeePhysicalFoundation。磁性。港口

mmf -磁动势

-磁通量(流式)

EngeePhysicalFoundation。热。港口

T -温度 Q -热流(流)

平移力学

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

v -速度 F -电源(流媒体)

旋转力学

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

w -角速度 T -扭矩(流式)

等温液体

EngeePhysicalFoundation。等温泉。港口

p -压力 mdot的 -质量流量(流)

导热液体

EngeePhysicalFoundation。热流动性。港口

p -压力 T -温度 mdot的 -质量流量(流)

-能量流(流)

煤气

EngeePhysicalFoundation。煤气。港口

p -压力 T -温度 mdot的 -质量流量(流)

-能量流(流)

潮湿空气

EngeePhysicalFoundation。潮湿。港口

p -压力 T -温度 q -特定湿度 x_g -杂质气体的质量分数 mdot的 -质量流量(流)

-能量流(流) mdot_w -水蒸气的质量流量(流) mdot_g -杂质气体的质量流量(流量)

湿度和杂质气体的来源

EngeePhysicalFoundation。潮湿。来源港

T -温度 q -特定湿度 x_g -杂质气体的质量分数

-能量流(流) mdot_w -水蒸气的质量流量(流) mdot_g -杂质气体的质量流量(流量)

两相液体

EngeePhysicalFoundation。TwoPhaseFluid。港口

p -压力 u -特定的内部能量 mdot的 -质量流量(流)

-能量流(流)

定向端口

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

@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 --流量值(电流)。