首页/文章/ 详情

厚壁圆筒问题径向、切向应力求解及Extra云图显示

6月前浏览5828
摘要:基于弹性力学中的应力分量坐标转换式,在flac3d中进行径向应力、切向应力求解,并绘制相应应力云图,最后将数值解与解析解进行对比。

1.问题描述及解析解

下图所示为一厚壁圆筒,内半径r1=50mm,外半径r2=100mm,作用在内孔上的压力p=10MPa,无轴向力,轴向长度可视为无穷。欲计算径向应力σr和切向应力σt沿圆筒半径r方向的分布。

图1-1 厚壁圆筒问题

根据材料力学知识,σr、σt沿r方向的分布的解析解为:

将r1、r2以及p值带入上式进行计算,得到径向应力σr最大值为-10MPa,切向应力σt最大、最小值分别为16.67MPa、6.67MPa。

2.应力分量的坐标转换式

根据弹性力学知识,应力分量坐标转换计算图示以及转换结果见下图。

图2-1 应力分量坐标转换计算图示及计算公式

3.数值求解代码

该问题符合平面应变问题条件,故可以简化为平面应变问题。在FLAC3D中进行分析时,可将模型厚度(Y方向)取一小值进行建模分析。

    # case-01import itasca as itimport mathit.command("python-reset-state false")# 模型参数r1 = 50 # 内半径/mmr2 = 100 # 外半径/mmth = 5 # 轴向厚度/mms_r = 30 # 径向网格数量s_th = 1 # 轴向网格数量s_t = 30 # 环向网格数量E = 2e5 # 弹性模量/MPav = 0.3 # 泊松比p = -10 # 内孔压力/MPa# 建模计算it.command("""           model new           model largestrain off           ;建模           zone create cylindrical-shell point 0(0,0,0) point 1({0},0,0) point 2(0,{1},0) point 3(0,0,{0}) point 4({0},{1},0)...                                         point 5(0,{1},{0}) point 8({2},0,0) point 9(0,0,{2}) point 10({2},{1},0) point 11(0,{1},{2}) size {3} {4} {5}           zone reflect origin (0,0,0) normal (-1,0,0)           zone reflect origin (0,0,0) normal (0,0,-1)           ;赋予本构、参数           zone cmodel assign elastic           zone property young {6} poisson {7}           ;边界条件           zone face skin           zone face apply velocity-normal 0 range group 'south' or 'north'           zone face apply stress-normal {8} range group 'west'           ;求解           model solve           """.format(r2,th,r1,s_r,s_th,s_t,E,v,p))# 圆心坐标xc = 0.0zc = 0.0# 遍历求解各单元径向、切向应力for z in it.zone.list():    ;计算夹角正弦、余弦    xz = z.pos_x()    zz = z.pos_z()    r = math.sqrt((xz-xc)**2+(zz-zc)**2)    sin = zz/r    cos = xz/r    ;获取应力分量    sxx = z.stress()[0][0]    szz = z.stress()[2][2]    sxz = z.stress()[2][0]    ;根据图2-1计算各单元径向、切向应力    sig_r = sxx*cos**2+szz*sin**2+2*sxz*cos*sin    sig_t = sxx*sin**2+szz*cos**2-2*sxz*cos*sin    ;设置径向、切向应力Extra云图    z.set_extra(1,sig_r)    z.set_extra(2,sig_t)    # 解析解sig_r_max = str(-1.0*r1**2*p/(r2**2-r1**2)*(1-r2**2/r1**2))sig_t_min = str(-1.0*r1**2*p/(r2**2-r1**2)*(1+r2**2/r2**2))sig_t_max = str(-1.0*r1**2*p/(r2**2-r1**2)*(1+r2**2/r1**2))print(sig_r_max,sig_t_min,sig_t_max)

    3.结果对比

    径向应力云图见图3-1。由图可知:径向应力最大值计算结果为-10.05MPa,与解析解-10MPa相比,误差率为0.5%。

    图3-1 径向应力云图
    切向应力云图见图3-2。由可知:切向应力最大、最小值计算结果分别为16.71MPa、6.63MPa,与解析解16.67MPa、6.67MPa相比,误差率分别为0.24%、0.6%

    图3-2 切向应力云图

    来源:FLAC3D小技巧
    pythonFLAC3D材料Origin
    著作权归作者所有,欢迎分享,未经许可,不得转载
    首次发布时间:2023-12-26
    最近编辑:6月前
    FLAC3D小技巧
    硕士 专注FLAC3D中的小技巧分享...
    获赞 27粉丝 141文章 40课程 0
    点赞
    收藏
    未登录
    还没有评论
    课程
    培训
    服务
    行家
    VIP会员 学习 福利任务 兑换礼品
    下载APP
    联系我们
    帮助与反馈