【OpenModelica】1 OpenModelica项目架构

1 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 中的树状或列表结构等层级数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wumbuk

您的支持是我坚持的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值