[FEM][MATLAB][有限元] FEM Modal Analysis Programming with MATLAB (Truss Element) (桁架单元模态分析编程)

坚持实干、坚持一线、坚持积累、坚持思考,坚持创新。 接着博文《[动力学] 模态分析基础 (Basics of modal analysis)》继续介绍桁架单元用于模态分析的方法。该部分内容也是 书本 《有限单元法:编程与软件应用》模态分析章节的部分内容节选。 10.2 2D桁架结构模态分析 模态分析需要的参数主要有结构的刚度矩阵和质量矩阵,其中的刚度矩阵与静力分析中的刚度矩阵相同,这里仅给出进行模态分析所需的质量矩阵等其他条件。 10.2.1 桁架单元质量矩阵 集中质量矩阵(局部坐标) 设杆材料密度为 ,单元长度为 ,截面积为 ,每个节点分担单元1/2质量,则单元质量矩阵                 (10.2‑1) 整体坐标下的质量矩阵转换 整体坐标下单元一致质量矩阵为    …

[编程][算法][游戏] 编程训练: 3 5 7 游戏开发

程序图标 ( Program Icon )      程序介绍 ( Program Introduction) 3 5 7扑克牌游戏,基本规则是,每次从一行中抽取任意张牌,最后一张牌,谁抽到谁输。 前一排年会上,容总发起了 3 5 7游戏挑战,我连续下了两盘,都输了,所以回去研究了一下,游戏十分有意思,也是很有规律的,并编写了这个小程序。现在看这个游戏,还是很简单的。感兴趣的小伙伴可以试试。 程序界面 ( Program Interface ) 下载 ( Download ) GAME 357: Game357_byCJD_20180929.7z 微信公众号 ( Wechat Subscription) 欢迎关注 “结构之旅” 微信公众号

[VBA][编程] VBA使用“TextFrame2”设置坐标轴属性出错

用VBA开发EXCEL,为修改坐标轴刻度线字体的大写,通过录制宏看到如下代码: ActiveChart.Axes(xlValue).Select With Selection.Format.TextFrame2.TextRange.Font   .Size = 12   .Bold = True End With 可以从 宏 中看见,代码是通过 TextFrame2 属性对刻度线姿态进行控制的。 但将上述代码在程序中编译,则发现报错,提示  TextFrame2 无法识别,不存在。 不知道是Bug还是什么,最后通过 TickLabels 属性解决。 微信公众号 ( Wechat Subscription) 欢迎关注 “结构之旅” 微信公众号

[FEM][有限元][编程][Matlab][Code by myself] 4节点四面体单元 (C3D4)

  (业余时间 和小伙伴一起写写有限元程序 ) 程序作者 ( Author ) JiDong Cui (崔济东) 1, XueLong Shen (沈雪龙)2 1.广州容柏生建筑结构设计事务所;2.华南理工大学建筑设计研究院 基本概念 ( Concept ) 4节点四面体线性“完全积分”单元,用Abaqus中的命名规则,即 C3D4。 问题描述( Problem Description) 悬臂梁,悬臂长度2.0m,梁高0.5m,梁宽0.2m。梁左端嵌固,受重力作用。材料弹性模量E=200000MPa,材料泊松比为0.3。 基于MATLAB编程实现该悬臂梁的弹性静力分析,采用C3D4单元进行模拟,并将MATLAB的计算结果与Abaqus、midas Gen分析结果进行对比。 MATLAB 编程 model disp stress …

[FEM][有限元][编程][Matlab][Code by myself] 平面6节点二次“完全积分”单元(CPS6)

程序作者 ( Author ) JiDong Cui (崔济东) 1, XueLong Shen (沈雪龙)2 1.广州容柏生建筑结构设计事务所; 2.华南理工大学建筑设计研究院 基本概念 ( Concept ) 平面6节点二次“完全积分”单元,用Abaqus中的命名规则,即CPS6。 问题描述( Problem Description) XZ平面内的悬臂梁,悬臂长度2.0m,梁高0.5m,梁宽0.2m。梁左端嵌固,右端受到-z方向的集中力1000kN。材料弹性模量E=200000MPa,材料泊松比为0.3。 MATLAB编程实现该悬臂梁的弹性静力分析,采用CPS6单元进行模拟,并将MATLAB的计算结果与Abaqus分析结果进行对比。 MATLAB 编程 disp stress Abaqus Model stress 单元应力对比 (MATLAB …

[FEM][有限元][编程][Matlab][Code by myself] 平面8节点二次“完全积分”单元(CPS8)

  (业余时间 和小伙伴一起写写有限元程序 ) 程序作者 ( Author ) JiDong Cui (崔济东) 1, XueLong Shen (沈雪龙)2 1.广州容柏生建筑结构设计事务所; 2.华南理工大学建筑设计研究院 基本概念 ( Concept ) 平面8节点二次“完全积分”单元,用Abaqus中的命名规则,即CPS8。 问题描述( Problem Description) XZ平面内的悬臂梁,悬臂长度2.0m,梁高0.5m,梁宽0.2m。梁左端嵌固,右端受到-z方向的集中力1000kN。材料弹性模量E=200000MPa,材料泊松比为0.3。 MATLAB编程实现该悬臂梁的弹性静力分析,采用Q4平面单元进行模拟,并将MATLAB的计算结果与Abaqus分析结果进行对比。 MATLAB 编程 disp stress Abaqus Model …

[FEM][有限元][编程][Matlab][Code by myself] 8节点六面体单元(C3D8)(8-node linear brick)

  (业余时间 和小伙伴一起写写有限元程序 ) 程序作者 ( Author ) JiDong Cui (崔济东) 1, XueLong Shen (沈雪龙)2 1.广州容柏生建筑结构设计事务所;2.华南理工大学建筑设计研究院 基本概念 ( Concept ) 8节点六面体线性“完全积分”单元,用Abaqus中的命名规则,即 C3D8。 问题描述( Problem Description) 悬臂梁,悬臂长度2.0m,梁高0.5m,梁宽0.2m。梁左端嵌固,受重力作用。材料弹性模量E=200000MPa,材料泊松比为0.3。 基于MATLAB编程实现该悬臂梁的弹性静力分析,采用C3D8单元进行模拟,并将MATLAB的计算结果与SAP2000、midas Gen分析结果进行对比。 MATLAB 编程 disp stress SAP2000 …

[FEM][有限元][编程][Matlab][Code by myself] 平面4节点线性“完全积分”单元(CPS4)

  (业余时间 和小伙伴一起写写有限元程序 ) 程序作者 ( Author ) JiDong Cui (崔济东) 1, XueLong Shen (沈雪龙)2 1.广州容柏生建筑结构设计事务所; 2.华南理工大学建筑设计研究院 基本概念 ( Concept ) 平面4节点线性“完全积分”单元,用Abaqus中的命名规则,即CPS4。 问题描述( Problem Description) XZ平面内的悬臂梁,悬臂长度2.0m,梁高0.5m,梁宽0.2m。梁左端嵌固,右端受到-z方向的集中力1000kN。材料弹性模量E=200000MPa,材料泊松比为0.3。 MATLAB编程实现该悬臂梁的弹性静力分析,采用Q4平面单元进行模拟,并将MATLAB的计算结果与SAP2000、midas Gen分析结果进行对比。 MATLAB 编程 disp stress SAP2000 …

[FEM][有限元][编程][Matlab][Code by myself] Constant Stress Triangle Element 三角形常应变单元(CST)

(  业余时间 和小伙伴一起写写有限元程序 ) 程序作者 ( Author ) JiDong Cui (崔济东) 1, XueLong Shen (沈雪龙)2 1.广州容柏生建筑结构设计事务所;2.华南理工大学建筑设计研究院 基本概念 ( Concept ) 三节点三角形单元有三个节点和三个直边,单元内应力为常数,因此称为常应变三角形单元,即Constant Stress Triangle Element(常应力三角形单元),简称CST单元。 问题描述( Problem Description) 平面内的悬臂梁,悬臂长度2.0m,梁高0.5m,梁宽0.2m。梁左端嵌固,右端受到-z方向的集中力1000kN。材料弹性模量E=200000MPa,材料泊松比为0.3。 基于MATLAB编程实现该悬臂梁的弹性静力分析,采用CST平面单元进行模拟,并将MATLAB的计算结果与SAP2000、Midas Gen分析结果进行对比。 MATLAB 编程 mesh …

[FEM][有限元][编程][Matlab][Code by myself] 2D Timoshenko梁单元

(  有空和小伙伴一起写写有限元程序 ) 程序作者 ( Author ) JiDong Cui (崔济东) 1, XueLong Shen (沈雪龙)2 1.广州容柏生建筑结构设计事务所;2.华南理工大学建筑设计研究院 基本概念 ( Concept ) 欧拉梁单元基于一定的假设(Kirchhoff假设),在梁的高度远小于其跨度的时候,可以忽略梁的横向剪切变形,此时采用欧拉梁单元进行模拟,能够得到较为满意的结果。但对于跨高比较小的深梁,梁的剪切变形将引起附加挠度,使得原来垂直于轴线的截面在变形后将不再与轴线垂直,且发生翘曲。此时需采用能够考虑横向剪切变形的梁单元进行模拟。 考虑剪切变形修正的经典梁单元和Timoshenko梁单元是两种较为常用的能够考虑梁剪切变形的梁单元,但这两种梁单元仍假定原来垂直于中面的截面在梁变形后仍保持为平面。 在列式方面,Timoshenko梁的基本特点是将挠度和截面转角分别插值。Timoshenko梁单元应用广泛,也容易据此推广到板壳单元 问题描述( Problem Description) 一榀XZ平面内的刚架结构,结构几何信息如图所示;节点1、5处为固定支座,节点4处受到+x方向P=200kN的集中力作用。结构中各杆件采用相同的材料,弹性模量E=30000MPa,梁、柱截面面积分别为0.08m2和0.16m2,梁、柱截面惯性矩分别为0.0128/12m4和0.0256/12m4,梁柱抗剪面积分别为0.0667m2和0.1333m2,材料泊松比为0.2。 基于MATLAB编程实现该框架结构的弹性静力分析,所有构件采用剪切修正梁单元进行模拟,并将基于MATLAB编程计算的结果与Abaqus分析结果进行对比。 MATLAB 编程 Abaqus 位移结果对比: 支座反力对比: 可以看出,MATLAB编程计算结果是和Abaqus计算结果是完全一致的。 …

[FEM][有限元][编程][Matlab][Code by myself] 2D剪切梁单元

(  有空和小伙伴一起写写有限元程序 ) 程序作者 ( Author ) JiDong Cui (崔济东) 1, XueLong Shen (沈雪龙)2 1.广州容柏生建筑结构设计事务所;2.华南理工大学建筑设计研究院 基本概念 ( Concept ) 欧拉梁单元基于一定的假设(Kirchhoff假设),在梁的高度远小于其跨度的时候,可以忽略梁的横向剪切变形,此时采用欧拉梁单元进行模拟,能够得到较为满意的结果。但对于跨高比较小的深梁,梁的剪切变形将引起附加挠度,使得原来垂直于轴线的截面在变形后将不再与轴线垂直,且发生翘曲。此时需采用能够考虑横向剪切变形的梁单元进行模拟。 考虑剪切变形修正的经典梁单元和Timoshenko梁单元是两种较为常用的能够考虑梁剪切变形的梁单元,但这两种梁单元仍假定原来垂直于中面的截面在梁变形后仍保持为平面。 问题描述( Problem Description) 一榀XZ平面内的刚架结构,结构几何信息如图所示;节点1、5处为固定支座,节点4处受到+x方向P=200kN的集中力作用。结构中各杆件采用相同的材料,弹性模量E=30000MPa,梁、柱截面面积分别为0.08m2和0.16m2,梁、柱截面惯性矩分别为0.0128/12m4和0.0256/12m4,梁柱抗剪面积分别为0.0667m2和0.1333m2,材料泊松比为0.2。 基于MATLAB编程实现该框架结构的弹性静力分析,所有构件采用剪切修正梁单元进行模拟,并将基于MATLAB编程计算的结果与SAP2000、midas Gen分析结果进行对比。 MATLAB 编程 SAP2000 Midas Gen 注释 ( …

[FEM][有限元][编程][Matlab][Code by myself] FEM Analysis: 2D Euler Beam Element [有限元分析: 2D欧拉梁单元]

(  有空和小伙伴一起写写有限元程序 ) 程序作者 ( Author) JiDong Cui (崔济东) 1, XueLong Shen (沈雪龙)2 1.广州容柏生建筑结构设计事务所;2.华南理工大学建筑设计研究院 问题描述( Problem Description) 节点1、5处为固定支座,节点4处受到+x方向P=200kN的集中力作用。结构中各杆件采用相同的材料,弹性模量E=30000MPa,梁、柱截面面积分别为0.08m2和0.16m2,梁、柱截面惯性矩分别为0.0128/12 m4和0.0256/12 m4。 基于MATLAB编程实现该框架结构的弹性静力分析,所有构件采用欧拉梁单元进行模拟,并将MATLAB的计算结果与SAP2000、midas Gen分析结果进行对比。 MATLAB 编程结果 SAP2000 计算结果 Midas Gen计算结果 注释 ( Comments ) 源代码已经收录到新书《有限单元法:编程与软件应用》,详见链接:http://www.jdcui.com/?page_id=9731   ( 如果您发现有错误,欢迎批评指正。邮箱:jidong_cui@163.com …

[编程笔记] 异步 I/O 的基本概念

【编程笔记】:异步 I/O 的基本概念与Ajax的异步刷新机制类似,如下图。 简而言之就是,发出请求后无需等待服务器处理结果便可继续进行其他函数调用,发出端无法准确知道服务器返回结果的时间。注重结果,不关心过程。 微信公众号 ( Wechat Subscription) 欢迎关注 “结构之旅” 微信公众号

[编程笔记] 阻塞函数与非阻塞函数

(1)阻塞函数 指的是,函数调用成后、返回结果前(处理完该函数的任务前),当前线程会挂起,直至调用函数结束返回结果,线程才能再次运行。 (2)非阻塞函数 概念与阻塞函数相对,指的是,函数调用后会立即返回(该函数的任务有没有完成没有关系),因此线程不不会挂起和等待,可继续往下运行。 微信公众号 ( Wechat Subscription) 欢迎关注 “结构之旅” 微信公众号

AutoCAD Version Number [AutoCAD版本编号]

做个备忘,写程序的时候用到版本号。从这个表也可以看出,1997年颁布的 R14 是一个AutoCAD的一个转折。R14版本以后,AutoCAD功能得到了极大的增强。 Official Name Version DWG Tag Release AutoCAD Version 1.0 1 1 AutoCAD Version 1.2 1.2 2 AutoCAD Version 1.3 1.3 3 AutoCAD Version 1.4 1.4 4 AutoCAD …