ANSYS Workbench实体单元如何获取和绘制内力图

ANSYS Workbench实体单元如何获取和绘制内力图

Please Share Us

点击此处查看 ✿水哥原创ANSYS视频教程清单 ✿

水哥专属答疑服务已开通,点此此处查看详情

ANSYS workbench 实体单元如何获取弯矩和剪力,请查看本文!

在前面推文中,水哥讲述了梁单元如何出具弯矩图,梁单元由于其本身可以输出弯矩结果,故操作相对来讲比较简单,而对于实体单元而言,由于单元本身的假定,其没有相关宏观内力输出,所有的操作均匀用户手动进行,本文便介绍实体单元如何输出内力。

以下面的这个案例为研究对象,如下所示悬臂梁,截面尺寸为200×400,长度为2500mm,顶部受10KN/m的荷载,采用实体单元模拟并求解其弯矩图。

ANSYS Workbench实体单元如何获取和绘制内力图

理论解:以左侧端部为起点,任意位置处的弯矩值为:

M=0.5*Q*(L-x)^2

首先复核端部位置处的内力,端部位置截面内力的理论值为:

1、剪力值:F=10*2.5=25KN

2、弯矩值:M=0.5*10*2.5^2=31.25KN.m

在Workbench中,查看实体单元截面内力的的原理是利用截面节点力对特定位置处的积分得到,也即我们通常说的面映射,故而在具体查看之前,应首先在求解设置里面输出节点力:

ANSYS Workbench实体单元如何获取和绘制内力图2

Workbench查看端部截面内力值方法如下:
1、在后处理中,插入Probe,然后选择Force Reaction和Moment Reaction,

ANSYS Workbench实体单元如何获取和绘制内力图3

在具体的设置里面,将Boundary Condition选择为我们设置的边界条件,设置后即可运行,得到结果,如下所示,弯矩值为31250 N.m,与理论值相符。查看端部剪力的方法与弯矩类似,结果如下所示,其值为25000N,与理论值相符。

ANSYS Workbench实体单元如何获取和绘制内力图5

ANSYS Workbench实体单元如何获取和绘制内力图4

接下来,阐述下如何查看非端部截面的内力值,以查看跨中截面为例,演示具体的操作流程。

前文已经阐述,非端部截面内力值是通过节点力积分得到,此处需要我们提前在查看内力位置处创建一个面,也即Surface,由于创建的Surface默认是基于坐标系的XOY平面,故而我们还需要创建一个局部坐标系,否则无法于指定位置处创建Surface。

总的步骤如下:

1、在Coordinate System下方插入一个局部坐标系,并移动只跨中位置处,同时保证XOY平面垂直于悬臂梁长度方向。

注意:由于后续查看内力时需要指定积分点的坐标,建议将坐标系原点与积分点坐标位置重合,例如此处我们想查看截面内力对截面中心点的值,故而坐标的移动值为0.1,1.25,0.2(以m为单位)。

ANSYS Workbench实体单元如何获取和绘制内力图6

2、右键点击Model,选择插入Surface,设置Surface的坐标系为刚才创建好的局部坐标系。

ANSYS Workbench实体单元如何获取和绘制内力图7

ANSYS Workbench实体单元如何获取和绘制内力图8

3、在Solution模块再次插入Moment Reaction,此时Location Method选择Surface,同时选择前面定义好的面,Orientation切换至该Surface对应的局部坐标系,Summation选择Orientation System,最后确定需要计算的时间即可。如下所示,分别为中间截面的弯矩和剪力值,数值分别为7800N.m和13000N,理论计算如下:

M=0.5*10*1.25^2*=7.813 KN.m

V=0.5*10*1.25=12.5KN

对比可见,两则具有一定的误差,其主要原因在于采用Surface方式时,刚好定义的跨中位置没有节点,而是采用距离定义位置最近的节点组来计算,故而具有一定的误差。

ANSYS Workbench实体单元如何获取和绘制内力图9

ANSYS Workbench实体单元如何获取和绘制内力图10

4、为改善上述情况,有两种解决方法,第一种是加密网格,尽量让跨中位置的节点与定义的位置相近;第二种是人为手动切割一刀,使其在跨中位置有一个断面,并生成节点。下面为两种方式的对比效果:

1)采用网格加密的结果:

弯矩值为7809,剪力值为12750,可见剪力值与理论值的误差具有一定的缩小。

ANSYS Workbench实体单元如何获取和绘制内力图11

2)、在查看弯矩位置处切割一刀结果,弯矩7812,剪力12500,可见剪力值与理论相符,弯矩还具有一定的误差,但误差不足0.2%,完全可以接受。

ANSYS Workbench实体单元如何获取和绘制内力图12

从上述操作可见,如果要比较准确的获取截面的内力,建议在需要获取截面内力位置处切割一刀,使其生成有限元节点,但实际情况下,针对复杂体,每一个位置都切割往往不是特别现实,故而可适当加密网格,这样能保证一定的精度。

上述内容是从单个截面阐述了获取内力的办法,那么如果是想要获取内力图,那么就需要进行批量操作了,因为内力图是多个连续面获取内力,然后绘制而成,意思就有点类似于梁单元的单元划分,梁单元也是划分为多个断面,然后获取每个断面的内力。

想要批量操作,就需要Python脚本了。

编写Python脚本有三个关键步骤,下面简要阐述具体使用的API:

1、局部坐标系的创建

a=Model.CoordinateSystems
#创建坐标系
re=a.AddCoordinateSystem()
#重命名
re.Name="CS01"
#定义坐标系原点-基于整体坐标系
re.OriginX=Quantity(0.1,'m')
re.OriginY=Quantity(1.25,'m')
re.OriginZ=Quantity(0.2,'m')
#定义坐标系的轴
#指定新坐标系第一个坐标系为X轴
re.PrimaryAxis=CoordinateSystemAxisType.PositiveXAxis
#指定具体X轴方向
re.PrimaryAxisDefineBy=CoordinateSystemAlignmentType.GlobalX
#然后在新坐标系第二个坐标系为Z轴
re.SecondaryAxis=CoordinateSystemAxisType.PositiveZAxis
#具体指定Z轴方向
re.SecondaryAxisDefineBy=CoordinateSystemAlignmentType.GlobalY

2、Surface创建与重命名

#创建Surface
a=Model.ConstructionGeometry
re=a.AddSurface()
cs=DataModel.GetObjectsByName("CS01")
re.CoordinateSystem=cs

3、后处理Reaction的定义与数值获取–以剪力为例

#评估结果
sl=Model.Analyses[0].Solution
re=sl.AddForceReaction()
re.LocationMethod=LocationDefinitionMethod.Surface
sf=DataModel.GetObjectsByName("MySurf")
re.SurfaceSelection=sf[0]
mybody=DataModel.GetObjectsByName("Mybody")
re.GeometryLocation=mybody[0]
re.Orientation=cs[0]
re.EvaluateAllResults()

4、结果获取与打印

#结果获取
F_res=re.YAxis.ToString().split(' ')[0]
F_res=round(float(F_res),2)
print(F_res)

最终的结果打印如下所示:

ANSYS Workbench实体单元如何获取和绘制内力图13

可见采用上述代码能够正确获取截面的内力,如果要进行批量操作,可将上述代码封装成一个函数,函数里面引入一个参数 Surface沿梁长方向的位置,内部原理为根据用户指定的坐标,创建局部坐标系,进而重复上述过程,即可获取整根梁的截面内力,将获取到的内力输出到一个文件中,即可实现整根梁的截面内力分布。

当断面划分段数为10时,结果如下,第一列为沿梁长坐标,第二列为剪力值,第三列为弯矩值。

ANSYS Workbench实体单元如何获取和绘制内力图14

将上述最终的内力文件forcefile.txt导入到Matlab中,即可绘制相关内力图,弯矩图如下所示:

ANSYS Workbench实体单元如何获取和绘制内力图15

当然,如果最后绘制的内力图不是特别顺滑,可考虑加密网格,同时增大内力截面划分段数来进行,如下图所示为网格尺寸25mm,截面划分段数为50份的内力截图和弯矩曲线。

ANSYS Workbench实体单元如何获取和绘制内力图16

ANSYS Workbench实体单元如何获取和绘制内力图17

对比可见,断面数划分越多,其曲线更加平滑,但相应的,其操作时间也更加长。

本文最终的批处理代码付费后即可获取,将代码文件打开后复制,打开本文的WB模型,然后点击菜单栏里面的Automation,点击Scripting, 进入脚本输入界面,粘贴本文的源代码即可运行。

注意,本文配套的WB模型需要用2024版本打开,如果版本低于2024,可自己手动创建模型,然后运行代码。

ANSYS Workbench实体单元如何获取和绘制内力图18

欢迎扫描如下二维码关注本站微信公众号:ANSYS结构院

有时间麻烦帮忙点击下公众号文末的广告哦, 权当码字的辛苦费,感谢大家!

Please Share Us
ANSYS Workbench实体单元如何获取和绘制内力图-峰设教育
ANSYS Workbench实体单元如何获取和绘制内力图
此内容为付费资源,请付费后查看
25积分
付费资源
已售 2
© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码

    暂无评论内容

YOU MAY LIKE…