提问人:Farnaz 提问时间:9/21/2023 最后编辑:Farnaz 更新时间:9/21/2023 访问量:58
OpenModelica中的参数分配问题:某些参数未正确分配
Issue with Parameter Assignment in OpenModelica: Some Parameters Not Assigning Correctly
问:
我正在尝试在OpenModelica中创建一个包含多个建筑模型的包,并且我正在我的模型中使用建筑物库中的一些模型。 我想为我的一个模型(例如,modelOne)定义一个参数列表,并将它们直接分配给我在模型中使用的其他模型的参数(例如,Buildings.ThermalZones.ReducedOrder.RC.OneElement thermalZone)。通过这样做,我也可以在另一个模型(例如,modelTwo)中重用我的模型。
下面是一个示例:
模型模型一个
model modelOne
parameter Integer nOrientations(min=1)=5;
parameter Modelica.Units.SI.Volume VAir=3852;
parameter Modelica.Units.SI.Area AWin[nOrientations]
={90.72, 30.24, 90.72, 30.24, 0};
parameter Modelica.Units.SI.CoefficientOfHeatTransfer hConIn=2.7;
parameter Modelica.Units.SI.TransmissionCoefficient gWin=0.6;
Buildings.ThermalZones.ReducedOrder.RC.OneElement thermalZone(
nOrientations=nOrientations,
VAir=VAir,
AWin=AWin,
hConExt=hConIn,
hConWin=hConIn,
gWin=gWin);
.
.
.
equation
.
.
.
end modelOne;
model modelTwo
modelOne newModel(
nOrientations=2,
VAir=52.5,
AWin={7, 7},
hConIn=4.2,
gWin=1.0);
.
.
.
equation
.
.
.
end modelTwo;
但是,这种将参数直接分配给另一个参数的方法仅适用于其中的某些参数。 例如,在上面提到的示例中,它适用于 nOrientations、VAir 和 AWin。对于 hConIn 和 gWin,这是我得到的:
getParameters(["thermalZone.hConIn", "thermalZone.gWin"]);
['None', 'None]
如果有人能帮我弄清楚,我将不胜感激:
- 为什么会这样?
- 我该如何解决这个问题?
- 除了直接将一个参数分配给另一个参数之外,还有其他方法吗?
此致敬意 法纳兹
答: 暂无答案
评论