有限元 模型就是有单元和节点组成的,正确分析完之后总能得到单元解和节点解,至于单元解和节点解的关系,可以参考这篇文章
ANSYS中的节点解与单元解是怎么回事?下次别说你还不懂
https://zhuanlan.zhihu.com/p/28286788
下面我们通过一个悬臂梁的例子来看看单元解和节点解的关系,以及如何将单元解和节点解保存为 txt文件 。
悬臂梁尺寸为10*10*100mm,右端面固定,左端面受到竖直向下的作用力,如下图所示

选择solid185单元,材料弹性模型 E =2e11,泊松比为0.3,六面体网格,划分网格并添加边界条件,结果如下:

计算结果如下:
节点位移和节点等效应力


单元等效应力云图

保存节点解和单元解,这里以节点应力和单元应力为例,其他解可以参考下面这篇博客APDL获取节点和单元的结果
| 序号 | 结果 | APDL语句 | 说明 |
|---|---|---|---|
| 1 | X方向应力 | *GET,SX,NODE,i,S,X | *GET,变量名,类型,编号,应力,X方向 |
| 2 | Y方向应力 | *GET,SY,NODE,i,S,Y | *GET,变量名,类型,编号,应力,Y方向 |
| 3 | Z方向应力 | *GET,SZ,NODE,i,S,Z | *GET,变量名,类型,编号,应力,Z方向 |
| 4 | XY剪应力 | *GET,SXY,NODE,i,S,XY | *GET,变量名,类型,编号,应力,XY方向 |
| 5 | YZ剪应力 | *GET,SYZ,NODE,i,S,YZ | *GET,变量名,类型,编号,应力,YZ方向 |
| 6 | XZ剪应力 | *GET,SXZ,NODE,i,S,XZ | *GET,变量名,类型,编号,应力,XZ方向 |
| 7 | 第一主应力 | *GET,S1,NODE,i,S,1 | *GET,变量名,类型,编号,应力,第一主应力 |
| 8 | 第二主应力 | *GET,S2,NODE,i,S,2 | *GET,变量名,类型,编号,应力,第二主应力 |
| 9 | 第三主应力 | *GET,S3,NODE,i,S,3 | *GET,变量名,类型,编号,应力,第三主应力 |
| 10 | von Mises应力 | *GET,SVON,NODE,i,S,EQV | *GET,变量名,类型,编号,应力,Mises等效应力 |
具体命令流如下:
/POST1 !后处理SET,1 !从结果文件中读出所指定的数据集*GET,MaxNodeNum,NODE,,NUM,MAX !获取最大节点号*GET,MinNodeNum,NODE,,NUM,MIN !获取最小节点号*GET,NodeNum,NODE,,COUNT !获取节点数*DIM,Stress,ARRAY,NodeNum,2 !定义2维数组NodeNum*2 *DO,i,MinNodeNum,MaxNodeNumStress(i-MinNodeNum+1,1) = i*GET,Stress(i-MinNodeNum+1,2),NODE,i,S,EQV*ENDDO *CFOPEN,myseqv100,TXT !打开一个文件*VWRITE,Stress(1,1),Stress(1,2)(F20.0,,F20.5) !格式输出20表示数据总字符宽度,5表示小数部分宽度*CFCLOS !关闭一个文件上面 代码 因为使用了*VWRITE命令,需要将其保存为txt文件,用导入的方式运行代码。运行完之后在ANSYS的工作目录下生成myseqv100.txt文件,文件结果如下:

第一列是节点号,第二列是节点von Mises等效应力,同时我们在ANSYS菜单Parameters-> Scalar Parameters中可以看到节点数

具体命令流如下:
/POST1 !后处理SET,1 !从结果文件中读出所指定的数据集*GET,MaxEleNum,ELEM,,NUM,MAX !获取最大单元号*GET,MinEleNum,ELEM,,NUM,MIN !获取最小单元号*GET,EleNum,ELEM,,COUNT !获取单元数*DIM,Stress,ARRAY,EleNum,7 !定义7维数组EleNum*7ETABLE,SX,S,X !生成单元表,应力数据填充ETABLE,SY,S,Y !生成单元表,应力数据填充ETABLE,SZ,S,Z !生成单元表,应力数据填充ETABLE,SXY,S,XY !生成单元表,应力数据填充ETABLE,SYZ,S,YZ !生成单元表,应力数据填充ETABLE,SXZ,S,XZ !生成单元表,应力数据填充 *DO,i,MinEleNum,MaxEleNumStress(i-MinEleNum+1,1) = i*GET,Stress(i-MinEleNum+1,2),ELEM,i,ETAB,SX*GET,Stress(i-MinEleNum+1,3),ELEM,i,ETAB,SY*GET,Stress(i-MinEleNum+1,4),ELEM,i,ETAB,SZ*GET,Stress(i-MinEleNum+1,5),ELEM,i,ETAB,SXY*GET,Stress(i-MinEleNum+1,6),ELEM,i,ETAB,SYZ*GET,Stress(i-MinEleNum+1,7),ELEM,i,ETAB,SXZ*ENDDO *CFOPEN,myseqv101,TXT !打开一个文件*VWRITE,Stress(1,2),Stress(1,3),Stress(1,4),Stress(1,5),Stress(1,6),Stress(1,7)(F20.5,,F20.5,,F20.5,,F20.5,,F20.5,,F20.5) !格式输出20表示数据总字符宽度,5表示小数部分宽度*CFCLOS !关闭一个文件保存的结果是单元的六个应力分量,如下所示

在ANSYS中采用列表方法列出单元应力解和节点应力解,如下

具体来看一下,取101号节点(方便查找)的SEQV=0.13934e9,它它是单元67,68,77和78四个单元的共节点,分别把四个单元的SEQV加起来再求平均=0.13934e9,可以看出单元中的相同节点的节点解的平均就是节点解。


我们从上面列表单元解可以看出单元解也是以节点的形式展示的,185单元有8个节点,所以单元解由8个节点解组成,但是我们实际在上面保存的时候每个单元只保存了一个数值,这个数值其实是这8个单元节点解的平均。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删