minoz 发表于 2016-5-6 09:56

Abaqus的历史数据输出的问题

Abaqus结果输出时有场输出(Field Output)和历史输出(History Output),场变量输出用于描述某个量随空间位置的变化,历史变量用于描述某个量随时间的变化,区别是场变量输出大量的单元或节点上的计算结果,写入odb文件的频率低,用与生成后出的各个图。历史变量输出少量单元或节点上的计算结果,写入Odb的频率高,用于生成X-Y图。历史变量允许单独输出某个独立分量,经常用到的就是这个独立分量的输出,比如输出结构最大点的位移变化曲线,或者盈利最大点的应力变化过程等。在输出历史数据时,大多数的输出结果比如位移和应力等,不能实现整个模型全部输出,也就是需要指定set(参考集),需要设置相关的set后,结果输出才会有这些数据。定义Set的对话框如图1所示,定义Set的类型时有三个,按照以往的理解,一般经常用到的应该是Node,也即节点集,想要输出这个节点在求解过程中的Mises应力变化过程,选择某个节点,通过Step模块的History Output Requests,如图2所示。               图1               图2选择刚才设置的Set,选择需要输出的结果项,此处为Mises。之后计算,计算后提取结果时,发现并没有输出该节点的Mises历史数据。笔者很快想到了,有可能是不能输出节点的应力,因为涉及到节点解和单元积分点解的问题,这个之前已经讨论过。基于此考虑,那么输出该节点的位移场肯定没问题,因为节点位移解是最先得到的节点解。将Mises换成UT,如图3所示。同时,新建一个Element Set,因为Node Set无法输出历史数据,那么采用Element Set也肯定能够输出单元积分点的数据,如图4所示。               图3               图4之后进行计算,计算完成后,进入后处理模块,点击Create XY data,如图5所示,选择创建方式为ODB history output,弹出对话框如图6所示。            图5图6中第一行是Element Set的单元积分点的历史数据,此次因为是一个平面模型而且采用的缩减积分单元,每个单元只有一个积分点。后面两行是Node Set的节点位移U1和U2。                图6以上是历史输出的操作,但是也明显存在了一个问题,如果想要输出某节点的应力怎么办?虽然采用单元积分点的值其实已经能够满足通常的使用要求,但是单元积分点毕竟没有节点直观。这里有两种方法,第一种是通过Python语言,写后处理程序,输出节点的所有相关数据。另外一种是通过修改inp文件,这种方法笔者没有试过,是网上提到的一种方法,具体操作如下:1.记住要输出的单元编号,例如为27,在INP文件的*Assembly部分定义一个element型的set:*Elset, elset=Set-Name, instance=Part-Name 27,2.在*End Step前加上:*Output, history, frequency=10*Element Output, elset=Set-Elem-forMeshPartMISES,转自:http://blog.sina.com.cn/s/blog_6465f2ed0102x3wg.html

页: [1]
查看完整版本: Abaqus的历史数据输出的问题