如何将当前日期和/或时间从 Modelica 打印到文件(例如日志文件或 csv 文件)?我需要外部代码吗?我在 Modelica 标准库中找不到任何示例代码。
在 Modelica 中是否可以根据另一个变量的名义属性(或最小值或最大值)计算布尔值?就像是:
paramter Real a(min=0, max=1, nominal=0.5);
paramter Real b(min=0, max=1, nominal=0.4);
Boolean bBigger;
equation
bBigger = b > a.nominal;
Run Code Online (Sandbox Code Playgroud)
我只想在图形注释中使用布尔值(或直接使用表达式)。
我有一个带有RealInput连接器的 Modelica 模型。通常,值为 0 的恒定源模块连接到该输入,但有时(不经常)使用不同的值或时变信号。
如果没有信号到来(即 RealInput 未从外部连接) ,是否有可能/解决方案不连接恒定源块并将模型更改为使用默认值?目前,我收到一条警告:如果 RealInput 未从外部连接,则模型不平衡。
我正在寻找类似的解决方案,例如 Modelica 函数,其中可以为输入或参数定义默认值,如果没有指定其他内容,则可以有默认值。
从 Modelica 文档看,注释 Evaluate 似乎只对参数有影响:https : //build.openmodelica.org/Documentation/ModelicaReference.Annotations.Evaluate.html
使用 Dymola 变量编辑器,我可以方便地在任何变量/实例上设置注释,请参见下面的屏幕截图。这有什么影响还是注释被忽略了?如果应用于类的实例,该类中的参数是否会被评估为修饰符设置的值(在示例屏幕截图中,例如参数 yMax)?
阅读下面链接的资源后,我有一个关于 Modelica 注释 smoothOrder 的问题。
对于三次多项式,导数为:
在这种情况下,要放入注释 smoothOrder 中的数字是多少?是3,还是4,还是99?没有中断。
这是我之前的问题的后续问题: 三次多项式的 Modelica smoothOrder
我正在为一个大型现有库做出贡献,函数中可能有 50 个 smoothOrder 注释。这些通常是分段定义的函数,在 if-else 语句的不同分支中具有不同的函数定义。
检查平滑度的手动方法可以是评估和绘制接近 if-else 切换条件的函数和所有(偏)导数,直至定义的阶数。如果导数的值和图是连续的,则注释是正确的。
但是这种手动方法非常耗时,因此最好有某种自动检查。这是否存在,或者任何人都可以共享示例脚本或模型来帮助入门?
我有一个没有annotation (uses(Modelica(version="X.Y.Z")));在顶级 package.mo 文件中的库。我可以手动执行转换脚本来更新我的库吗?它位于哪里?我正在使用 Dymola。
Dymola*.bak-mo在删除文件时生成带有扩展名的备份文件。我可以完全永久地关闭它吗?我使用版本控制,所以我不需要那个文件。删除包时,甚至整个目录都保留下来。我也可以关掉吗?
modelica ×7
dymola ×3
derivative ×2
attributes ×1
backup ×1
connector ×1
datetime ×1
evaluate ×1
smoothing ×1
updates ×1