FMU精度问题

1.fmu存在的本质意义是连接来自不同学科的模型,进行多学科协同仿真,提高工作效率并降低开发成本,而不是对求解精度的复现;
2.建模工具的开发语言不确定,但是生成fmu的语言皆为C语言,所以每种开发语言、每款软件从原生模型到生成fmu的过程中都进行了相应的处理,导致fmu会和原生模型有不同程度的差别;
3.fmu本身是个黑盒,模型求解异常甚至失败时不能做到问题追踪,导致精度不能保证;
4.fmu功能本身是提供对不同软件模型的适配性和兼容性,所有这些特性都是和精度的要求相悖的;
5.原生模型在原有的仿真软件中,在输出求解结果时一般是用插值算法的方式进行了数据拟合,而这个代码实现一般不会打包到生成的fmu中,所以精度不一样无法溯源。

功能模型接口(FMI)作为一种标准,可以简化协同仿真(CS)过程,在早期验证阶段具有一定的优势。然而,由于存在不确定性,FMI不适用于后期关键验证环节。影响FMI仿真性能的关键因素包括步长、PID调优、FMU数量和软件版本。由于存在持续不确定性,目前不建议将FMI用于安全关键系统的验证。
具体来说:
早期验证: FMI适用于关注系统级行为且对精度要求不高的早期验证阶段。
协同开发: FMI支持将模型分布给不同领域和团队,促进协同仿真开发。
后期验证限制:由于转换、求解器差异和潜在精度损失带来的不确定性,FMI不适用于后期开发阶段的关键验证任务。
FMI用于验证:
当前验证不可靠: FMI版本2无法处理连续信号或不同类型信号,导致仿真结果与基准模型差异过大。此外,由于不同Simulink版本会使仿真行为不同,FMI无法用于安全关键系统的验证,特别是当不同部门使用不同Simulink版本时。
多个FMU导致精度下降和速度变慢:在单个仿真中使用多个FMU会导致精度下降和仿真速度变慢,进一步降低了FMI的优势。
建议:
避免在关键验证中使用FMI:目前,FMI不建议用于需要高可靠性的关键验证过程,因为存在的不确定性会导致结果不一致。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值