ANSYS经典界面保存单元解和节点解

有限元模型就是有单元和节点组成的,正确分析完之后总能得到单元解和节点解,至于单元解和节点解的关系,可以参考这篇文章

ANSYS中的节点解与单元解是怎么回事?下次别说你还不懂

下面我们通过一个悬臂梁的例子来看看单元解和节点解的关系,以及如何将单元解和节点解保存为txt文件。

悬臂梁尺寸为10*10*100mm,右端面固定,左端面受到竖直向下的作用力,如下图所示

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

计算结果如下:

 节点位移和节点等效应力

单元等效应力云图

保存节点解和单元解,这里以节点应力和单元应力为例,其他解可以参考下面这篇博客APDL获取节点和单元的结果

 获取节点解使用*GET命令流,获取节点应力结果命令流如下:

序号结果APDL语句说明
1X方向应力*GET,SX,NODE,i,S,X*GET,变量名,类型,编号,应力,X方向
2Y方向应力*GET,SY,NODE,i,S,Y*GET,变量名,类型,编号,应力,Y方向
3Z方向应力*GET,SZ,NODE,i,S,Z*GET,变量名,类型,编号,应力,Z方向
4XY剪应力*GET,SXY,NODE,i,S,XY*GET,变量名,类型,编号,应力,XY方向
5YZ剪应力*GET,SYZ,NODE,i,S,YZ*GET,变量名,类型,编号,应力,YZ方向
6XZ剪应力*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,变量名,类型,编号,应力,第三主应力
10von 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,MaxNodeNum
Stress(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*7
ETABLE,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,MaxEleNum
Stress(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个单元节点解的平均。​​​​​​​

  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值