[FEM][有限元][编程][Matlab][Code by myself] FEM Analysis: 2D Truss Element [有限元分析: 2D桁架单元]

(和小伙伴,一起给大家带来有限元编程案例。)

  • 程序作者 ( Author)

JiDong Cui (崔济东) 1, XueLong Shen (沈雪龙)2

1.广州容柏生建筑结构设计事务所;2.华南理工大学建筑设计研究院

  • 问题描述( Problem Description)

节点1处为固定铰支座,节点4处为滑动铰支座,节点5、6、7处分别受到-y方向P=100000N的集中力作用;结构中各杆件采用相同的规格,其中弹性模量E=200000MPa,截面积A=4532mm2

基于MATLAB编程实现该桁架结构的弹性静力分析,并将MATLAB的计算结果与SAP2000、Midas Gen分析结果进行对比。

  • MATLAB 编程

  • SAP2000

EXCEL_MATLABvs.SAP2000

方向节点 1节点 2节点 3节点 4节点 5节点 6节点 7
X 向MATLAB00.24820.6620.91020.78610.45510.1241
SAP200000.24810.66150.90960.78560.45480.124
相对偏差( % )0-0.052-0.0724-0.0668-0.0691-0.0668-0.0524
Z 向MATLAB0-1.5871-1.58710-1.0869-1.9218-1.0869
SAP20000-1.586-1.5860-1.0862-1.9205-1.0862
相对偏差( % )0-0.0677-0.06770-0.0684-0.0669-0.0684
  • Midas Gen

EXCEL_MATLABvs.MidasGen

方向节点 1节点 2节点 3节点 4节点 5节点 6节点 7
X 向MATLAB00.24820.6620.91020.78610.45510.1241
Midas Gen00.24810.66150.90960.78560.45480.124
相对偏差( % )0-0.0661-0.0662-0.0661-0.0662-0.0661-0.0661
Z 向MATLAB0-1.5871-1.58710-1.0869-1.9218-1.0869
Midas Gen0-1.5871-1.58710-1.0869-1.9218-1.0869
相对偏差( % )00-0.00150-0.0022-0.0007-0.0022
  • ABAQUS

EXCEL_MATLAB vs. Abaqus

方向节点 1节点 2节点 3节点 4节点 5节点 6节点 7
X 向MATLAB00.24820.6620.91020.78610.45510.1241
ABAQUS00.24820.6620.91020.78610.45510.1241
相对偏差( % )0-0.01410.00620.00070.00290.0007-0.0137
Z 向MATLAB0-1.5871-1.58710-1.0869-1.9218-1.0869
ABAQUS0-1.5871-1.58710-1.0869-1.9218-1.0869
相对偏差( % )00.00130.001300.00180.00050.0018

 

可以看出,MATLAB编程计算结果是和 SAP2000,MidasGen 及 Abaqus计算结果是完全一致的。


You already voted!

  • 注释 ( Comments )

源代码已经收录到新书《有限单元法:编程与软件应用》,详见链接:http://www.jdcui.com/?page_id=9731

  • 微信公众号 ( Wechat Subscription)

WeChat_QRCode

欢迎关注 “结构之旅” 微信公众号

10 thoughts on “[FEM][有限元][编程][Matlab][Code by myself] FEM Analysis: 2D Truss Element [有限元分析: 2D桁架单元]

  1. tyu Reply

    你好,对照书上的代码计算出的结果不太一致,不知道问题在哪。能发送份2D truss单元的代码吗。

  2. JacquesCHEN Reply

    我是说,midas gen的那个结果精度有问题。你那边也看了matlab abaqus sap2000的结果了,都是可以对的上,就midas那个偏的比较多

    • CJD Post authorReply

      哈哈哈哈。我逗你玩的。改天我再查查吧,这种单元肯定是5个小数点对上才是。只是被眼尖的你发现了。

  3. JacquesCHEN Reply

    节点位移
    Joint X Y
    1 0.000000000000 0.000000000000
    2 0.248234774934 -1.587075785042
    3 0.661959399823 -1.587075785042
    4 0.910194174757 0.000000000000
    5 0.786076787290 -1.086875682559
    6 0.455097087379 -1.921786037570
    7 0.124117387467 -1.086875682559

    单元轴力
    Element F
    1 75.000000000000
    2 125.000000000000
    3 75.000000000000
    4 -100.000000000000
    5 -100.000000000000
    6 -167.705098312484
    7 -55.901699437495
    8 55.901699437495
    9 55.901699437495
    10 -55.901699437495
    11 -167.705098312484

    支承反力
    Joint FX FY
    1 -0.000000000000 150.000000000000
    4 0.000000000000 150.000000000000

    这个是我的代码算出来的结果,和matlab abaqus基本一致,midas gen那个估计是考虑了什么不该考虑的东西。

    • CJD Post authorReply

      这种肯定是对得上的,只是懒得去核对,只是为了证明我写完了而已,你不需要给我列你的结果,我自己很清楚。哈哈。

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.