遇到的问题
在利用ANSYS命令流将想要的结点node数据导出的时候,超过一定数量的node索引后,不断开始报错:
*Requested data is not stored for node 6200. line=Get, NODESTR,NODE,J,S,X is ingored
解释
Keypoint 是最早输入ANSYS建模的点,node是网格划分后的所有点(当然包括keypoint)。所以假如keypoint点有6217个,那么node点中前6217个的点坐标和keypoint完全一样,说明node在6217个点之后的点是另外插值得到的,只能在list页面看,但是没有保存下来,所以命令流无法读取。
ANSYS存储应力应变之类的数据的时候,实际上只存储了KEYPOINT的应力应变,其余的node数据都是通过KEYPOINT数据进行插值的。
所以如果要查看应力应变数据,在GUI中通过 General Post -> Plot Result -> contour Plot -> Nodal Solu 选择一个,保证图像已经绘制出来(一定要先绘制)。然后 LIST -> Results -> Nodal Solution -> Nodal Solution -> Total mechanical stran 应变 -> von Mises total mechanical strain
这样就可以看到下图的EPTO1/2/3/INT/EQV, 可以发现,在list页面中每一个node都有对应的数据,但是通过命令流给参数赋值的时候不是所有NODE都有应力应变数据的。
上图是 /POST1的内容,问题是,上图的内容实际上包括了所有的NODE
可以通过list应力、应变的页面,点击 FILE -> SAVE AS 然后直接将这个页面保存下来,可以用txt方式打开。
以下是应力的插值后所有node上应力**(component stress)**的数据
解决方法
所以,要导出求解之后的数据,一共有两个方法:
①只导出ANSYS保存的结点数据,也就是kp关键点的个数,比如关键点有6217个,那么就导出node前6217个点的应力和应变,这样不会报错。
② 如果需要全部结点node的数据,不能用命令流,否则会报错:requested data is not stored for node ___ . 所以要在GUI中手动先绘制图像 General Post -> Plot Result -> contour Plot -> Nodal Solu 选择一个,保证图像已经绘制出来**(一定要先绘制)。然后 LIST -> Results -> Nodal Solution -> Nodal Solution -> Total mechanical stran 应变 -> von Mises total mechanical strain。可以通过list应力、应变的页面,点击 FILE -> SAVE AS 然后直接将这个页面保存下来,可以用txt**方式打开。
目前我选择第一种,只导出KP的应力应变数据,因为本来就是用命令流读入的KP坐标,KP数量基本就满足要求了。如果需要更多数据的时候,再选择第二种好啦。
*GET 应力、应变、压强介绍
具体查看:< Ansys Mechanical APDL Command Reference>
ANSYS自带的命令流手册是个好东西,里面有在不同求解器下,*GET命令的应用
应力
应变
压强
代码改成:
*GET, NODEPRE(I,1), NODE, I, PRES, , , ,
但是注意,并不是所有点在之前都有施加 pressure 压强的,如果没有施加,就会报出跟标题一样的警告噢。
嘻嘻嘻,希望可以帮到你。