后续问题:Modelica仿真和方程初始化总时间计算

2024-02-03

我正在写这个相关问题this https://stackoverflow.com/questions/61375492/modelica-total-time-calculation-of-simulation-and-equation-initialization?noredirect=1#comment108940492_61375492。在他的回复中,Marco 给了我一个很好的答案,但不幸的是,我是 OpenModelica 的新手,所以我需要一些进一步的帮助。

我实际上使用的是 OpenModelica 而不是 Dymola,所以不幸的是我必须构建为我做这件事的函数,而且我对 OpenModelica 语言非常陌生。

到目前为止,我已经有了一个基于 DAE 模拟物理行为的模型。现在,我正在尝试构建您在这里建议的内容:

使用 get time(),您可以构建一个函数: 在 t_start 转换模型并模拟 0 秒时读取系统时间 再次读取系统时间,在 t_stop 计算 t_start 和 t_stop 之间的差值。

请您给我更多详细信息:我可以使用哪个命令在时间 t_start 读取系统并模拟它 0 秒?要对 t_start 和 t_stop 执行此操作,我需要不同的函数吗?

完成此操作后,我是否必须调用 OpenModelica 模型中我想知道其时间的函数(或多个函数)?

再次非常感谢您的宝贵帮助!

非常诚挚的问候,加布里埃尔


来自另一个问题:

我注意到在 Modelica 中,模拟时间有不同的标志,但实际上,与我按下模拟按钮到模拟结束所经过的时间(大约用手机时钟测量)相比,我得到的时间非常小。

报告的时间是正确的。大部分时间不是初始化或模拟,而是编译。如果您使用 OMEdit 中的重新模拟选项(右键单击变量绘图视图中的结果文件),您会注意到模拟速度非常快。

$ cat e.mos
loadString("model M
  Real r(fixed=true, start=2.0);
equation
  der(r) = time;
end M;");getErrorString();
simulate(M);getErrorString();
$ omc e.mos
true
""
record SimulationResult
    resultFile = "/mnt/data/@Mech/martin/tmp/M_res.mat",
    simulationOptions = "startTime = 0.0, stopTime = 1.0, numberOfIntervals = 500, tolerance = 1e-06, method = 'dassl', fileNamePrefix = 'M', options = '', outputFormat = 'mat', variableFilter = '.*', cflags = '', simflags = ''",
    messages = "LOG_SUCCESS       | info    | The initialization finished successfully without homotopy method.
LOG_SUCCESS       | info    | The simulation finished successfully.
",                                                                                                                                                                                                    
    timeFrontend = 0.004114061,                                                                                                                                                                       
    timeBackend = 0.00237546,                                                                                                                                                                         
    timeSimCode = 0.0008126780000000001,                                                                                                                                                              
    timeTemplates = 0.062749837,                                                                                                                                                                      
    timeCompile = 0.633754155,                                                                                                                                                                        
    timeSimulation = 0.006627571000000001,                                                                                                                                                            
    timeTotal = 0.7106012479999999                                                                                                                                                                    
end SimulationResult;                                                                                                                                                                                 
""

据我所知,OMEdit 不会报告这些其他数字(翻译和编译模型的时间)。在 Windows 上,这些时间相当长,因为链接需要更长的时间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

后续问题:Modelica仿真和方程初始化总时间计算 的相关文章

  • Ruby 中的日期时间和时间之间的转换

    在 Ruby 中如何在 DateTime 和 Time 对象之间进行转换 require time require date t Time now d DateTime now dd DateTime parse t to s tt Tim
  • 从纪元到相对日期的秒数

    我正在处理自纪元以来的日期 并且已经得到了 例如 date 6928727 56235 我想将其转换为另一种相对格式 以便我能够将其转换为与纪元相关的格式 使用 time gmtime date 它返回 year 1970 mon 3 da
  • 计时器显示负的已用时间

    我正在使用一个非常简单的代码来计算每个循环的时间for陈述 它看起来像这样 import time for item in list of files Start timing this loop start time clock Do a
  • Rails 和 Mysql 的毫秒数

    使用 Rails Mysql 时存储时间 以毫秒为单位 的最佳方式是什么 我将使用小数和composed of 以便能够将该值作为Ruby 时间进行操作 有人有更好的主意吗 自从提出这个问题以来 已经过去了好几年了 这是更新的解决方案 ht
  • PHP date_sun_info 错误时间

    我正在尝试使用 PHPdate sun info函数获取全天太阳某些位置的时间信息 目前我正在使用类似于中的代码文档 http php net manual en function date sun info php sun info da
  • 如何向 Time.now 添加两周?

    如何在 Ruby 中向当前 Time now 添加两周 我有一个使用 DataMapper 的小型 Sinatra 项目 在保存之前 我有一个字段填充了当前时间加上两周 但未按需要工作 任何帮助是极大的赞赏 我收到以下错误 NoMethod
  • 计算轮班工作时间并检测

    我有个问题 我的英语很差 我需要用PHP做一个加班计算 已经有一个代码可以实现这一点 但当工作时间超过2天时 计算就会出错 工作开始 2018 09 09 13 43 工作结束 2018 09 11 07 13 结果 07 18 04 00
  • R 中按时间划分的平均值

    我每秒测量一次化合物浓度 我想求 30 秒和 60 秒的平均值 我一直在阅读这里的帖子 我尝试过lubridate and dplyr 但没有运气 我正在努力完成这项工作 但我一直没能做到 我正在从 SAS 过渡到 R 所以请耐心等待 这是
  • 将 time.Time 转换为字符串

    我正在尝试将数据库中的一些值添加到 string在围棋中 其中一些是时间戳 我收到错误 无法在数组元素中使用 U Created date 类型 time Time 作为类型字符串 我可以转换吗time Time to string typ
  • Android 中 localTime 和 localDate 的替代类有哪些? [复制]

    这个问题在这里已经有答案了 我想使用从 android API 获得的长值 该值将日期返回为长值 表示为自纪元以来的毫秒数 我需要使用像 isBefore plusDays isAfter 这样的方法 Cursor managedCurso
  • 在 C++20 中获取当前日期/时间是线程安全的吗?

    简短的问题 在 C 17 之前 包括 C 17 C 不提供线程安全的方式来获取当前时间或日期 这个问题会在 C 20 中修复吗 长问题 获取当前时间和日期的唯一可移植方法是使用 std gmtime 或 std localtime 函数 这
  • 如何在android中将时间转换为“时间之前”

    我的服务器 返回时间 2016 01 24T16 00 00 000Z I want 1 转换为字符串 2 我希望它在从服务器加载时显示 不久前 请 帮我 我认为主要有三种方式 a 内置选项使用SimpleDateFormat and 日期
  • 除了在断点处停止之外,如何测量一大块代码的时间?

    我正在 Windows 上开发 C 游戏 模拟 图形应用程序 编辑开始 如果重要的话 我正在使用 Visual Studio 2013 编辑完 Setup 我正在使用 QueryPerformanceCounter 测量从一帧到下一帧的时间
  • 在旧版本的 MySQL (<5.5.0) 中模拟 TO_SECONDS()

    出于性能和简单性的原因 我想以秒的形式获取 MySQL 3 x 服务器中 DATETIME 列的内容 或者实际上任何数字类型 我只是想在使用 UNIX TIMESTAMP 时避免所有明显的时区问题 the我表中的日期确实来自不同的区域设置
  • Python:如何在不知道格式的情况下将字符串转换为日期时间?

    我有一个以字符串形式出现并代表时间的字段 有时是12小时 有时是24小时 可能的值 8 26 08 26am 13 27 是否有一个函数可以通过智能将它们转换为时间格式 选项 1 没有 am 因为它是 24 小时格式 而选项 2 前面有一个
  • 在Excel中显示毫秒

    我正在尝试在 Excel 宏中显示毫秒 我有一列整数 它们是以毫秒为单位的时间戳 例如 28095200 是上午 7 48 15 200 我想在它旁边创建一个新列 以保持运行平均值并以hh mm ss 000格式 Dim Cel As Ra
  • 我如何获取当前时间?

    我如何获取当前时间 Use datetime https docs python org 3 library datetime html gt gt gt import datetime gt gt gt now datetime date
  • R:如何将描述小时、分钟和秒的非直观字符串转换为可行的 POSIXct 格式以执行标准算术?

    我在 R 中有一个数据集 其值采用小时 分钟和秒格式 然而 有些值只有小时和分钟 有些值只有分钟和秒 有些值只有分钟 有些值只有秒 它的格式也不是很有利 样本数据如下 example lt as data frame c 22h28m 17
  • 为什么我的 AlarmManager 会立即触发?

    我正在尝试构建一个警报应用程序 我之前让闹钟工作过 我可以设置不同的时间 闹钟就会适当地响起 然后我将 ChangeAlarmActivity 的布局更改为 TableLayout 现在它不起作用 我没有碰代码 以下是我设置闹钟的方法 In
  • 如何在数据库中保存未来(!)日期

    这个问题专门涉及未来的日期和时间 对于过去的值 UTC 无疑是首选 我想知道是否有人对拯救生命的 最佳 方法有建议futureMySQL 数据库中的日期和时间 或者就此而言一般来说 特别是在该列可以保存不同时区时间的情况下 考虑到时区规则可

随机推荐