- 积分
- 120
- 注册时间
- 2013-8-2
- 最后登录
- 1970-1-1
|
用了5年的AMESim,从4.2版本一直用到12版本,看到这个软件的用户越来越多,一路走来感慨万千,在这里确实有一些东西应该跟大家分享。此外感谢LMS工程师提供的无私帮助
1建模是为了分析什么
仿真的目的是什么,这是LMS工程师经常问的一句话,一般情况下可以分成系统仿真和零部件仿真。根据仿真的目的不同,那么模型的复杂程度自然也就不一样了。打个比方说,以液压系统仿真分析为例,假如我所关心的是整个液压系统在不同工况下的压力和流量变化,那么我一定会用标准液压库(HYD)里面的元件建模。假如我所关心的是阀芯的位移、液动力的大小,那么我就必须用液压元件设计库(HCD)来建模。所以说建模之前首先要问自己,建模是为了分析什么,然后再搭建。AMESim每个库都有自己的分工。当然这两类的仿真并不是对立的,而是互相兼容。Demo自带的装载机模型就是一个很好的例子:仿真的目的是分析不同工况下系统的工作压力变化,当时是系统仿真的范畴,但是液压泵的变量机构会对系统的动态有很大的影响,所以只用HCD把泵的变量机构搭建出就可以了。其他的就用HYD建模。所以一个好的模型应该保留出我们所关心的全部信息,但是一定要简单!
另外有一个误区大家一定要清楚:不是说HCD建的模型就一定比HYD建的模型精确,这是一个大错特错的问题。首先要清楚,HCD建模的确能够考虑比HYD模型更多的物理现象,但是用HCD建模的难度却大了很多,因为需要很多的参数要设置。比如说滑阀的建模,HCD建模就需要输入阀芯内部的参数(诸如阀杆直径、阀芯直径、开口形式…)这些参数一般用户不一定能得到,而且理解不好很容易填错。但是用HYD建模,只需要定义阀的工作点和饱和电流就行了。所以用户应该能够根据自己的需要在这两个库之间自由切换。
2 什么叫做因果关系
大家在用AMESim的时候可能有这样的疑问,为什么有时候两个元件就是不能连接在一起。其实背后的道理很简单。简而言之,AMESim背后的建模理论是功率键合图,在功率键合图理论中把变量分别势变量和流变量两大类。在AMESim中每一个元件其背后都是一个或多个方程组,元件与元件的连接就相当于方程组的联立求解。为了保证联立之后方程组能够求解,必须规定元件间变量的输入、输出关系,这就是因果关系。虽然有的人说因果关系导致建模困难,这也许是事实,但是,为了图方便,搭建一个不能求解的模型是没有意义的!其实只要熟悉了这个规则,建模其实还是很容易的。
另外一点,正是由于因果关系的存在,才使得在AMESim中debug的工作非常容易,(比如在AMESim中如果仿真失败,一般情况下故障元件的代号都会在仿真状态中显示,只要双击这个代码,系统就自动显示这个元件的标签)。因果关系的作用就好比“责任到人”,规定了每个元件的在整个仿真中的人物,一旦仿真出错,就很容易差到故障点了。
3 基于C语言与modelica
最近一段时间经常有人问我C语言与modelica语言的区别。在这里对两种语言的优略我不敢妄言。但是个人觉得,C语言是一种已经广泛使用的成熟的语言。并且在大学中有关C语言的课程已经广泛开展,而modelica语言,虽然功能强大但是毕竟还不成熟,语法规则还没有统一,而且最关键的是在国内没有一家大学开展modelica的课程,因此从实用的角度讲还是建议大家用C语言。比如说,我们可以很容易用C语言来描述一个常微分方程,这样我们用可以很容易的使用AMEset这个工具进行二次开发。但是换成modelica,你会吗?
另外再说以下,自从AMESim8以后,AMESim就兼容modelica,如果大家有兴趣可以把modelica模型导入到AMESim中来运行。
4 怎样看帮助文档
其实用了这么多仿真软件,我也以负责的告诉大家AMESim的帮助文档是最全的也是最详细的。在帮助文档中,首先要看变量信息。绿色箭头代表输出、红色箭头代表输入,而且箭头的方向代表了当前物理量的正方向。
大部分的元件,其内部理论的方程都会在帮助文档中找到,这时候要注意分析这个方程,因为元件内部的东西就是把这条方程代码化。另外要注意,假如这个元件中如果需要表格参数的话,那么在help文档中一定会注明的,这时候一定要注意help文档中单位的定义。要不然就失之毫厘义,谬以千里了!
5 从Demo中我们能学到什么
首先要看这个模型搭建的目的是为了分析什么,它在哪个地方进行了化简、哪个地方进行了详细建模。第二主要是看人家的建模思路,怎样把一个实际结构抽象成AMESim中的几个元件(这是难点)。第三看建模,Demo中的复杂模型一般情况下都用global parameter,这样参数的定义简单明了,而且在改参数的时候不至于漏掉
|
评分
-
查看全部评分
|