Engee物理建模语言的端口
在Engee物理建模语言中,端口是通过它的接口。 物理组件与模型的其他块交互。 可以通过端口传输以下数据:
-
物理量(电压、压力、温度);
-
制信号(例如,数值系数)。
物理组件的端口(以及整个库 Physical Modeling)只能连接到同一域的物理建模的其他块(例如,平移力学的端口与另一个块的平移力学的端口)。
港口类型
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
这里:
-
@节点--增加两个电气端口p和n; -
@分行--制定分支电流守恒规则; -
@方程--设定欧姆定律:电阻两端的电压等于电阻和电流的乘积。
以下是内置*Engee*类型的非定向端口。 使用这些端口将您的组件连接到*Engee*库中的块。
| 物理域 | 端口类型 |
|---|---|
单相电 |
|
三相电 |
|
磁性;磁性 |
|
热 |
|
平移力学 |
|
旋转力学 |
|
等温液体 |
|
导热液体 |
|
煤气 |
|
潮湿空气 |
|
湿度和杂质气体的来源 |
|
定向端口
信号输入和输出通过结构宣布 @输入 和 @输出.
@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--流量值(电流)。