【JY】有限元基础编程——梁单元

Dr.JY有话说:

本文转载自 易木木 的公众号 易木木响叮当,欢迎关注!

易木木在有限元领域展现出深厚的专业知识和卓越的理解能力。他们对有限元分析原理和方法有深入的掌握,能够熟练运用各种有限元软件,如ABAQUS,进行复杂结构的模拟和分析。

有限元基础编程——梁单元

引言

本次推文分享的是梁单元的有限元基本格式以及如何使用Matlab对其编程。另外说一下,后处理中的网格绘制以及云图显示不属于有限元核心部分,将可能会在后期安排内容推送,或者读者自行在网上下载相关代码进行改动(Copy)。推文主要有以下内容:1. 平面纯弯梁单元描述(节点无轴向位移)及其Matlab编程;2. 一般平面梁单元描述(节点无轴向位移)及其Matlab编程;3. 常见梁单元等效节点荷载。特别说明:理论内容及主要代码来自曾攀——《有限元分析基础教程》。

平面纯弯梁单元描述

有限元基本格式描述

b4ec23604583993dfbac1a159a3e2edb.jpeg

节点位移  、节点力  

位移场

其中,  为梁单元内任一点位移,  为单元形函数,注意到这里已经用到了“归一化”思想,为以后讲解等参单元做基础。 

应变场

其中,  为单元的几何矩阵,  为所测点以中性层为起点的y方向的坐标。 

应力场

其中,  为弹性模量,  为单元的应力矩阵。 

单元刚度矩阵

单元刚度方程

模型描述

678ab09a2ef73e7bc4e88008b97d2323.jpeg

Matlab编程

% 公众号:易木木响叮当,回复 梁单元,即可自动获取。
function k =Beam1D2Node_Stiffness(E,I,L)
% 直接组装梁单元刚度
k = E*I/(L*L*L)*[12 6*L -12 6*L
                6*L 4*L*L -6*L 2*L*L
                   -12 -6*L 12 -6*L
                   6*L 2*L*L -6*L 4*L*L];
function z = Beam1D2Node_Assembly(KK,k,i,j)
% 该函数进行整体刚度矩阵的组装
% 输入单元刚度矩阵k,单元的节点编号i、j
% 输出整体刚度矩阵KK 
DOF(1)=2*i-1;
DOF(2)=2*i;
DOF(3)=2*j-1;
DOF(4)=2*j;
for n1=1:4
   for n2=1:4
      KK(DOF(n1),DOF(n2))= KK(DOF(n1),DOF(n2))+k(n1,n2);
   end
end
z=KK;
function  v = Beam1D2Node_Deflection(x,L,u)
% 该函数计算单元内某点的挠度
% 输入所测点距梁单元左节点的水平距离x 
% 输入梁单元的长度L,节点位移列阵u  
e=x/L;
N1=1-3*e*e+2*e*e*e;
N2=L(e-2*e*e+e*e*e);
N3=3*e*e-2*e*e*e;
N4=L(e*e*e-e*e);
N=[N1,N2,N3,N4];
v=N*u

% -----------主程序----------------
format compact
E = 200*10^9;I = 118.6*10^-6;
L1 = 5;L2 = 2.5;
% cal element stiffness
k1 = Beam1D2Node_Stiffness(E,I,L1);
k2 = Beam1D2Node_Stiffness(E,I,L2);
% stiffness assembly
KK = zeros(6,6);
KK = Beam1D2Node_Assembly(KK,k1,1,2);
KK = Beam1D2Node_Assembly(KK,k2,2,3)
% cal displacement
k = KK(4:6,4:6);
p = [39062;-31250;13021];
u = k\p
% cal node force
U = [0;0;0;u];
P = KK*U
% cal RF
F = [-62500;-52083;-93750;39062;-31250;13021];
RF = P-F

最终计算得到的支反力、节点位移值与书中解析解一致,可自行验证。

一般平面梁单元描述

一般平面梁单元在节点自由度上比纯弯梁多了一个轴向位移,故一个节点三个自由度,单元刚度矩阵是一个  的矩阵(两节点)。

f48b00f3087adff5726cabd965a3c7d4.jpeg

总的节点荷载列阵:

单元刚度:

模型描述

fdd7f7f1fad4c2d1f75c2408e1636122.jpeg

首先应该先将分布荷载等效为节点荷载,然后参与计算,常见的梁单元等效节点荷载形式将会在下一小节展示。

总的节点荷载列阵:

 解题步骤与上个例题类似:单元刚度矩阵组装、整体刚度矩阵组装、位移计算、支反力计算,篇幅原因,代码部分可在公众号内回复:梁单元,即可自动获取。 

常见梁单元等效节点荷载

8d93cd9bf2ebfbc608cb8bd39d7d2a59.jpeg

更多精彩,关注建源学堂!

【往期精彩】

# 性能分析

【JY】基于性能的抗震设计浅析(一)

【JY】基于性能的抗震设计浅析(二)

【JY】浅析消能附加阻尼比

【JY】近断层结构设计策略分析与讨论

【JY】浅析各动力求解算法及其算法数值阻尼(人工阻尼)理念

【JY|体系】结构概念设计之(结构体系概念)

【JY|理念】结构概念设计之(设计理念进展)

【JY|减震】结构概念之(消能减震黏滞阻尼器)

【JY|隔震】结构概念设计之(隔震概念设计)

【JY】有限单元分析的常见问题及单元选择

【JY】结构动力学之显隐式

【JY】浅谈结构设计

【JY】浅谈混凝土损伤模型及Abaqus中CDP的应用

【JY】浅谈混凝土结构/构件性能试验指标概念(一)

【JY】浅谈混凝土结构/构件性能试验指标概念(二)

【JY】橡胶系支座/摩擦系支座全面解析

【JY】《公路桥梁抗震性能评价细则》宣贯PPT

【JY】减隔震设计思考:隔震篇

【JY】浅析基于性能的抗震分析方法——性能设计

【JY】这个房子应该做抗震or减隔震?

【JY】减隔震设计思考Ⅱ

# 概念机理

【JY】砌体的精细化有限元模拟

【JY】基于Ramberg-Osgood本构模型的双线性计算分析

【JY】结构动力学初步-单质点结构的瞬态动力学分析

【JY】从一根悬臂梁说起

【JY】反应谱的详解与介绍

【JY】结构瑞利阻尼与经济订货模型

【JY】主成分分析与振型分解

【JY】浅谈结构多点激励之概念机理(上)

【JY】浅谈结构多点激励之分析方法(下)

【JY】板壳单元的分析详解

【JY】橡胶支座的简述和其力学性能计算

【JY】振型求解之子空间迭代

【JY】橡胶支座精细化模拟与有限元分析注意要点

【JY】推开土木工程振型求解之兰索斯法(Lanczos法)的大门

【JY】基于OpenSees和Sap2000静力动力计算案例分析

【JY】建筑结构施加地震波的方法与理论机理

【JY】力荐佳作《结构地震分析编程与应用》

【JY】ABAQUS子程序UEL的有限元原理与应用

【JY】钢筋混凝土正截面极限承载力设计的基本原理和快速计算方法

【JY】消能减震黏滞阻尼器的力学原理与应用

【JY】力荐 | 区域建筑地震安全性有限元分析示例

【JY】ABAQUS正交各向异性弹性本构模型

【JY】求?减隔震元件的滞回面积~

# 软件讨论

【JY】ANSYS Workbench在减隔震应用分析中的单元积分技术笔记

【JY】模态分析关键点笔记

【JY】各软件框架的弹塑性分析对比

【JY】浅析时程分析中的阻尼设置

【JY】减隔震元件计算表格分享

【JY】复合材料分析利器—内聚力单元

【JY】SDOF计算教学软件开发应用分享

【JY】Abaqus6.14-4如何关联fortran?

【JY】如何利用python来编写GUI?

【JY】如何解决MATLAB GUI编程软件移植运行问题?

【JY】浅谈结构分析与设计软件

【JY|STR】求解器之三维结构振型分析

【JY】SignalData软件开发应用分享

【JY】基于Matlab的双线性滞回代码编写教程

【JY】动力学利器 —— JYdyn函数包分享与体验

【JY】混凝土分析工具箱:CDP模型插件与滞回曲线数据

【JY】结构工程分析软件讨论(上)

【JY】结构工程分析软件讨论(下)

【JY】各类有限元软件计算功能赏析与探讨

【JY】ETABS与Perform3D弹塑性分析功能对比示例

【JY】自建9000条高质量人工波可供下载

【JY】代码|极简反应谱分析

#其他

【JY】位移角还是有害位移角?

【JY】如何利用python来编写GUI?

【JY】今日科普之BIM

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值