使用注释循环对象创建和声明

Loop in object creation and declaration with annotations

我需要使用循环在我的模型声明中创建多个对象。 For 循环似乎在 "equation" 或 "algorithm" 块之外不起作用。 我需要在模型的开头声明我的对象。 我还需要为每个对象添加不同的注释,使每个对象的位置不同。

因此,我想创建一个由 cellConst 子部件(在 Thermocycle 包中找到)组成的水箱。

我已经尝试使用以下代码这样做:

model MyTank

CellConst [N] cellConstArray = {
CellConst (
Ai=0.53, 
Ac=0.88, 
Mdotnom=1, 
L=0.25, Discretization=ThermoCycle.Functions.Enumerations.Discretizations.upwind_AllowFlowReversal, Vi=0.030, Tstart=293.15)
annotation (Placement(transformation(extent={{-14,22},{-8,28}})))
for i in 1:N
};

end MyTank;

我也尝试了一个简单的循环

model MyTank

for i in 1:N loop
end for;

end MyTank;

尽管这两种方法 None 有效。

你有什么建议吗?

提前谢谢你。

您在 Modelica 中做的事情略有不同:您向向量的每个元素添加修饰符,如下所示:

model MyTank

CellConst [N] cellConstArray(each Ai=0.53, 
 each Ac=0.88, 
 each Mdotnom=1, 
 each L=0.25, 
 each Discretization=ThermoCycle.Functions.Enumerations.Discretizations.upwind_AllowFlowReversal, 
 Vi = fill(0.030, N), // Just to show you can use an array here
 each Tstart=293.15)
);
end MyTank;