首页/文章/ 详情

有限元基础编程 | 梁结构铰节点如何处理?

2小时前浏览73

在梁结构中,常常包含一些铰节点,根据大学时所学的力学常识,这时铰节点处的弯矩为0。如下图所示,在进行有限元分析时,需要将结构离散为两个梁单元去分析,这时需要注意的是,铰节点只能被考虑一次

 

在上图中,铰节点可以归属到单元1的右端,或者单元2的左端,若单元1的右端考虑铰节点,单元2的左端考虑铰节点,最终求得的刚度矩阵就会奇异

现考虑纯弯Euler-Bernoulli梁单元右端铰节点的问题,单元刚度方程可表示为:

 

对于单元的铰接端,只有位移自由度参与刚度矩阵集成,转动自由度不参与刚度矩阵集成,该自由度属于内部自由度,应在单元层次上进行自由度释放,也称静力凝聚,在平面非协调元章节中着重介绍了该数值技术。

将纯弯梁单元刚度矩阵可分块写为:

 

进一步写为:

 

将上式展开:

 

基于上式的第二个方程解出    

 

代入第一个方程:

 

进一步表示为:

 

其中    就是凝聚矩阵,可变为:

 

在铰接端弯矩为0,但是转角不等于0,可将刚度矩阵转角自由度的行和列的元素置为0即可,单元1的凝聚矩阵可表示为:

 

单元2的凝聚矩阵可表示为:

 

在对包含铰节点的梁单元实际编程时,可参考《Introduction to finite elementanalysis using MATLAB® andabaqus》的处理方式。

首先,创建矩阵Hinge(nel,2)并将所有元素初始化为1,假设单元     的铰节点在其左端,就将该单元的第一个节点设置为0:Hinge(i,1)=0;假设单元     的的铰节点在其右端,就将该单元的第二个节点设置为0:Hinge(j,2)=0

单元刚度矩阵可参考如下代码:

if Hinge(i1) == 0
    disp('hinge(1,1)=0')
    kl=[ 3*EI/L^3      0     -3*EI/L^3     3*EI/L^2  ; ...
        0         0          0             0    ; ...
        -3*EI/L^3      0      3*EI/L^3     -3*EI/L^2 ; ...
        3*EI/L^2      0     -3*EI/L^2      3*EI/L   ];    

elseif Hinge(i2) == 0
    disp('hinge(1,2)=0')
    kl=[ 3*EI/L^3     3*EI/L^2     -3*EI/L^3    0 ; ...
        3*EI/L^2     3*EI/L       -3*EI/L^2    0 ; ...
        -3*EI/L^3    -3*EI/L^2      3*EI/L^3    0 ; ...
        0          0              0        0 ] ;   
else
    kl=[ 12*EI/L^3     6*EI/L^2     -12*EI/L^3     6*EI/L^2 ; ...
        6*EI/L^2     4*EI/L        -6*EI/L^2     2*EI/L   ; ...
        -12*EI/L^3    -6*EI/L^2      12*EI/L^3     -6*EI/L^2 ; ...
        6*EI/L^2      2*EI/L        -6*EI/L^2      4*EI/L   ];
end

觉得本篇推文对你有帮助的话,可以动动的小手一键三连(点赞➕在看➕分享)哦~
以上推文已更新至《有限元基础编程百科全书》PDF文档中,扫描下方二维码或在后台回复“星球”,加入知识星球后,查看置顶文章即可获得《有限元基础编程百科全书》最新版本。


来源:易木木响叮当
AbaqusMATLAB
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-01-16
最近编辑:2小时前
易木木响叮当
硕士 有限元爱好者
获赞 226粉丝 293文章 361课程 2
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈