【OpenModelica】1 OpenModelica项目架构

1 OpenModelica项目架构

文章目录

  • 1 OpenModelica项目架构
  • 一、 架构总览图
  • 二、OpenModelica各部分作用


一、 架构总览图

在这里插入图片描述

OpenModelica 环境由几个相互连接的子系统组成,如图 1.1 所示。
其中包括:

  • MDT Eclipse 插件
  • 图形模型编辑器/浏览器
  • 文本模型编辑器/浏览器
  • 交互式会话处理器
  • OMOptim 优化子系统
  • OMNotebook DrModelica
  • Modelica 执行子系统
  • Modelica 编译器
  • Modelica 调试器
    在图 1.1中表示OpenModelica 环境的架构。箭头表示数据和控制流。交互式会话处理器接收命令,并显示评估和执行的命令和表达式的结果。几个子系统提供不同形式的 Modelica 代码浏览和文本编辑。调试器目前提供扩展算法子集的 Modelica 调试。

二、OpenModelica各部分作用

目前,OpenModelica 环境集成了以下子系统:

  • 交互式会话处理器,它解析和解释命令以及 Modelica 表达式,用于评估、仿真、绘图等。会话处理器还包含简单的历史记录功能,以及命令中文件名和某些标识符的自动完成功能。

  • Modelica 编译子系统,将 Modelica 代码翻译成 C 代码,并包含一个包含类、函数和变量定义的符号表。这些定义可以是预定义的、用户定义的,或从库中获取的。编译器还包括一个 Modelica 解释器,用于交互式使用和常量表达式的评估。该子系统还包括构建与选定的数值 ODE 或 DAE 解算器链接的仿真可执行文件的设施。

  • 执行和运行时模块。该模块目前执行从翻译的表达式和函数生成的编译二进制代码,以及与数值解算器链接的基于方程的模型的仿真代码。在不久的将来,将为 Modelica 语言的离散和混合部分包括事件处理设施。

  • Eclipse 插件编辑器/浏览器。名为 MDT(Modelica 开发工具)的 Eclipse 插件提供了文件和类层次结构浏览以及文本编辑功能,与前面描述的 Emacs 编辑器/浏览器类似。还包括一些语法高亮显示功能。Eclipse 框架具有使添加未来扩展(如重构和交叉引用支持)更容易的优势。

  • OMNotebook DrModelica 模型编辑器。这个子系统提供了一个轻量级的笔记本编辑器,与 MathModelica 中可用的更高级的 Mathematica 笔记本相比。这种基本功能仍然允许处理整个 DrModelica 教程。可以表示和编辑具有章节和节的分层文本文档,包括基本格式。单元格可以包含普通文本或 Modelica 模型和表达式,这些可以被评估和仿真。然而,此笔记本编辑器的单元格中尚未提供数学排版设施。

  • 图形模型编辑器/浏览器 OMEdit。这是一个图形连接编辑器,用于通过连接 Modelica 类的实例来设计基于组件的模型,并浏览 Modelica 模型库以阅读和选择组件模型。图形模型编辑器还包括一个用于编辑模型类定义的文本编辑器,以及一个用于交互式 Modelica 命令评估的窗口。

  • 优化子系统 OMOptim。这是 OpenModelica 的一个优化子系统,目前用于设计优化,为模型选择最优的设计参数集。当前版本具有图形用户界面,提供遗传优化算法和 Pareto 前沿优化,与模拟器集成工作,并自动访问 Modelica 模型中的变量和设计参数。

  • 动态优化子系统。这是使用配点方法进行的动态优化,适用于扩展了优化规格、目标函数和附加约束的 Modelica 模型。该子系统与 OpenModelica 编译器集成。

  • Modelica 方程模型调试器。方程模型调试器显示模型方程源代码中错误的位置。它跟踪编译器从方程到生成的低级 C 代码过程中所做的符号转换,并解释已经进行了哪些转换。

  • Modelica 算法代码调试器。算法代码 Modelica 调试器为 Modelica 的扩展算法子集提供调试,不包括基于方程的模型和一些其他特性,但包括一些元编程和 Modelica 的模型转换扩展。这是一个传统的全功能调试器,使用 Eclipse 在步进时显示源代码、设置断点等。提供各种回溯和检查命令。调试器还包括一个数据视图浏览器,用于浏览扩展 Modelica 中的树状或列表结构等层级数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/487045.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

日本科技巨头富士通遭遇网络攻击,客户数据被窃

日本科技巨头富士通3月15日发布通告,宣称公司经历了一起网络攻击事件,客户个人数据已被黑客窃取。 富士通在一份通知中写道:“我们已经确认有几台商用计算机上存在恶意软件,并且经过我们的内部调查,发现包含个人信息和…

SAP前台处理:物料计价方式:价格控制与价格确定 - 02 <CKM3>

一、背景: 物料主数据中我们讲解到物料的计价方式,SAP应用到的主要计价方式有移动平均价和标准价格方式两种,但也有按照批次计价等方式,我们主要介绍最常用的V2移动平均价和S3的标准价格; 二、示例差异分析&#xff…

k8s入门到实战(二)—— windows安装minikube

minikube 安装 minikube 是一个用于在本地计算机上运行单个节点的 k8s 集群的工具。它允许开发人员可以在自己的计算机上进行本地的 k8s 开发和测试。通过minikube,您可以模拟一个完整的 k8s 集群环境,包括节点、Pod、服务和存储等组件。它是一个轻量级…

Xcode-双架构arm64 x86_64编译

要启用通用构建,在最新版本的 Xcode 中,请打开您的项目设置,然后依次选择: 1. “Build Settings” 选项卡。 2. 在顶部输入框中输入 “Architectures”。 3. 在 “Architectures” 下拉列表中选择 “Other”。 4. 在输入框中输入 …

代码随想录刷题day32|K次反转后最大的数组和加油站分发糖果

文章目录 day34学习内容一、K次反转后最大的数组和1.1、思路1.2、代码-正确写法1.2.1、如何理解if (k % 2 1) ?1.2.2、原始nums数组[2,-3,-1,5,-4],那么排序后数组等于什么? 二、加油站2.1、思路2.2、正确写法12.2.1、 如何理解上面这段代码…

数据可视化-ECharts Html项目实战(7)

在之前的文章中,我们学习了如何设置漏斗图、仪表盘。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢 数据可视化-ECharts Html项目实战(6…

JavaScript 学习日记(1)---初识JavaScript

初识JavaScript 文章目录 初识JavaScript一、JavaScript 是什么?二、java 和JavaScript 的关系三、JavaScript 的组成四、JS的基本输入输出 ---> 单行注释五、js变量基本概念六、js基本数据类型七、js转义字符八、js类型转换九、运算符 END! 一、JavaScript 是什么? 我们…

FDGaussian:又快又好的三维重建方案 | Gaussian Splatting和扩散模型超强联合

项目地址:https://qjfeng.net/FDGaussian/ 文章链接:https://arxiv.org/pdf/2403.10242 本文介绍了一种名为FDGaussian的新型两阶段框架,用于单张图像的三维重建。最近的方法通常利用预先训练好的二维扩散模型从输入图像生成可能的新视图&…

DARTS-: ROBUSTLY STEPPING OUT OF PERFORMANCE COLLAPSE WITHOUT INDICATORS

DARTS-:增加辅助跳跃连接,鲁棒走出搜索性能崩溃 论文链接:https://arxiv.org/abs/2009.01027 项目链接:GitHub - Meituan-AutoML/DARTS-: Code for “DARTS-: Robustly Stepping out of Performance Collapse Without Indicators…

RAG笔记:常见问题以及解决方法

1 内容缺失 知识库中缺少必要的上下文信息。当知识库没有包含正确答案时,RAG 系统可能会给出一个貌似合理但实际上错误的回答,而不是明确表示它不知道答案。 1.1 解决方法 1.1.1 设置阈值 在回答问题前先设定一个质量标准。如果召回内容达不到标准或…

大数据Hadoop生态圈体系视频课程

课程介绍 熟悉大数据概念,明确大数据职位都有哪些;熟悉Hadoop生态系统都有哪些组件;学习Hadoop生态环境架构,了解分布式集群优势;动手操作Hbase的例子,成功部署伪分布式集群;动手Hadoop安装和配…

真假“长文本”,国产大模型混战

文|郝 鑫 Kimi有多火爆?凭一己之力搅乱A股和大模型圈。 Kimi概念股连日引爆资本市场,多个概念股随之涨停。在一片看好的态势中,谁都想来沾个边,据光锥智能不完全统计,目前,至少有包括读客…

(二)BSQ,BIL,BIP存储格式的相互转换算法

环境:Windows10专业版 IDEA2021.2.3 jdk11.0.1 GDAL(release-1928-x64-gdal-3-5-2-mapserver-8-0-0) 系列文章: (一)PythonGDAL实现BSQ,BIP,BIL格式的相互转换 (二)BSQ,BIL,BIP存…

【中间件】docker数据卷

📝个人主页:五敷有你 🔥系列专栏:中间件 ⛺️稳中求进,晒太阳 1.数据卷(容器数据管理) 修改nginx的html页面时,需要进入nginx内部。并且因为内部没有编辑器,修改…

手把手教集成环信新版UIKit组件,快速构建Android应用

前言 环信新版UIKit已重磅发布!目前包含单群聊UIKit、聊天室ChatroomUIKit,本文详细讲解Android端单群聊UIKit的集成教程。 环信单群聊 UIKit 是基于环信即时通讯云 IM SDK 开发的一款即时通讯 UI 组件库,提供各种组件实现会话列表、聊天界…

网络编程(Internet)

网络编程三要素 在网络通信协议下,不同计算机上运行的程序,可以进行数据传输。 IP地址 要想让网络中的计算机能够互相通信,必须为每台计算机指定一个标识号,通过这个标识号来指定要接收数据的计算机和识别发送的计算机&#xf…

【超图 SuperMap3D】【基础API使用示例】54、超图SuperMap3D -鼠标左键拖拽绘制圆

前言 引擎下载地址:[添加链接描述](http://support.supermap.com.cn/DownloadCenter/DownloadPage.aspx?id2524) 通过左键按下拖拽的方式在地图上进行贴地的圆绘制 完整代码拷贝直接本地运行即可查看效果效果 核心代码 // 绘制圆形 function startDrawCircleHand…

探究橡胶手套与乳胶手套的区别及选择指南

在探寻手部防护的世界里,橡胶手套与乳胶手套各自闪耀着独特的光芒。然而,对于许多人来说,这两者之间的细微差异仍然笼罩在一层迷雾之中。本文将如同一盏明灯,照亮这片迷雾,为您提供一份详尽的选择指南。 首先&#xff…

高性价比 惠海MOS管选型推荐 30V60V100V150V NMOS管和PMOS管

mos管选型建议: 需要抗电流冲击的,普通逻辑开关或者工作频率很低比如50kHZ以内的,电流非常大的情况比如实际工作6A以上的话一般建议选择平面mos管。6A以内的应用,大电流沟槽型mos管即可。 需要高频开关,比如500kHZ以…

2024/3/23打卡数组分割(第14届蓝桥杯)——二项式定理,快速幂

目录 题目 思路 代码 题目 思路 分析该题,要将集合 划分成两个子集 ,且两个子集的和都是偶数。 可知:偶数 偶数 偶数;偶数 奇数 奇数;奇数 奇数 偶数; 分析可得:如果该集合的和为奇…