首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当共同模拟FMU "fmi2DoStep: currentCommunicationPoint无效“时出错

当共同模拟FMU "fmi2DoStep: currentCommunicationPoint无效“时出错
EN

Stack Overflow用户
提问于 2021-09-22 21:09:39
回答 1查看 381关注 0票数 0

我想运行一个共同模拟FMU (FMI2.0)在Dymola 2022年.协同仿真FMU连接到Modelica中建模的其他组件。

有时会打印以下错误消息:

fmi2Warning: fmu_name: fmi2DoStep:无效currentCommunicationPoint = 2.9500000000030000,预期为2.9500000000000002

如果这条消息发生过一次,那么模拟就永远不会恢复,在每个时间步骤中都会有这样的打印。从这一点上说,仿真结果是无效的。这种错误发生在一定的边界条件和/或系统参数的组合中。它发生在一个以上的组合输入值集合,但也有许多模拟运行成功地结束。在输入/参数值中,我看不到任何可能导致这种行为的模式。

有人能给我解释一下这种错误信息吗?问题是主人(戴莫拉)还是奴隶(FMU)?而且--更重要的是--有没有人知道如何避免这个错误?

modelDescription.xml文件的相关部分如下所示:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<fmiModelDescription
    fmiVersion="2.0"
    guid="{2598dff1-4f88-4838-89e2-ae8ff105e7e9}"
    modelName="xxx"
    generationTool="Simulink 8.13 (R2017b) 24-Jul-2017 with FMI Kit 2.9 (rtwsfcnfmi.tlc, FixedStepDiscrete, 0.001 s)"
    generationDateAndTime="2021-08-10T14:16:18"
    author="matlab"
    version="1.40"
    numberOfEventIndicators="0">
    
    <CoSimulation modelIdentifier="xxx" canHandleVariableCommunicationStepSize="true" canInterpolateInputs="true"/>
    
    <DefaultExperiment
        startTime="0.0"
        stopTime="500.0"
        stepSize="0.001"
      />

期待任何建议!

EN

回答 1

Stack Overflow用户

发布于 2021-09-25 19:26:37

我建议你在https://github.com/CATIA-Systems/FMIKit-Simulink上开一张票。对我来说

代码语言:javascript
复制
generationTool="Simulink 8.13 (R2017b) 24-Jul-2017 with FMI Kit 2.9 (rtwsfcnfmi.tlc, FixedStepDiscrete, 0.001 s)"

代码语言:javascript
复制
<CoSimulation modelIdentifier="xxx" canHandleVariableCommunicationStepSize="true"

似乎自相矛盾。

然而,具体的警告似乎是可以忽略的:与预期时间步长的差距是1e-12。所以FMU抛出一个警告,但是继续模拟。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69291305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档