You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Dymola中矢量化Modelica冷水机组模型性能曲线输入报错?

问题描述

我正尝试在Dymola中使用Modelica Buildings库对Buildings.Fluid.Chillers.ElectricEIR冷水机组模型进行矢量化,所有机组的输入与性能曲线均一致,具备矢量化条件。但检查模型时多次出现错误提示:

"Wrong number of indices in datChi[1]. There should be zero indices."(datChi[2]也存在相同索引数量错误)

当前性能曲线参数定义:

parameter Path.ElectricEIRChiller_York_YK_Q3QQK3_5663kW_6_79COP_Vanes datChi;

当前冷水机组定义:

Buildings.Fluid.Chillers.ElectricEIR Chi[numChi](
    redeclare package Medium1 = Medium,
    redeclare package Medium2 = Medium,
    show_T=true,
    per=datChi,
    energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
    dp1_nominal=dpCon_nominal,
    dp2_nominal=dpEva_nominal) "Vectorized chiller model"

我已将冷水机组隔离为仅包含机组、源和汇的模型,错误仍存在。也曾尝试对性能曲线进行矢量化,修改后的参数定义如下:

parameter Path.ElectricEIRChiller_York_YK_Q3QQK3_5663kW_6_79COP_Vanes datChi;

但这会导致性能曲线相关参数定义出错,例如原语句mCon_flow_nominal = datChi.mCon_flow_nominal;出现“左侧为标量,右侧为向量”的错误,而我希望保留标称参数为标量。

解决方案
  • 问题根源:矢量化的冷水机组模型Chi期望per参数为同维度的参数数组,但传入的datChi是标量,Dymola自动扩展时触发索引解析错误。
  • 无需将datChi矢量化,利用Modelica参数数组自动映射特性,直接给数组实例传入标量性能参数即可:
    1. 保持datChi的标量定义不变:
      parameter Path.ElectricEIRChiller_York_YK_Q3QQK3_5663kW_6_79COP_Vanes datChi;
      
    2. 若原机组定义仍报错,显式用数组构造器为每个机组实例绑定datChi:
      Buildings.Fluid.Chillers.ElectricEIR Chi[numChi](
          redeclare package Medium1 = Medium,
          redeclare package Medium2 = Medium,
          show_T=true,
          per={datChi for i in 1:numChi},
          energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
          dp1_nominal=dpCon_nominal,
          dp2_nominal=dpEva_nominal) "Vectorized chiller model"
      
    3. 标称参数的标量需求:只要datChi是标量,datChi.mCon_flow_nominal就是标量,不会出现“左侧标量、右侧向量”的错误。之前的错误是误将datChi定义为向量导致的,保持其标量属性即可解决。

内容的提问来源于stack exchange,提问作者Julia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 22:22:49