以梦为马,不负韶华

搜索
查看: 4766|回复: 1
收起左侧

[原创] Ansys自动找应力分类线

[复制链接]
发表于 2020-9-2 15:12:04 显示全部楼层 |阅读模式
应力分类线

在压力容器的分析设计中,获得模型的应力分布后,需要对结果进行评定。

评定时,需要定义应力分类线SCL(Stress Classification Line),按此线的路径进行线性化。SCL一般是垂直于最大应力所在平面(三维)或线段(二维)或者垂直于设备横截面的中面。


                               
登录/注册后可看大图

                               
登录/注册后可看大图
表现在软件中,一般就是对危险截面上的,贯穿整个截面的应力分类线进行线性化。



常规做法

获得最大应力分类线的常规方法是,先获得应力分布:

                               
登录/注册后可看大图

然后找到最大应力点,定义路径

                               
登录/注册后可看大图

最大应力点可以用General Postproc->Nodal Solu中的Max按钮选择,可以看到节点编号以及应力值。


                               
登录/注册后可看大图


然后通过查询距离(目视观察),找到横截面上最近面上点,并定义路径。


                               
登录/注册后可看大图

如果最大应力节点处没有剖分形成关键点,那就先找到节点,然后以基准点数网格数量,找到内外表面能够基本对应的节点。

此时可以利用经典的各种Element选择技巧,一般采用多段线框选比较容易找到所需要的截面。

此过程比较耗体力,考眼力,无法用命令流,GUI操作每次重算都得重新来一次,效率非常低。

那么有没有更好的方法呢?


APDL实现

找到应力分类线路径,几何上的表述为:

已知曲面和曲面外一点A,找到曲面上一点B,使得A与B的距离最近。

那我们可以先获得最大应力点,记为N_MAX

NSORT,S,EQV,0,,1,SELECT        !结果按应力大小进行排序*GET,N_MAX,NODE,0,NUM,MAX      !取得应力最大点的节点编号NUSORT                         !恢复缺省的排序方式*GET,SEQV_MAX,NODE,N_MAX,S,EQV  !取得最大应力值
然后找到最大点对应的面,本案例中面编号是4,位置如下图所示:

                               
登录/注册后可看大图

选择面上的所有节点,然后利用Node(x,y,z)命令,获得离面4上所有节点中离Node(x,y,z)最近的点。

然后用如下代码,min_Node为所求面上的点。

asel,s,,,4        !4为面的编号nsla,s,1          !4面上的所有节点min_NODE=NODE(nx(N_MAX),ny(N_MAX),nz(N_MAX))  !离节点N_MAX的面上的最近的节点。allselpath,set1,2ppath,1,N_MAXppath,2,min_NODE
这样就得到了n_max和min_node之间的路径,如下图所示。

                               
登录/注册后可看大图

上文中的路径7和9,可以先手动选择节点和对应的面的方式。假设节点编号为2046,面编号为4,修改代码如下:


asel,s,,,4        !4为面的编号nsla,s,1          !4面上的所有节点min_NODE2=NODE(nx(2046),ny(2046),nz(2046))  !离节点2046的面上的最近的节点。allselpath,set2,2ppath,1,2046ppath,2,min_NODE2
当然,有些时候,我们是可以计算出节点的坐标的,假设坐标为(x,y,z),那么可以用NODE(x,y,z)来找到与此坐标最接近的点,修改代码如下:


asel,s,,,4        !4为面的编号nsla,s,1          !4面上的所有节点min_NODE3=NODE(x,y,z)  !离坐标(x,y,z)的面上的最近的节点。allselpath,set3,2ppath,1,NODE(x,y,z)ppath,2,min_NODE3

二维的应力分类线

对于二维单元,把面改为线即可。

比如对于一个夹套的轴对称模型,应力分布如下:


                               
登录/注册后可看大图


查询最大应力的节点,可以用节点编号或者用N_MAX表示,N_MAX可以用如下代码求:


NSORT,S,EQV,0,,1,SELECT        !结果按应力大小进行排序*GET,N_MAX,NODE,0,NUM,MAX      !取得应力最大点的节点编号

                               
登录/注册后可看大图

最大应力节点编号为61420:

                               
登录/注册后可看大图
对应的夹套外表面的线编号为14.


                               
登录/注册后可看大图
按照上文思路,代码如下:

lsel,s,,,14        !14为线的编号nsll,s,1          !线14上的所有节点min_NODE=NODE(nx(61420),ny(61420),nz(61420))  !离节点61420的面上的最近的节点。allselpath,path1,2ppath,1,61420ppath,2,min_NODE
点击Plot paths,可以看到path1的路径


                               
登录/注册后可看大图

其中距离最大应力点的外表面最近点是一个中间节点,比人工目视选择的节点更为准确。


                               
登录/注册后可看大图



总结

  • APDL完成自动选择应力分类线的路径,通用性强

  • 无需人为查询距离,控制,挑选,程序自动判断,准确性高



往期精彩:
[color=var(--weui-LINK)]角钢法兰做分析?
[color=var(--weui-LINK)]抉择-分析法还是压力面积法
[color=var(--weui-LINK)]一波三折的大开孔设计
[color=var(--weui-LINK)]椭圆筒体怎么那么厚(续)
[color=var(--weui-LINK)]非对称布管的管板分析
[color=var(--weui-LINK)]非对称布管换热器管板


欢迎关注公众号:VCAD001, 一个压力容器人的自我修养。

发表于 2020-9-2 15:12:04 显示全部楼层
了解了解,谢谢楼主分享
回复 支持 反对

使用道具 举报

不想打字就选择快捷回复吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|以梦为马,不负韶华

GMT+8, 2025-4-5 07:06

Powered by 以梦为马,不负韶华

© 2024-2099 Meng.Horse

快速回复 返回顶部 返回列表