题名 | Modelica建模软件中求强连通分量与拓扑排序算法优化的研究 |
作者 | 魏欣 |
学位类别 | 硕士 |
答辩日期 | 2009-06-26 |
授予单位 | 并行计算中心 |
授予地点 | 软件所5号楼336 |
导师 | 曹建文 |
中文摘要 | Modelica语言仿真建模在科研工作中已经得到了广泛应用。它能方便地对包含机械、电子、液压、控制、热流等领域的复合物理系统进行基于组件的仿真。现有基于Modelica语言的仿真建模软件支持图形化建模和文本建模两种方式,集成了面向对象、陈述式描述、统一建模、组件重用的优势,给科研工作带来了巨大的便利。 Modelica软件仿真的过程可归结为微分代数方程(differential algebraic equation,DAE)系统的求解。在求解DAE系统时,需要对DAE系统进行约简,直到庞大的DAE系统约简为目前自动求解方法成熟的ODE系统,或约简为方程个数不多的、指标较低的DAE系统,才能使Modelica建模仿真软件具有工业上的应用价值。在约简DAE系统之前,需要对之进行预处理,根据方程之间的数据依赖关系进行拓扑排序,确定求解顺序。排序的过程对应着将DAE系统结构关联矩阵进行块状下三角(block lower triangle,BLT)变换。寻找强连通分量和拓扑排序是对DAE系统进行预处理的重要组成部分。 本文剖析了Modelica软件在仿真时的运行机制,使用几个实例来详细描述在仿真过程中,Modelica软件完成的工作。在寻找强连通分量和拓扑排序这一步,本文提出了使用Kosaraju算法的策略,对由模型得到的有向图直接使用Kosaraju算法,得出DAE系统的求解顺序。文章叙述了强连通分量的含义,并阐述了在求强连通分量时的理论依据,由此引出了Tarjan算法和Kosaraju算法,再分析和比较Tarjan算法和Kosaraju算法,对比了两种策略的优劣,并进行了实验。同时,本文分析了OpenModelica软件包的结构,修改了软件包在寻找强连通分量及拓扑排序相关模块的代码。 |
语种 | 中文 |
学科主题 | 算法理论 |
公开日期 | 2009-07-04 |
内容类型 | 学位论文 |
源URL | [http://124.16.136.157//handle/311060/206] |
专题 | 软件研究所_并行计算实验室 _学位论文 |
推荐引用方式 GB/T 7714 | 魏欣. Modelica建模软件中求强连通分量与拓扑排序算法优化的研究[D]. 软件所5号楼336. 并行计算中心. 2009. |
个性服务 |
查看访问统计 |
相关权益政策 |
暂无数据 |
收藏/分享 |
除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。
修改评论