[数学]第三章 MATLAB有限元分析与应用

合集下载

matlab有限元常用函数

matlab有限元常用函数

matlab有限元常用函数Matlab是一种功能强大的数值计算软件,广泛应用于工程、科学和数学领域。

它提供了丰富的数学函数和工具箱,使得有限元分析成为可能。

在本文中,我们将介绍一些常用于有限元分析的Matlab函数,并逐步解释它们的用法和作用。

有限元分析(Finite Element Analysis,简称FEA)是一种工程设计和分析方法,通过对实际结构的离散化,将其划分为许多小的单元,然后利用数值方法求解它们的行为。

下面是一些常用的有限元分析函数和工具箱。

1. finemesh函数finemesh函数是Matlab的一个内置函数,用于生成网格。

它可以根据给定的节点坐标和连接关系生成一个三角或四边形网格。

finemesh函数的语法如下:mesh = finemesh(node, elem);其中,node是一个N×2的矩阵,表示节点的坐标;elem是一个M×3或M×4的矩阵,表示节点之间的连接关系。

2. assempde函数assempde函数是Matlab Partial Differential Equation Toolbox的一部分,用于组装有限元方程。

它将已知的系数和边界条件应用于有限元方程,并返回一个描述矩阵和向量的数据结构。

assempde函数的语法如下:[stiff,force] = assempde(pde,geometry,temperature,flux);其中,pde是一个描述方程系数的结构体;geometry是一个描述几何形状的结构体;temperature和flux是分别描述温度和通量边界条件的结构体。

3. assemble函数assemble函数是一个用于组装有限元方程的通用函数。

它可以使用用户提供的形状函数和积分点来计算单元刚度矩阵和力矢量。

assemble函数的语法如下:[K,F] = assemble(p,t,c,b,v);其中,p是一个N×2的矩阵,表示节点坐标;t是一个M×3的矩阵,表示节点之间的连接关系;c是一个描述系数的函数句柄;b是描述边界条件的函数句柄;v是描述体积力的函数句柄。

MATLAB在线性四面体有限元分析中的应用

MATLAB在线性四面体有限元分析中的应用

Matlab在线性立体有限元分析中的应用摘要:Matlab具有强大的运算功能,本文以线性四面体元为例,详细介绍MATLAB在刚度矩阵推导,静力结构等有限元分析中的具体应用,编写了刚度矩阵,引用边界条件以及后处理各步骤的程序,该方法可以进一步推广到其他单元甚至更复杂的结构分析中。

关键词:Matlab 有限元刚度矩阵0 引言Matlab是美国MathWork公司开发的用于数值计算,算法研究,建模仿真,实时实现的理想集成环境,因其完整的专业体系和强大的运算功能已广泛应用于工业、电子、信号处理、控制、建筑、教学等各个领域。

有限元是近代数值计算最有效方法之一.有限元法的基础是单元划分以及刚度矩阵的推导,目前,有限元分析已有一个相对固定的模式,而烦琐、复杂的矩阵运算、微分、积分是分析过程中的主要内容.通常,这种矩阵运算是由手工来完成的,工作量大,而且极易出错.利用MatLab丰富的符号运算功能,构建有限单元模型,完成刚度矩阵推导及后处理过程中的运算,不但速度快,而且准确性高。

利用Matlab编写函数M文件并在运算过程中调用,能够依据具体问题对模型进行分析运算,并能在类似问题中得到推广应用。

1 线性四面体有限元分析中的基本方程线性四面体(立体)元(liner tetrahedral(solid)element)是既有局部坐标又有总体坐标的三维有限元,用线性函数描述。

线性四面体元的系数有弹性模量E 和泊松比ν,每个线性四面体与元有四个节点并且每个节点有三个自由度,如图1所示。

这四个节点的总体坐标用111x (,y ,z )、222x (,y ,z )、333x (,y ,z )、444x (,y ,z )表示。

单元刚度矩阵给定如下:[][][][]T k V B D B = (1.1)式中V 是单元的体积,由下式给出:11122233344411611x y z x y z V x y z x y z =(1.2)图1 线性四面体(立体)元 矩阵[]B 由下式(1.3)确定:[]312431243124331122443311224431122000000000000000000000000000000000x x x x y y y y z z z z y x y x y x y x z y z y z y z y zxzxN N N N N N N N N N N N B N N N N N N N N N N N N N N N N N N N N N ∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂=∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂3440zxzx N N N ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥∂∂∂⎢⎥⎢⎥∂∂∂⎣⎦在方程(1.3)中,形函数由下式给出:111111()6N x y z V αβγδ=+++222221()6N x y z V αβγδ=+++333331()6N x y z Vαβγδ=+++444441()6N x y z Vαβγδ=+++ (1.4)在方程(1.1)中,矩阵[]D 由下式(1.5)确定:[]10001000100012000002(1)(12)120000021200002E D νννννννννννννν-⎡⎤⎢⎥-⎢⎥⎢⎥-⎢⎥-⎢⎥=⎢⎥+-⎢⎥-⎢⎥⎢⎥⎢⎥-⎢⎥⎣⎦2 建立的Matlab 函数TetrahedronElementV olume(x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4),该函数根据给出的第一个节点坐标111(,,)x y z ,第二个节点坐标222(,,)x y z ,第三个节点坐标333(,,)x y z 和第四个节点坐标444(,,)x y z 返回单元的体积。

MATLAB有限元分析与应用精选全文完整版

MATLAB有限元分析与应用精选全文完整版
function y = SpringElementForces(k,u)
%SpringElementForces This function returns the element nodal force
%
vector given the element stiffness matrix k
%
and the element nodal displacement vector u.
2019/11/28
§2-1 弹簧元
u1=U(1:2); f1=SpringElementForces(k1,u1);
f1 = -15.0000 15.0000
u2=U(2:3); f2=SpringElementForces(k2,u2);
f2 = -15.0000 15.0000
12
§3-1 弹簧元
%
modulus of elasticity E, cross-sectional
%
area A, and length L. The size of the
%
element stiffness matrix is 2 x 2.
y = [E*A/L -E*A/L ; -E*A/L E*A/L];
2019/11/28
3.1 单元刚度矩阵的形成
function y = SpringElementStiffness(k)
%SpringElementStiffness This function returns the element stiffness %matrix for a spring with stiffness k. %The size of the element stiffness matrix is 2 x 2.

第三章MATLAB有限元分析与应用

第三章MATLAB有限元分析与应用

第三章MATLAB有限元分析与应用有限元分析(Finite Element Analysis, FEA)是一种工程计算方法,用于解决结构力学和流体力学等问题。

它将一个复杂的结构分割成多个简单的离散单元,通过建立数学模型和求解方程组,得到结构的力学、热力学和流体力学等性能参数。

MATLAB是一种功能强大的数学计算软件,具有直观的用户界面和丰富的工具箱,可以方便地进行有限元分析。

本章将介绍在MATLAB中进行有限元分析的基本步骤和方法,以及一些常见的应用例子。

首先,进行有限元分析需要将结构进行离散化。

常用的离散化方法有节点法和单元法。

节点法是将结构的几何形状划分为小的节点,并在节点上进行计算。

单元法是将结构划分为多个小的单元,并在每个单元内进行计算。

在MATLAB中,可以通过创建节点和单元的矩阵来描述结构和单元的关系。

例如,创建一个2D结构形式的节点矩阵:nodes = [0 0; 1 0; 0 1; 1 1];然后,通过创建描述节点连接关系的矩阵,来定义结构的单元:elements = [1 2 3; 2 4 3];这里的每一行代表一个单元,数字表示节点的编号。

接下来,需要定义材料的力学参数和边界条件。

材料的力学参数包括弹性模量、泊松比等。

边界条件包括支座约束和加载条件。

在MATLAB中,可以通过定义力学参数和边界条件的向量来描述。

例如,定义弹性模量和泊松比的向量:E=[200e9200e9];%弹性模量nu = [0.3 0.3]; % 泊松比定义支座约束的向量(1表示固定,0表示自由):constraints = [1 1; 0 0; 0 1; 0 1];定义加载条件的向量(包括点力和面力):最后,通过求解方程组得到结构的应力和位移等结果。

在MATLAB中,可以利用有限元分析工具箱中的函数进行计算。

例如,可以使用“assem”函数将节点和单元的信息组装成方程组,并使用“solveq”函数求解方程组。

最新MATLAB在有限元分析方法中的应用PPT

最新MATLAB在有限元分析方法中的应用PPT

PlaneFrameElementStiffness:
PlaneFrameAssemble:
PlaneFrameElementForces:
PlaneFrameElementAxialDiagram:
PlaneFrameElementShearDiagram PlaneFrameElementMomentDiagram PlaneFrameInclinedSupport——(T) ............
2、可视化及强大的图形功能。
(1)绘图 (2)界面编制
3、含有多种学科的工具箱[ToolBox]以及 程序代码的公开性。
4、程序可移植性好。
二、有限元方法的步骤:
一、离散化域 二、形成单元刚度矩阵 三、集成整体刚度矩阵 四、引入边界条件 五、求解方程 六、后处理
2020/11/11

8
简例: ——平面刚架元
实例:如图所示刚架, 已知各杆EI及A均相同, 且 A=2*10-2m2, I=5*10-5m4,E=210GPa.
PlaneFrameElementStiffness:
PlaneFrameAssemble:
整体刚度矩阵:
引入边界条件:
KUF
后处理:
四、结论和展望
Simple,Powerful and free
结束语
谢谢大家聆听!!!
39
MATLAB在有限元分析方法 中的应用PPT
一、“MATLAB”
1、前置处理 2、求解器 3、后置处理
Simple,Powerful and free
有限元软件的基本模块: 1、前置处理 2、求解器 3、后置处理
C、C++、Fortran等/MATLAB

有限元数值解法在MATLAB中的实现及可视化

有限元数值解法在MATLAB中的实现及可视化

有限元数值解法在MATLAB中的实现及可视化摘要:偏微分方程的数值解法在数值分析中占有很重要的地位,很多科学技术问题的数值计算包括了偏微分方程的数值解问题。

在学习初等函数时,总是先画出它们的图形,因为图形能帮助我们了解函数的性质。

而对于偏微分方程,画出它们的图形并不容易,尤其是没有解析解的偏微分方程,画图就显得更加不容易了。

为了从偏微分方程的数学表达式中看出其所表达的图形、函数值与自变量之间的关系,通过MATLAB编程,用有限元数值解法求解了偏微分方程,并将其结果可视化。

关键词:偏微分方程;MATLAB;有限元法;可视化1 引言(Introduction)偏微分方程的数值解法在数值分析中占有很重要的地位,很多科学技术问题的数值计算包括了偏微分方程的数值解问题。

近三十多年来,它的理论和方法都有了很大的发展,而且在各个科学技术的领域中应用也愈来愈广泛。

例如,核武器的研制要有理论设计和核试验。

但核反应和核爆炸的过程是在高温高压的条件下进行的,而且巨大的能量在极短的时间内释放出来,核装置内部的细致反应过程及各个物理量的变化是根本不能用仪器测量出来的,核试验只是提供综合的数据。

而描述核反应和爆炸物理过程的数学模型是一个很复杂的非线性偏微分方程组,也根本没有办法得到这个方程组理论上的精确解。

所以发展核武器的国家都在计算机上对核反应过程进行数值模拟,这也称为“数值核实验”,它可以大大减少核试验的次数,节约大量的经费,缩短研制的周期[1]。

在学习初等函数时,总是先画出它们的图形,因为图形能帮助我们了解函数的性质。

而对于偏微分方程,画出它们的图形并不容易,尤其是没有解析解的偏微分方程,画图就显得更加不容易了。

所以本文主要研究如何用MATLAB数值求解偏微分方程,并将其数值解绘制成三维图形的形式,从而可以从复杂的数学表达式中看出其所表达的图像、函数值与自变量之间的关系[2]。

2 有限元法(Finite element method)2.1 有限元法概述有限元法的基本思想是将结构离散化,用有限个容易分析的单元来表示复杂的对象,单元之间通过有限个节点相互连接,然后根据变形协调条件综合求解。

Matlab在有限元中的应用

Matlab在有限元中的应用

基于MATLAB的有限元结构分析王剑(重庆交通大学土木建筑学院,重庆400074)摘要: MATLAB 是当今国际科学界最具影响力和活力的软件。

文章介绍了MATLAB 语言的特点,详细介绍了用MATLAB语言编写结构内力的有限元方法,并通过实例对平面钢架结构进行了内力分析。

关键词:MATLAB 有限元结构0引言MATLAB是Mathworks公司推出的,集算法开发、数值运算、符号运算以及图形处理等强大功能于一体的高级技术计算语言和交互式环境。

MATLAB意为矩阵实验室,它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言的编辑模式,代表了当今国际科学计算软件的先进水平。

有限元法的基本思想是将物体(即连续求解域)离散成有限个且按一定方式相互连接在一起的单元组合,来模拟和逼近原来的物体,从而将一个连续的无限自由度问题简化为离散的有限自由度问题求解的数值分析法。

有限元法还有一个特点是,它的理论采用矩阵形式表达。

这并不利于一般的计算机语言编制计算机程序,因为传统的计算机语言处理的对象是标量,使用矩阵形式的有限元理论时,必须把矩阵形式的公式转换成标量表示的公式。

而如果采用MATLAB,这个特点就变成了有限元法的优点,运算更便捷。

1运用MATLAB编写有限元程序的操作步骤1.1建立有限元模型建立有限元模型就是为求解有限元模型做铺垫。

需要对节点、单元以及材料的定义。

同时对约束条件、集中力、分布力进行定义。

然后在M函数文件中以矩阵或向量的形式输入单元号、节点数、材料的性质、约束条件、集中力、分布力。

1.2求解有限元模型用MATLAB写出每个单元的单元刚度矩阵。

按照刚度集成法,把各个单元的刚度矩阵分别放到整体刚度矩阵中的相应位置上,然后根据边界条件进行修正得到整体刚度矩阵。

Matlab程序在有限元热分析中的应用

Matlab程序在有限元热分析中的应用

第35卷第3期2019年6月湖北理工学院学报JOURNAL OF HUBEI POLYTECHNIC UNIVERSITYVol.35No.3Jun.2019doi:10.3969/j.issn.2095-4565.2019.03.001Matlab程序在有限元热分析中的应用徐庆华夏冈『(1.湖北理工学院机电工程学院,湖北黄石435003;2.广州鑫照智控精密制造有限公司,广东广州511442)摘要:在工业生产及科学研究中,热分析具有十分重要的作用,被广泛应用于各个方面。

在采用有限元法分析热传导问题时,需要得到分析单元的特征矩阵。

借助Matlab的符号运算功能,编写了Mat-lab符号运算程序以获取平面三角形单元的导热矩阵,解决了手工运算过程复杂、计算冗长的问题,并且运算结果与推导结果完全一致。

该方法简单实用,可有效提高热分析的准确率和求解效率。

关键词:热分析;有限元;Matlab;符号运算;导热矩阵中图分类号:TG659文献标志码:A文章编号:2095-4565(2019)03-0001-04 Matlab Procedures in Thermal Analysis by Finite Element MethodXU Qinghua,XIA Gang1(1.School of Mechanical and Electronic Engineering,Hubei Polytechnic University,Huangshi Hubei435003;2.Guangzhou Xinzhao Intelligent Control and Precision Manufacturing Co.,Ltd.,Guangzhou Guangdong511442)Abstract:Thermal analysis is of great importance and has been widely conducted in a variety of industrial manufacturing and scientific research.The characteristic matrix of element will be needed when analyzing heat conduction with finite element method(FEM).The symbolic operation program for calculating heat transmis­sion of planar triangle unit has been wriHen with symbolic operation function of MATLAB in this paper,by which complicated and long computation caused by manual deduction can be avoided and the computation re­sult is highly consistent with the deduction result.This method is simple and useful,which can improve effi­ciency and accuracy when performing various thermal analyses.Key words:thermal analysis;FEM;Matlab;symbolic computation;heat transmission matrixo引言在工业生产及科学研究过程中,热分析广泛应用于各个方面,如计算某个系统或部件的温度分布、热量交换、热梯度、热流密度、热应力、相变等,所涉及的领域包括:能源、化工、冶金、建筑、电子、航空航天、制冷、农业、船舶等[1-3]0在机床精密加工过程中,动力源发热、运动副摩擦热与加工切削热导致温度场分布不均而产生热变形,因此需要得到工件的温度场分布,并对机床进行热特性、热模态、“热-结构”耦合等分析与求解[4-5]o对于重型模锻压力机⑷,其温度场分析对保障装备安全可收稿日期=2019-03-21基金项目:湖北省发改委项目(项目编号:2018ZYYD040)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
步骤2:形成单元刚度矩阵
弹簧元
调用 function y = SpringElementStiffness(k)函数
k1=SpringElementStiffness(100);
k1 =
100 -100 -100 100
k2=SpringElementStiffness(200);
k2 = 200 -200 2018/10/4 -200 200
y = k * u;
2018/10/4
6
§3-1 4、实例计算分析应用
弹簧元
如图所示二弹簧元结构,假定k1=100kN/m,k2=200kN/m,P=15kN。 求:系统的整体刚度矩阵; 节点2、3的位移; 节点1的支反力; 每个弹簧的内力
解:
步骤1:离散化域
2018/10/4
7
§3-1 4、实例计算分析应用
function y = SpringElementForces(k,u)
%SpringElementForces This function returns the element nodal force % vector given the element stiffness matrix k % and the element nodal displacement vector u.
u2=U(2:3); f2=SpringElementForces(k2,u2); f2 = -15.0000 15.0000
12
§3k k];
2018/10/4
4
§3-1 3、MATLAB函数编写
3.2 整体刚度矩阵的形成
弹簧元
function y = SpringAssemble(K,k,i,j)
%SpringAssemble This function assembles the element stiffness % matrix k of the spring with nodes i and j into the % global stiffness matrix K. % This function returns the global stiffness matrix K % after the element stiffness matrix k is assembled.
K(i,i) = K(i,i) + k(1,1); K(i,j) = K(i,j) + k(1,2); K(j,i) = K(j,i) + k(2,1); K(j,j) = K(j,j) + k(2,2); y = K;
2018/10/4 5
§3-1 3、MATLAB函数编写
3.3 节点载荷计算
弹簧元
弹簧元
弹簧元是总体和局部坐标一致的一维有限单元 每个弹簧元有两个节点(node) 单刚矩阵为:
k k k
k k
2 2
总刚矩阵: 结构方程:
n n
K U F
单元节点力: f k u
2018/10/4 3
§3-1 3、MATLAB函数编写
步骤5:解方程
弹簧元
U=zeros(2,1); F=[0;15]; K = K(2:3,2:3);
K(1,:)=[]; K(:,1)=[];
300 200 U 2 0 200 200 U 15 3
U=K\F
2018/10/4
U=inv(K)*F
已知边界条件:
U1 0, F2 0, F3 15
0 0 F1 100 100 100 300 200 U 0 2 U 15 200 200 3 0
2018/10/4
10
§3-1 5、实例计算分析应用
3.1 单元刚度矩阵的形成
弹簧元
function y = SpringElementStiffness(k)
%SpringElementStiffness This function returns the element stiffness %matrix for a spring with stiffness k. %The size of the element stiffness matrix is 2 x 2.
第三章 MATLAB有限元分析与应用
§3-1
§3-2 §3-3 §3-4 §3-5 §3-6
弹簧元
线性杆元 二次杆元 平面桁架元 空间桁架元 梁元
2018/10/4
1
§3-1 1、有限元方法的步骤:
弹簧元
离散化域
形成单刚矩阵 集成整体刚度矩阵 引入边界条件
求解方程
后处理
2018/10/4 2
§3-1 2、基本方程
U= 0.1500 0.2250
11
§2-1 5、实例计算分析应用
步骤6:后处理
U=[0;U] U=
0 0.1500 0.2250 F=K*U F= -15.0000 0.0000 15.0000
2018/10/4
弹簧元
u1=U(1:2); f1=SpringElementForces(k1,u1); f1 = -15.0000 15.0000
-100 100 0
K = SpringAssemble(K,k2,2,3)
2018/10/4
-100 300 -200
0 -200 200
9
§3-1 4、实例计算分析应用
步骤4:引入边界条件
弹簧元
0 U1 F1 100 100 100 300 200 U F 2 2 U F 200 200 3 0 3
8
§3-1 4、实例计算分析应用
步骤3:集成整体刚度矩阵
弹簧元
调用 function y = SpringAssemble(K,k,i,j)函数
n=3; K = zeros(n,n);
K= 0 0 0
K= 100 -100 0 K= 100 -100 0
0 0 0
0 0 0 0 0 0
K = SpringAssemble(K,k1,1,2)
相关文档
最新文档